SlideShare a Scribd company logo
1
Introduction
 What is Mule?
 How do you use Mule?
 What are the core Mule concepts?
 Learning mule with File endpoints
2
 Mule is an open-source Enterprise Service
Backbone (ESB)
3
 Folder to folder
 Queue to queue
 Shared memory to shared memory
 Using different types of transports
 In a flexible way
4
 An XML pipeline is a series of operation that are
performed on one or more XML files
 Examples include:
◦ validate
◦ transform
◦ prune (remove nodes)
◦ split (break a single XML file into many files)
◦ merge (join two or more files together)
5
 Focus on specifying "What" not "How"
 Empower business analysis to write machine-
readable specifications
 Hide the "How" behind services with clear
interfaces (SOA)
6
 Mule Manager
 Mule Model
 Universal Message Object (UMO)
 Endpoints
 External Applications
7
 A transport or "provider", is a set of objects that
add support to Mule to handle a specific kind of
transport or protocol
 Examples
◦ the "Email Provider" enables Mule to send and receive
messages via the SMTP, POP and IMAP protocols
8
 A connector is the object that sends and receives
messages on behalf of an endpoint.
 Connectors are bundled as part of specific
transports or providers.
 For example, the FileConnector can read and
write file system files.
9
 A router is the object that do something with
messages once they have been received by a
connector, or prior to being sent out by the
connector
10
 A filter optionally filters incoming or outgoing
messages that are coming into or going out from
a connector.
 For example, the File Provider comes with a
FilenameWildcardFilter that restricts
which files are read by the connector based on
file name patterns. For example only files with
the .xml extension can be routed.
 Filters are used in conjunction with Routers.
11
 A transformer optionally changes incoming or
outgoing messages in some way
 This is usually done to make the message format
useable by a downstream function
 Examples:
◦ the ByteArrayToString transformer converts byte arrays
into String objects.
12
 The nine stages of a
mule event
◦ first 2 – inbound
◦ middle 4 – component
◦ last 2 – outbound
13
Endpoint
(Message Receiver)
Endpoint
(Message Dispatcher)
Inbound Router
Outbound Router
Inbound Transformer
Outbound Transformer
Interceptor
Service Invocation
Interceptor
Inbound
Component
Outbound
Optional Step
 Some event triggers a
message flow
◦ A file being written into a folder
◦ A message arriving on a
message queue
◦ A record in a database
◦ Data written to a socket
14
Endpoint
(Message Dispatcher)
Inbound Router
Outbound Router
Inbound Transformer
Outbound Transformer
Interceptor
Service Invocation
Interceptor
Endpoint
(Message Receiver)
 The inbound router is the fist step in
a message. Functions typically
performed by an inbound router
◦ Filtering
◦ Remove duplicate messages
◦ Matching messages
◦ Aggregation (combining)
◦ Re-sequence data
◦ Forwarding
 See also
◦ IdempotentReceiver
◦ CorrolationAggregator
◦ CorrelationResequencer
15
Endpoint
(Message Dispatcher)
Inbound Router
Outbound Router
Inbound Transformer
Outbound Transformer
Interceptor
Service Invocation
Interceptor
Endpoint
(Message Receiver)
 Used to intercept message
flow into your service
component
 Used trigger monitor/events or
interrupt the flow of the
message
 Example: an authorization
interceptor could ensure that
the current request has the
correct credentials to invoke
the service.
16
Endpoint
(Message Dispatcher)
Inbound Router
Outbound Router
Inbound Transformer
Outbound Transformer
Service Invocation
Interceptor
Endpoint
(Message Receiver)
Interceptor
 If the inbound data is
not in the correct
format for the service
it must be transformed
at this point
17
Endpoint
(Message Receiver)
Endpoint
(Message Dispatcher)
Inbound Router
Outbound Router
Outbound Transformer
Interceptor
Service Invocation
Interceptor
Inbound Transformer
 The actual service is
performed
 In mule, this is generally a
Java object
 Service invocation can also
be a "pass through"
18
Endpoint
(Message Receiver)
Endpoint
(Message Dispatcher)
Inbound Router
Outbound Router
Outbound Transformer
Interceptor
Interceptor
Inbound Transformer
Service Invocation
 Dispatching the data
to all the relevant
endpoints
19
Endpoint
(Message Receiver)
Endpoint
(Message Dispatcher)
Inbound Router
Outbound Transformer
Interceptor
Interceptor
Inbound Transformer
Service Invocation
Outbound Router
 Any transformations that needs
