+ All Categories
Home > Software > Designing and building Mule applications

Designing and building Mule applications

Date post: 21-Jan-2018
Category:
Upload: mulesoft
View: 274 times
Download: 0 times
Share this document with a friend
35
All contents © MuleSoft Inc. Designing and Building Mule Applications 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 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.
Transcript
Page 1: Designing and building Mule applications

All contents © MuleSoft Inc.

Designing and Building Mule Applications

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 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.

Page 2: Designing and building Mule applications

All contents © MuleSoft Inc.

Safe harbor statement

The information in this presentation is confidential and proprietary to MuleSoft and may not bedisclosed without the permission of MuleSoft. This presentation is not subject to your licenseagreement or any other service or subscription agreement with MuleSoft. MuleSoft has no obligationto pursue any course of business outlined in this document or any related presentation, or todevelop or release any functionality mentioned therein. This document, or any related presentationand MuleSoft's strategy and possible future developments, products and or platforms directions andfunctionality are all subject to change and may be changed by MuleSoft at any time for any reasonwithout notice. The information on this document is not a commitment, promise or legal obligationto deliver any material, code or functionality. This document is provided without a warranty of anykind, either express or implied, including but not limited to, the implied warranties ofmerchantability, fitness for a particular purpose, or non-infringement. This document is forinformational purposes and may not be incorporated into a contract. MuleSoft assumes noresponsibility for errors or omissions in this document, except if such damages were caused byMuleSoft intentionally or grossly negligent.

All forward-looking statements are subject to various risks and uncertainties that could cause actualresults to differ materially from expectations. Readers are cautioned not to place undue reliance onthese forward-looking statements, which speak only as of their dates, and they should not be reliedupon in making purchasing decisions.

2

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 3: Designing and building Mule applications

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.

Page 4: Designing and building Mule applications

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.

Page 5: Designing and building Mule applications

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.

Page 6: Designing and building Mule applications

All contents © MuleSoft Inc.

Agenda

6

1.History of Mule2.API Design3.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.

Page 7: Designing and building Mule applications

All contents © MuleSoft Inc.

Agenda

7

1.History of Mule2.API Design3.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.

Page 8: Designing and building Mule applications

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.

Page 9: Designing and building Mule applications

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.

Page 10: Designing and building Mule applications

All contents © MuleSoft Inc.

SystemAPIs

Customername,

billTo-street....

New APIs are assembled using existing APIs

ProcessAPIs

ExperienceAPIs

Customer

Mobile App xAPI

Shipment

Order

Mythical Order

CustomerNAME1, STRAS

...

Mythical CustomerMythical Shipment

Shipment ShipmentOrder

opportunity.internalId, Quantity,...

OrderID, OrderDate,

QTY,...

xAPI

AccountName,

BillingStreet...

Central IT

LoB Dev/IT

Innovation Teams

Accessibility&

Ownership

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 11: Designing and building Mule applications

All contents © MuleSoft Inc.

Anypoint Platformdelivers 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.

Page 12: Designing and building Mule applications

All contents © MuleSoft Inc.

Agenda

12

1.History of Mule2.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.

Page 13: Designing and building Mule applications

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.

Page 14: Designing and building Mule applications

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.

Page 15: Designing and building Mule applications

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.

Page 16: Designing and building Mule applications

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.

Page 17: Designing and building Mule applications

All contents © MuleSoft Inc.

Consume Fragments from Exchange

17

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 18: Designing and building Mule applications

All contents © MuleSoft Inc.

Publish API Specs & Fragments to Exchange

18

• New version automaticallycreated

• Add tags

• Publish to API Manager

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 19: Designing and building Mule applications

All contents © MuleSoft Inc.

Agenda

19

1.History of Mule2.API Design3.API Implementation

–System APIs

•Database, Salesforce, SAP, ServiceNow, NetSuite, …

–Process APIs 4.But Mule isn’t just about APIs

–Batch, Pub/Sub, B2B5.Extending Mule

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 20: Designing and building Mule applications

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.

Page 21: Designing and building Mule applications

All contents © MuleSoft Inc.

Implementing a System API

SystemAPIs

• 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

CustomercustomerName,

Street...

Customername,

billTo-street....

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 22: Designing and building Mule applications

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.

Page 23: Designing and building Mule applications

All contents © MuleSoft Inc.

Implementing System APIs

SystemAPIs

AccountName,

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

CustomercustomerName,

Street...

Customername,

billTo-street....

CustomercustomerName,

Street...

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 24: Designing and building Mule applications

All contents © MuleSoft Inc.

Implementing Additional System APIs

SystemAPIs

CustomerNAME1, 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

AccountName,

BillingStreet...

Mythical Customer

CustomercustomerName,

Street...

Customername,

billTo-street....

CustomercustomerName,

Street...

CustomercustomerName,

Street...

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 25: Designing and building Mule applications

All contents © MuleSoft Inc.

Simplified Process API Implementation

SystemAPIs

ProcessAPIs

Customer

Central IT

LoB Dev/IT

Accessibility&

OwnershipCustomer

NAME1, STRAS

...

AccountName,

BillingStreet...

Mythical Customer

Customername,

billTo-street....

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 26: Designing and building Mule applications

All contents © MuleSoft Inc.

Agenda

26

1.History of Mule2.API Design3.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.

Page 27: Designing and building Mule applications

All contents © MuleSoft Inc.

B2B to API

27

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 28: Designing and building Mule applications

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.

Page 29: Designing and building Mule applications

All contents © MuleSoft Inc.

Call APIs from Batch

29

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 30: Designing and building Mule applications

All contents © MuleSoft Inc.

Agenda

30

1.History of Mule2.API Design3.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 APIs7.Extending Mule

As of April 20th, 2017 and subject to change at MuleSoft's exclusive discretion.

Page 31: Designing and building Mule applications

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.

Page 32: Designing and building Mule applications

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.

Page 33: Designing and building Mule applications

All contents © MuleSoft Inc.

Thank you

Page 34: Designing and building Mule applications

All contents © MuleSoft Inc.

Manual Deployment

34

Page 35: Designing and building Mule applications

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

56

1087

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

911

13 14

15. Deploy

16. Update tkt in SNOW

QA

16

12

15


Recommended