Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Designing and building Mule applications

1,045 views

Published on

It's just as important that you follow the right approach to integration, as well as using the right technology. We'll start this session by exploring MuleSoft's API-led approach to connectivity, and then use demos to bring to life the tooling in the Anypoint Platform that allows you to design and build your integration applications quickly and easily.

Published in: Software
  • Be the first to comment

Designing and building Mule applications

  1. 1. All contents © MuleSoft Inc. Designing and Building Mule ApplicationsIt's just as important that you follow the right approach to integration, as well as using the right technology. We'll start this session by exploring MuleSoft's API-led approach to connectivity, and then use demos to bring to life the tooling in Anypoint Platform that allows you to design and build your integration applications quickly and easily. Brett Roeder - Principal Client Architect - Office of the CTO, Americas As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  2. 2. All contents © MuleSoft Inc. Safe harbor statement The information in this presentation is confidential and proprietary to MuleSoft and may not be disclosed without the permission of MuleSoft. This presentation is not subject to your license agreement or any other service or subscription agreement with MuleSoft. MuleSoft has no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation and MuleSoft's strategy and possible future developments, products and or platforms directions and functionality are all subject to change and may be changed by MuleSoft at any time for any reason without notice. The information on this document is not a commitment, promise or legal obligation to deliver any material, code or functionality. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. This document is for informational purposes and may not be incorporated into a contract. MuleSoft assumes no responsibility for errors or omissions in this document, except if such damages were caused by MuleSoft intentionally or grossly negligent. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions. 2 As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  3. 3. All contents © MuleSoft Inc. Agenda 1. Designing and building Mule applications 2. Deploying, running and managing Mule applications – The Mule runtime – Deployment models – Deploying Mule applications – Managing Mule applications 3. Governing and sharing assets 3 As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  4. 4. All contents © MuleSoft Inc. New operating model emphasizes consumption Production Reusable assets Central IT / LoB IT Consumption Feedback and usage metrics LoB IT, developers Discoverable Self-service 4 As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  5. 5. All contents © MuleSoft Inc. Producing Assets Production Reusable assets Central IT / LoB IT Consumption Feedback and usage metrics LoB IT, developers 5 Discoverable Self-service As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  6. 6. All contents © MuleSoft Inc. Agenda 6 1.History of Mule 2.API Design 3.API Implementation –System APIs •Database, Salesforce, SAP, ServiceNow, NetSuite, … –Process APIs 4.But Mule isn’t just about APIs –Batch –Pub/Sub –B2B 5.Extending Mule As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  7. 7. All contents © MuleSoft Inc. Agenda 7 1.History of Mule 2.API Design 3.API Implementation –System APIs •Database, Salesforce, SAP, ServiceNow, NetSuite, … –Process APIs 4.But Mule isn’t just about APIs –Batch, Pub/Sub, B2B 5.Extending Mule As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  8. 8. All contents © MuleSoft Inc. The only single product connectivity platform 8 Anypoint Platform ESB/ SOA - Legacy modernization - Web services SaaS - Data synchronization - Process orchestration - Batch loading APIs - Mobility - B2B - Internal APIs - Microservices As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  9. 9. All contents © MuleSoft Inc. 1 IDE, 1 Run-Time, 1 Admin 9 As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  10. 10. All contents © MuleSoft Inc. System APIs Customer name, billTo-street .... New APIs are assembled using existing APIs Process APIs Experience APIs Customer Mobile App xAPI Shipment Order Mythical Order Customer NAME1, STRAS ... Mythical CustomerMythical Shipment Shipment Shipment Order opportunity.internalId , Quantity,... Order ID, OrderDate, QTY,... xAPI Account Name, BillingStreet ... Central IT LoB Dev/IT Innovation Teams Accessibility & Ownership As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  11. 11. All contents © MuleSoft Inc. Anypoint Platform delivers a full suite of capabilities for managing the whole API lifecycle As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  12. 12. All contents © MuleSoft Inc. Agenda 12 1.History of Mule 2.API Design 3.API Implementation –System APIs •Database, Salesforce, SAP, ServiceNow, NetSuite, … –Process APIs 4.But Mule isn’t just about APIs –Batch, Pub/Sub, B2B 5.Extending Mule As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  13. 13. All contents © MuleSoft Inc. 2. API Design 13 • Define a Canonical API (Customer) • RAML –Reusing RAML Fragments • Libraries: Address, Phone, email, … • Traits • API Console • Mock Service As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  14. 14. All contents © MuleSoft Inc. RESTful API Modeling Language • Open standard • Clean, clear, powerful • 100% natural & organic • Open, vendor-neutral • Practical • Pattern-based design • JSON/XML with one RAML Write once. Use many. Creative laziness 14 As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  15. 15. All contents © MuleSoft Inc. API Designed with CURRENT API Designer 15 • Can – leverage RAML 1.0 – define APIs to support XML & JSON from one spec • Cannot – publish fragments/specs to Exchange – search for fragments As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  16. 16. All contents © MuleSoft Inc. API Designed with NEW API Designer 16 • Can – leverage RAML 1.0 – define APIs to support XML & JSON from one spec • Cannot – publish fragments/specs to Exchange – search for fragments As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  17. 17. All contents © MuleSoft Inc. Consume Fragments from Exchange 17 As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  18. 18. All contents © MuleSoft Inc. Publish API Specs & Fragments to Exchange 18 • New version automatically created • Add tags • Publish to API Manager As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  19. 19. All contents © MuleSoft Inc. Agenda 19 1.History of Mule 2.API Design 3.API Implementation –System APIs •Database, Salesforce, SAP, ServiceNow, NetSuite, … –Process APIs 4.But Mule isn’t just about APIs –Batch, Pub/Sub, B2B 5.Extending Mule As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  20. 20. All contents © MuleSoft Inc. 3. API Implementation 20 •Implement the Customer MySQL System API •Implement the Customer Process API •Test the API with MUnit •Deploy the API •Auto register your API As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  21. 21. All contents © MuleSoft Inc. Implementing a System API System APIs • No system talks directly to any other system • API defined using your terminology • Embedded governance & security • Minimizes disruption caused by new releases • Generate a Test Suite Mythical Customer Customer customerName, Street ... Customer name, billTo-street .... As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  22. 22. All contents © MuleSoft Inc. Test an API With MUnit you can: ● Create your Mule test by writing Mule code ● Create your Mule test by writing Java code ● Disable flow inbound endpoints ● Disable endpoint connectors ● Mock outbound endpoints ● Mock message processors ● Spy any message processor ● Verify message processor calls ● Create not only unit tests but also integration tests in a local environment — MUnit allows you to start a local FTP/SFTP or DB server ● Call the Mule client from Mule code ● Assert flow exceptions ● Enable or disable particular tests ● See assertion/error reports with Mule stack trace ● Extend the MUnit framework with plugins ● Check visual coverage in Studio ● Debug your tests with Studio As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  23. 23. All contents © MuleSoft Inc. Implementing System APIs System APIs Account Name, BillingStreet ... • No system talks directly to any other system • API defined using your terminology • Embedded governance & security • Minimizes disruption caused by new releases • Generate a Test Suite Mythical Customer Customer customerName, Street ... Customer name, billTo-street .... Customer customerName, Street ... As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  24. 24. All contents © MuleSoft Inc. Implementing Additional System APIs System APIs Customer NAME1, STRAS ... • No system talks directly to any other system • API defined using your terminology • Embedded governance & security • Minimizes disruption caused by new releases • Generate a Test Suite Account Name, BillingStreet ... Mythical Customer Customer customerName, Street ... Customer name, billTo-street .... Customer customerName, Street ... Customer customerName, Street ... As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  25. 25. All contents © MuleSoft Inc. Simplified Process API Implementation System APIs Process APIs Customer Central IT LoB Dev/IT Accessibility & Ownership Customer NAME1, STRAS ... Account Name, BillingStreet ... Mythical Customer Customer name, billTo-street .... As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  26. 26. All contents © MuleSoft Inc. Agenda 26 1.History of Mule 2.API Design 3.API Implementation –Review other System APIs built on common Customer API spec •Database, SAP, ServiceNow, NetSuite, … –Review the Customer Aggregation Process 4.But Mule isn’t just about APIs –Batch, Pub/Sub, B2B 5.Extending Mule As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  27. 27. All contents © MuleSoft Inc. B2B to API 27 As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  28. 28. All contents © MuleSoft Inc. Pub/Sub to API 28 • JMS – TIBCO EMS – Sun JMS – Oracle – ... • Websphere MQ • Active MQ • RabbitMQ • AMQP • MSMQ • and more! As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  29. 29. All contents © MuleSoft Inc. Call APIs from Batch 29 As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  30. 30. All contents © MuleSoft Inc. Agenda 30 1.History of Mule 2.API Design 3.API Implementation 4.Review other System APIs built on common Customer API spec –Database, SAP, ServiceNow, NetSuite, … 5.Review the Customer Aggregation Process 6.But Mule isn’t just about APIs 7.Extending Mule As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  31. 31. All contents © MuleSoft Inc. Extending Mule 31 Extending Mule • Extending Components – Transformers, filters, routers, ... • Custom Message Processors • Creating Example Archetypes • Creating a Custom XML Namespace • Creating Module Archetypes • Creating Catalog Archetypes • Creating Project Archetypes • Creating Transports • Creating Custom Routers DevKit (Custom Connectors) ● Visual design and implementation using Anypoint Studio with an Eclipse-based interface that simplifies and speeds up development. ● Maven support. ● Connector packaging tools. ● Authentication support for multiple types of authentication, including OAuth and username and password authentication. ● DataSense support to acquire remote metadata. ● Extensive testing capability. ● Examples, training, and support to simplify development startup. ● Batch, Query Pagination, and DataSense Query Language support. As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  32. 32. All contents © MuleSoft Inc. Don’t forget 32 •docs.MuleSoft.com •MuleSoft.com/resources •Champions.MuleSoft.com •forums.MuleSoft.com •blogs.MuleSoft.com •MuleSoft.U for free Essentials training & certification •Next Session: –2:30pm Running and Managing Mule Applications –Location BREAKOUT ROOM 1 - YERBA BUENA 1-3 As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.
  33. 33. All contents © MuleSoft Inc. Thank you
  34. 34. All contents © MuleSoft Inc. Manual Deployment 34
  35. 35. All contents © MuleSoft Inc. 1. Check-out project 2. Import to Studio 3. Develop 4. Create tests 5. Create build wrapper 6. Check-in project Continuous Integration & Deployment UAT DEV PROD Developer Run Mock Tests Run Unit Tests Run Mock Tests Run Unit Tests Create and Run Tests 1 2 3 4 5 6 108 7 35 Functional Tests Create Mocked Tests Create Unit Tests 7. Trigger CI 8. Build & deploy 9. Run test 10. Push to repo 11. Open tkt in SNOW 12. Deploy 13. Repeat test in UAT 14. Update tkt in SNOW 9 11 13 14 15. Deploy 16. Update tkt in SNOW QA 16 12 15

×