to be done on the message after
a service has been performed on
the message can be executed
before it is put into the endpoint
 See Also
◦ EnvelopeInterceptor
20
Endpoint
(Message Receiver)
Endpoint
(Message Dispatcher)
Inbound Router
Interceptor
Interceptor
Inbound Transformer
Service Invocation
Outbound Router
Outbound Transformer
 Mule has a special way of handling non-happy path processing.
This is called an "Exception Strategy" but is it really just and
exception path and there is very little strategy involved.
 There are three places you can associate an exception strategy
◦ connector
◦ component
◦ model (set for all components in a model)
21
<exception-strategy
className=org.mule.impl.DefaultComponentExceptionStrategy">
<endpoint address="file:///c:/mule-class/error"/>
</exception-strategy>
22
We want all invalid documents to be moved into the
error folder.
<?xml version="1.0" encoding="UTF-8"?>
<Data>
<Element1>Hello World!</Element1>
<Element2>String</Element2>
<Element3>String</Element3>
<DansInvalidDataElement>This is Dans invalid data element</DansInvalidDataElement>
</Data>
23
XML Schema validation will generate an error message
when it gets to the fourth invalid data element:
Given the following XML Schema file:
<outbound-router>
<router className="org.mule.routing.outbound.FilteringXmlMessageSplitter">
<endpoint
address="file:///c:/mule-class/out?outputPattern=$[ORIGINALNAME]"/>
<properties>
<property name="validateSchema" value="true"/>
<property name="externalSchemaLocation"
value="file:///c:/mule-class/labs/07-validate/my-
schema.xsd"/>
</properties>
</router>
</outbound-router>
24
To validate the XML Schema, just add two properties:
1) tell it to validate the document
2) tell it what file to use and where to find it
 Anypoint Platform is a complete integration platform for SOA, REST,
SaaS integration, and APIs. Anypoint Platform provides a
comprehensive set of tools and services, which includes Anypoint
Studio, Mule ESB, and Anypoint Platform’s online access point.
Anypoint Platform’s access point includes access to Runtime Manager,
API development tools, and more.
 Anypoint Platform helps you achieve your integration goals:
 Integrate SaaS and on-premises applications
 Modernize legacy services
 Orchestrate business processes and services
 Design and publish APIs for end customers, B2B, or mobile - APIs can
be in SOA or REST
 Create API proxies to separate implementation from orchestration
 Engage consumers of your API
 Govern APIs with runtime policies
25
26

More Related Content

PPTX
Mule property placeholder
PPTX
File component in mule demo
PPTX
Choice component in mule demo
PPTX
Mule concepts connectors
PPTX
Choice component in mule
PPTX
Mulesoft file connector
PPTX
Filter expression in mule
PPTX
Using XSLT in Mule
Mule property placeholder
File component in mule demo
Choice component in mule demo
Mule concepts connectors
Choice component in mule
Mulesoft file connector
Filter expression in mule
Using XSLT in Mule

What's hot (11)

PPTX
xslt in mule
PPTX
Choice router mule
PPTX
How to get http query parameters in mule
PPTX
File component in mule
PPTX
Mule agent notifications
PPTX
For each component in mule
PPTX
Mule esb
PPTX
Mule esb transformers
PPTX
Runing batch job in mule
PPTX
For each component in mule demo
PPTX
Message properties component in Mule
xslt in mule
Choice router mule
How to get http query parameters in mule
File component in mule
Mule agent notifications
For each component in mule
Mule esb
Mule esb transformers
Runing batch job in mule
For each component in mule demo
Message properties component in Mule
Ad

Viewers also liked (13)

PPTX
Microcomputadora
PPTX
Evaluation q 7
PPTX
3 Elements to Setting Goals By: Dustin Hatfield
PPTX
Reforma Tributaria ADF
DOCX
The Rag Doll
PDF
Angeles cobo segundo parcial
PPTX
Фестиваль мовних таборів
PPTX
PDF
Ppt ch06
PPTX
Paguina web
PPTX
"Город на віконці"
PPTX
10 клас
PDF
Drugi rok Zwinnej Łodzi
Microcomputadora
Evaluation q 7
3 Elements to Setting Goals By: Dustin Hatfield
Reforma Tributaria ADF
The Rag Doll
Angeles cobo segundo parcial
Фестиваль мовних таборів
Ppt ch06
Paguina web
"Город на віконці"
10 клас
Drugi rok Zwinnej Łodzi
Ad

Similar to Mule introduction (20)

PPT
Mule overview
PPT
Mule overview
PPT
ESB introduction using Mule
PPT
Overview of Mule
PPT
PPTX
Mule esb
PPT
Mule Overview
PPT
Mule overview
PPT
Mule overview
PPT
Overview of Mule
PPTX
Mule esb usecase
PPT
Mule enterprise service bus
PPTX
Mule overview
ODP
Red Hat Open Day JBoss Fuse
PPT
Mulesoft ppt
PDF
Mule esb and_relevant_components
PPT
Mule overview
PPTX
Elements in a mule flow
PPTX
Elements in a muleflow
PDF
Exchange @ The Core with CTE Solutions
Mule overview
Mule overview
ESB introduction using Mule
Overview of Mule
Mule esb
Mule Overview
Mule overview
Mule overview
Overview of Mule
Mule esb usecase
Mule enterprise service bus
Mule overview
Red Hat Open Day JBoss Fuse
Mulesoft ppt
Mule esb and_relevant_components
Mule overview
Elements in a mule flow
Elements in a muleflow
Exchange @ The Core with CTE Solutions

Recently uploaded (20)

PPTX
Introduction to pro and eukaryotes and differences.pptx
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PPTX
Introduction to Building Materials
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PPTX
History, Philosophy and sociology of education (1).pptx
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PPTX
Unit 4 Computer Architecture Multicore Processor.pptx
PDF
Τίμαιος είναι φιλοσοφικός διάλογος του Πλάτωνα
PPTX
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
advance database management system book.pdf
PDF
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
PPTX
Virtual and Augmented Reality in Current Scenario
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PDF
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
PDF
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Introduction to pro and eukaryotes and differences.pptx
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Introduction to Building Materials
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
A powerpoint presentation on the Revised K-10 Science Shaping Paper
History, Philosophy and sociology of education (1).pptx
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
LDMMIA Reiki Yoga Finals Review Spring Summer
Unit 4 Computer Architecture Multicore Processor.pptx
Τίμαιος είναι φιλοσοφικός διάλογος του Πλάτωνα
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
advance database management system book.pdf
Vision Prelims GS PYQ Analysis 2011-2022 www.upscpdf.com.pdf
Virtual and Augmented Reality in Current Scenario
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
David L Page_DCI Research Study Journey_how Methodology can inform one's prac...
CISA (Certified Information Systems Auditor) Domain-Wise Summary.pdf
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf

Mule introduction

  • 2.  What is Mule?  How do you use Mule?  What are the core Mule concepts?  Learning mule with File endpoints 2
  • 3.  Mule is an open-source Enterprise Service Backbone (ESB) 3
  • 4.  Folder to folder  Queue to queue  Shared memory to shared memory  Using different types of transports  In a flexible way 4
  • 5.  An XML pipeline is a series of operation that are performed on one or more XML files  Examples include: ◦ validate ◦ transform ◦ prune (remove nodes) ◦ split (break a single XML file into many files) ◦ merge (join two or more files together) 5
  • 6.  Focus on specifying "What" not "How"  Empower business analysis to write machine- readable specifications  Hide the "How" behind services with clear interfaces (SOA) 6
  • 7.  Mule Manager  Mule Model  Universal Message Object (UMO)  Endpoints  External Applications 7
  • 8.  A transport or "provider", is a set of objects that add support to Mule to handle a specific kind of transport or protocol  Examples ◦ the "Email Provider" enables Mule to send and receive messages via the SMTP, POP and IMAP protocols 8
  • 9.  A connector is the object that sends and receives messages on behalf of an endpoint.  Connectors are bundled as part of specific transports or providers.  For example, the FileConnector can read and write file system files. 9
  • 10.  A router is the object that do something with messages once they have been received by a connector, or prior to being sent out by the connector 10
  • 11.  A filter optionally filters incoming or outgoing messages that are coming into or going out from a connector.  For example, the File Provider comes with a FilenameWildcardFilter that restricts which files are read by the connector based on file name patterns. For example only files with the .xml extension can be routed.  Filters are used in conjunction with Routers. 11
  • 12.  A transformer optionally changes incoming or outgoing messages in some way  This is usually done to make the message format useable by a downstream function  Examples: ◦ the ByteArrayToString transformer converts byte arrays into String objects. 12
  • 13.  The nine stages of a mule event ◦ first 2 – inbound ◦ middle 4 – component ◦ last 2 – outbound 13 Endpoint (Message Receiver) Endpoint (Message Dispatcher) Inbound Router Outbound Router Inbound Transformer Outbound Transformer Interceptor Service Invocation Interceptor Inbound Component Outbound Optional Step
  • 14.  Some event triggers a message flow ◦ A file being written into a folder ◦ A message arriving on a message queue ◦ A record in a database ◦ Data written to a socket 14 Endpoint (Message Dispatcher) Inbound Router Outbound Router Inbound Transformer Outbound Transformer Interceptor Service Invocation Interceptor Endpoint (Message Receiver)
  • 15.  The inbound router is the fist step in a message. Functions typically performed by an inbound router ◦ Filtering ◦ Remove duplicate messages ◦ Matching messages ◦ Aggregation (combining) ◦ Re-sequence data ◦ Forwarding  See also ◦ IdempotentReceiver ◦ CorrolationAggregator ◦ CorrelationResequencer 15 Endpoint (Message Dispatcher) Inbound Router Outbound Router Inbound Transformer Outbound Transformer Interceptor Service Invocation Interceptor Endpoint (Message Receiver)
  • 16.  Used to intercept message flow into your service component  Used trigger monitor/events or interrupt the flow of the message  Example: an authorization interceptor could ensure that the current request has the correct credentials to invoke the service. 16 Endpoint (Message Dispatcher) Inbound Router Outbound Router Inbound Transformer Outbound Transformer Service Invocation Interceptor Endpoint (Message Receiver) Interceptor
  • 17.  If the inbound data is not in the correct format for the service it must be transformed at this point 17 Endpoint (Message Receiver) Endpoint (Message Dispatcher) Inbound Router Outbound Router Outbound Transformer Interceptor Service Invocation Interceptor Inbound Transformer
  • 18.  The actual service is performed  In mule, this is generally a Java object  Service invocation can also be a "pass through" 18 Endpoint (Message Receiver) Endpoint (Message Dispatcher) Inbound Router Outbound Router Outbound Transformer Interceptor Interceptor Inbound Transformer Service Invocation
  • 19.  Dispatching the data to all the relevant endpoints 19 Endpoint (Message Receiver) Endpoint (Message Dispatcher) Inbound Router Outbound Transformer Interceptor Interceptor Inbound Transformer Service Invocation Outbound Router
  • 20.  Any transformations that needs to be done on the message after a service has been performed on the message can be executed before it is put into the endpoint  See Also ◦ EnvelopeInterceptor 20 Endpoint (Message Receiver) Endpoint (Message Dispatcher) Inbound Router Interceptor Interceptor Inbound Transformer Service Invocation Outbound Router Outbound Transformer
  • 21.  Mule has a special way of handling non-happy path processing. This is called an "Exception Strategy" but is it really just and exception path and there is very little strategy involved.  There are three places you can associate an exception strategy ◦ connector ◦ component ◦ model (set for all components in a model) 21
  • 23. <?xml version="1.0" encoding="UTF-8"?> <Data> <Element1>Hello World!</Element1> <Element2>String</Element2> <Element3>String</Element3> <DansInvalidDataElement>This is Dans invalid data element</DansInvalidDataElement> </Data> 23 XML Schema validation will generate an error message when it gets to the fourth invalid data element: Given the following XML Schema file:
  • 24. <outbound-router> <router className="org.mule.routing.outbound.FilteringXmlMessageSplitter"> <endpoint address="file:///c:/mule-class/out?outputPattern=$[ORIGINALNAME]"/> <properties> <property name="validateSchema" value="true"/> <property name="externalSchemaLocation" value="file:///c:/mule-class/labs/07-validate/my- schema.xsd"/> </properties> </router> </outbound-router> 24 To validate the XML Schema, just add two properties: 1) tell it to validate the document 2) tell it what file to use and where to find it
  • 25.  Anypoint Platform is a complete integration platform for SOA, REST, SaaS integration, and APIs. Anypoint Platform provides a comprehensive set of tools and services, which includes Anypoint Studio, Mule ESB, and Anypoint Platform’s online access point. Anypoint Platform’s access point includes access to Runtime Manager, API development tools, and more.  Anypoint Platform helps you achieve your integration goals:  Integrate SaaS and on-premises applications  Modernize legacy services  Orchestrate business processes and services  Design and publish APIs for end customers, B2B, or mobile - APIs can be in SOA or REST  Create API proxies to separate implementation from orchestration  Engage consumers of your API  Govern APIs with runtime policies 25
  • 26. 26