SlideShare a Scribd company logo
1 of 18
Mule
BASIC FUNDAMENTALS
About Mulesoft
 Mule is a lightweight integration platform
 Mule enables you to connect anything, anywhere. Rather
than creating multiple point-to-point integrations between
systems, services, APIs, and devices, you can use Mule to
intelligently manage message routing, data mapping,
orchestration, reliability, security, and scalability between
nodes. Plug other systems and applications into Mule and let it
handle all the communication between systems, enabling
you to track and monitor everything that happens
With Mule we can…….
 integrate applications or systems on premise or in the cloud
 use connectors to create SaaS integration applications
 build and expose APIs and consume APIs
 create Web services which orchestrate calls to other services
 create interfaces to expose applications for mobile consumption
 integrate B2B with solutions that are secure, efficient, and quick to
build and deploy
 shift applications onto the cloud
 connect B2B e-commerce activities
Mule Concept
 Based on the concept of Event Driven Architecture (EDA), Mule
works by responding to messages initiated by external resources (i.e.
events). At the simplest level, Mule applications accept and process
events as messages through several message processors plugged
together in a flow. Alternatively, large or streaming messages can
be processed as records in a batch job. Understanding the basic
flow architecture and batch job structure is key to understanding
Mule. Essentially every Mule flow contains a series of message
processors that accept, then process messages. Mule applications
usually contain multiple linked flows and/or batch jobs, which, in
combination, perform the integration required for your use case.
Flows
 A flow is the construct within which you link together several
individual elements to handle the receipt, processing, and eventual
routing of a message. You can connect many flows together to
build a complete application which you can then deploy on
premise, on Mule or another application server, or in the cloud.
 At the simplest level, flows are sequences of message-processing
events. A message that enters a flow may pass through a wide
variety of processors. In the example diagram below, Mule receives
the message through a request-response inbound endpoint,
transforms the content into a new format, and processes the
business logic in a component before returning a response via the
message source.
Batch Jobs
 A batch job is a top-level element in Mule which exists outside all Mule
flows. Batch jobs split large messages into records which Mule processes
asynchronously; just as flows process messages, batch jobs process
records.
 A batch job contains one or more batch steps which, in turn, contain
any number of message processors that act upon records as they
move through the batch job.
 During batch processing, you can use record-level
variables (recordvars) and MEL expressions to enrich, route or otherwise
act upon records.
 A batch job executes when triggered by either a batch executor in a
Mule flow or a message source in a batch-accepting input; when
triggered, Mule creates a new batch job instance. When all records
have passed through all batch steps, the batch job instance ends and
the batch job result can be summarized in a report to indicate which
records succeeded and which failed during processing.
Message Sources
 Mule processes messages initiated in external resources.
 Most flows or batch jobs is a receiver which receives new messages
and places them in the queue for processing. This message source
receives messages from one or more external sources, thus
triggering the execution of a flow or batch job.
Message Processors
 In Mule, message processors are grouped together by category.
 Mule transformers are the key to exchanging data between nodes, as they allow Mule to
convert message payload data to a format that another application can understand. Mule
also enables content enrichment of messages which allows you to retrieve additional data
during processing and attach it to the message.
 Mule uses components to conduct backend processes for specific business logic such as
checking customer and inventory databases. Components route messages to the correct
application, such as an order fulfillment system. Mule uses Staged Event-Driven Architecture
(SEDA) for core asynchronous message processing in flows.
 Importantly, components don’t have to have any Mule-specific code; they can simply be
POJOs, Spring beans, Java beans, Groovy scripts, or web services containing the business logic
for processing data. Components can even be developed in other languages such as Python,
JavaScript, Ruby, and PHP. Mule’s catalog of building blocks support the most commonly used
Enterprise Integration Patterns.
 Flows and batch jobs can also include filters, scopes, and routers.
 When you configure the individual elements that link together to make your flow or batch job,
you can use Mule Expression Language to extract information about the message or its
environment and instruct Mule to make processing decisions based on that information.
Elements in a Mule Flow
Mule Message Structure
 The Mule message is the data that passes through an application
via one or more flows. It consists of two main parts:
 the message header, which contains metadata about the
message
 the message payload, which contains your business-specific data.
 A Mule message is, itself, embedded within a Mule message object.
Some Mule message objects may contain variables, attachments,
and exception payloads. However, as attachments and exception
payloads are not frequently used or manipulated, this overview
document does not include details about them.
Properties and Variables
 The metadata contained in the message header consists
of properties which provide useful information about the message.
Contained within the message object, variablesrepresent data
about a message.
 Properties have two main scopes: inbound and outbound.
Outbound properties
Inbound
properties :
Variables
 Variables are user-defined metadata about a message. Variables
have three scopes:
 Flow variables apply only to the flow in which they exist.
 Session variables apply across all flows within the same application.
 Record variables apply to only to records processed as part of
a batch.
Message Payload
 The message payload is the most important part of the Mule
message because it contains the data your Mule application
processes. You may apply metadata in the message header or
message object to communicate information about your message.
THANK YOU

More Related Content

What's hot

Choice router mule
Choice router   muleChoice router   mule
Choice router muleSindhu VL
 
Mule Collection Aggregator
Mule Collection AggregatorMule Collection Aggregator
Mule Collection AggregatorAnkush Sharma
 
File component in mule
File component in muleFile component in mule
File component in muleRajkattamuri
 
Mule concepts
Mule conceptsMule concepts
Mule conceptsThang Loi
 
WebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIWebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIRajkattamuri
 
Mule edifact module
Mule edifact moduleMule edifact module
Mule edifact moduleSon Nguyen
 
Logging configuration in mule
Logging configuration in muleLogging configuration in mule
Logging configuration in muleSon Nguyen
 
File connector mule
File connector   muleFile connector   mule
File connector muleSindhu VL
 
Mule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsMule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsTechieVarsity
 
Send email attachment using smtp in mule esb
Send email attachment using smtp in mule esbSend email attachment using smtp in mule esb
Send email attachment using smtp in mule esbPraneethchampion
 
Interoperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web ServicesInteroperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web Servicesinfopapers
 
Mulesoft file connector
Mulesoft file connectorMulesoft file connector
Mulesoft file connectorkumar gaurav
 
Data weave reference documentation
Data weave reference documentationData weave reference documentation
Data weave reference documentationD.Rajesh Kumar
 
Choice component in mule
Choice component in mule Choice component in mule
Choice component in mule Rajkattamuri
 

What's hot (20)

Mule esb
Mule esbMule esb
Mule esb
 
Choice router mule
Choice router   muleChoice router   mule
Choice router mule
 
Routing in mule
Routing in muleRouting in mule
Routing in mule
 
Mule Collection Aggregator
Mule Collection AggregatorMule Collection Aggregator
Mule Collection Aggregator
 
Dataweave in studio
Dataweave in studioDataweave in studio
Dataweave in studio
 
Mule esb transformers
Mule esb transformersMule esb transformers
Mule esb transformers
 
File component in mule
File component in muleFile component in mule
File component in mule
 
Mule esb2
Mule esb2Mule esb2
Mule esb2
 
Mule concepts
Mule conceptsMule concepts
Mule concepts
 
WebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIWebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDI
 
Mule Complete Training
Mule Complete TrainingMule Complete Training
Mule Complete Training
 
Mule edifact module
Mule edifact moduleMule edifact module
Mule edifact module
 
Logging configuration in mule
Logging configuration in muleLogging configuration in mule
Logging configuration in mule
 
File connector mule
File connector   muleFile connector   mule
File connector mule
 
Mule ESB Interview or Certification questions
Mule ESB Interview or Certification questionsMule ESB Interview or Certification questions
Mule ESB Interview or Certification questions
 
Send email attachment using smtp in mule esb
Send email attachment using smtp in mule esbSend email attachment using smtp in mule esb
Send email attachment using smtp in mule esb
 
Interoperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web ServicesInteroperability issues in accessing databases through Web Services
Interoperability issues in accessing databases through Web Services
 
Mulesoft file connector
Mulesoft file connectorMulesoft file connector
Mulesoft file connector
 
Data weave reference documentation
Data weave reference documentationData weave reference documentation
Data weave reference documentation
 
Choice component in mule
Choice component in mule Choice component in mule
Choice component in mule
 

Viewers also liked

Viewers also liked (13)

Mule flow and filter
Mule flow and filterMule flow and filter
Mule flow and filter
 
WebService with VM
WebService with VMWebService with VM
WebService with VM
 
Handle exceptions in mule
Handle exceptions in muleHandle exceptions in mule
Handle exceptions in mule
 
Data weave in Mule
Data weave in MuleData weave in Mule
Data weave in Mule
 
Mule property placeholder
Mule property placeholderMule property placeholder
Mule property placeholder
 
Scatter gather flow in mule
Scatter gather flow in muleScatter gather flow in mule
Scatter gather flow in mule
 
Scatter gather in mule
Scatter gather in muleScatter gather in mule
Scatter gather in mule
 
Mule for each scope header collection
Mule for each scope header collectionMule for each scope header collection
Mule for each scope header collection
 
Idempotent filter in mule
Idempotent filter in muleIdempotent filter in mule
Idempotent filter in mule
 
Splitting with mule
Splitting with muleSplitting with mule
Splitting with mule
 
Collection Splitter Aggregator in Mule ESB
Collection Splitter Aggregator in Mule ESBCollection Splitter Aggregator in Mule ESB
Collection Splitter Aggregator in Mule ESB
 
Elements in a mule flow
Elements in a mule flowElements in a mule flow
Elements in a mule flow
 
Mule ESB Fundamentals
Mule ESB FundamentalsMule ESB Fundamentals
Mule ESB Fundamentals
 

Similar to Mule fundamentals

Similar to Mule fundamentals (20)

Mule concepts
Mule conceptsMule concepts
Mule concepts
 
Mule architecture
Mule   architectureMule   architecture
Mule architecture
 
Mule architecture
Mule   architectureMule   architecture
Mule architecture
 
Elements in a muleflow
Elements in a muleflowElements in a muleflow
Elements in a muleflow
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
mule esb
mule esbmule esb
mule esb
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mule technology
Mule technologyMule technology
Mule technology
 
Mule technology
Mule technologyMule technology
Mule technology
 
Mule technology
Mule technologyMule technology
Mule technology
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841
 
Mule esb presentation 2015
Mule esb presentation 2015Mule esb presentation 2015
Mule esb presentation 2015
 
Mule introduction
Mule introductionMule introduction
Mule introduction
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule chapter2
Mule chapter2Mule chapter2
Mule chapter2
 
Srilekha mule esb
Srilekha mule esbSrilekha mule esb
Srilekha mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule enterprise service introduction
Mule enterprise service introductionMule enterprise service introduction
Mule enterprise service introduction
 

More from prudhvivreddy

About Mule execution units
About Mule execution unitsAbout Mule execution units
About Mule execution unitsprudhvivreddy
 
Working with components
Working with componentsWorking with components
Working with componentsprudhvivreddy
 
About mule transformers
About mule transformersAbout mule transformers
About mule transformersprudhvivreddy
 
Generating the mule flow as html document
Generating the mule flow as html documentGenerating the mule flow as html document
Generating the mule flow as html documentprudhvivreddy
 
Basic example using vm component
Basic example using vm componentBasic example using vm component
Basic example using vm componentprudhvivreddy
 
Basic example using until successful component
Basic example using until successful componentBasic example using until successful component
Basic example using until successful componentprudhvivreddy
 
Basic example using message properties component
Basic example using message properties componentBasic example using message properties component
Basic example using message properties componentprudhvivreddy
 
Basic example using for each component
Basic example using for each componentBasic example using for each component
Basic example using for each componentprudhvivreddy
 
Basic example using database component
Basic example using database componentBasic example using database component
Basic example using database componentprudhvivreddy
 
Basic example using choice component
Basic example using choice componentBasic example using choice component
Basic example using choice componentprudhvivreddy
 
Basic example using file connector in anypoint studio
Basic example using file connector in anypoint studioBasic example using file connector in anypoint studio
Basic example using file connector in anypoint studioprudhvivreddy
 
Basic example using quartz component in anypoint studio
Basic example using quartz component in anypoint studioBasic example using quartz component in anypoint studio
Basic example using quartz component in anypoint studioprudhvivreddy
 
Salesforce connector Example
Salesforce connector ExampleSalesforce connector Example
Salesforce connector Exampleprudhvivreddy
 

More from prudhvivreddy (20)

About Mule execution units
About Mule execution unitsAbout Mule execution units
About Mule execution units
 
Working with components
Working with componentsWorking with components
Working with components
 
About mule transformers
About mule transformersAbout mule transformers
About mule transformers
 
About jms
About jmsAbout jms
About jms
 
Webservices
WebservicesWebservices
Webservices
 
Generating the mule flow as html document
Generating the mule flow as html documentGenerating the mule flow as html document
Generating the mule flow as html document
 
Sftp connector
Sftp connectorSftp connector
Sftp connector
 
Imap connector
Imap connectorImap connector
Imap connector
 
Ftp connector
Ftp connectorFtp connector
Ftp connector
 
Hdfs connector
Hdfs connectorHdfs connector
Hdfs connector
 
Ajax connector
Ajax connectorAjax connector
Ajax connector
 
Basic example using vm component
Basic example using vm componentBasic example using vm component
Basic example using vm component
 
Basic example using until successful component
Basic example using until successful componentBasic example using until successful component
Basic example using until successful component
 
Basic example using message properties component
Basic example using message properties componentBasic example using message properties component
Basic example using message properties component
 
Basic example using for each component
Basic example using for each componentBasic example using for each component
Basic example using for each component
 
Basic example using database component
Basic example using database componentBasic example using database component
Basic example using database component
 
Basic example using choice component
Basic example using choice componentBasic example using choice component
Basic example using choice component
 
Basic example using file connector in anypoint studio
Basic example using file connector in anypoint studioBasic example using file connector in anypoint studio
Basic example using file connector in anypoint studio
 
Basic example using quartz component in anypoint studio
Basic example using quartz component in anypoint studioBasic example using quartz component in anypoint studio
Basic example using quartz component in anypoint studio
 
Salesforce connector Example
Salesforce connector ExampleSalesforce connector Example
Salesforce connector Example
 

Recently uploaded

Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxsqpmdrvczh
 

Recently uploaded (20)

Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptx
 

Mule fundamentals

  • 2. About Mulesoft  Mule is a lightweight integration platform  Mule enables you to connect anything, anywhere. Rather than creating multiple point-to-point integrations between systems, services, APIs, and devices, you can use Mule to intelligently manage message routing, data mapping, orchestration, reliability, security, and scalability between nodes. Plug other systems and applications into Mule and let it handle all the communication between systems, enabling you to track and monitor everything that happens
  • 3. With Mule we can…….  integrate applications or systems on premise or in the cloud  use connectors to create SaaS integration applications  build and expose APIs and consume APIs  create Web services which orchestrate calls to other services  create interfaces to expose applications for mobile consumption  integrate B2B with solutions that are secure, efficient, and quick to build and deploy  shift applications onto the cloud  connect B2B e-commerce activities
  • 4. Mule Concept  Based on the concept of Event Driven Architecture (EDA), Mule works by responding to messages initiated by external resources (i.e. events). At the simplest level, Mule applications accept and process events as messages through several message processors plugged together in a flow. Alternatively, large or streaming messages can be processed as records in a batch job. Understanding the basic flow architecture and batch job structure is key to understanding Mule. Essentially every Mule flow contains a series of message processors that accept, then process messages. Mule applications usually contain multiple linked flows and/or batch jobs, which, in combination, perform the integration required for your use case.
  • 5. Flows  A flow is the construct within which you link together several individual elements to handle the receipt, processing, and eventual routing of a message. You can connect many flows together to build a complete application which you can then deploy on premise, on Mule or another application server, or in the cloud.  At the simplest level, flows are sequences of message-processing events. A message that enters a flow may pass through a wide variety of processors. In the example diagram below, Mule receives the message through a request-response inbound endpoint, transforms the content into a new format, and processes the business logic in a component before returning a response via the message source.
  • 6.
  • 7. Batch Jobs  A batch job is a top-level element in Mule which exists outside all Mule flows. Batch jobs split large messages into records which Mule processes asynchronously; just as flows process messages, batch jobs process records.  A batch job contains one or more batch steps which, in turn, contain any number of message processors that act upon records as they move through the batch job.  During batch processing, you can use record-level variables (recordvars) and MEL expressions to enrich, route or otherwise act upon records.  A batch job executes when triggered by either a batch executor in a Mule flow or a message source in a batch-accepting input; when triggered, Mule creates a new batch job instance. When all records have passed through all batch steps, the batch job instance ends and the batch job result can be summarized in a report to indicate which records succeeded and which failed during processing.
  • 8.
  • 9. Message Sources  Mule processes messages initiated in external resources.  Most flows or batch jobs is a receiver which receives new messages and places them in the queue for processing. This message source receives messages from one or more external sources, thus triggering the execution of a flow or batch job.
  • 10. Message Processors  In Mule, message processors are grouped together by category.  Mule transformers are the key to exchanging data between nodes, as they allow Mule to convert message payload data to a format that another application can understand. Mule also enables content enrichment of messages which allows you to retrieve additional data during processing and attach it to the message.  Mule uses components to conduct backend processes for specific business logic such as checking customer and inventory databases. Components route messages to the correct application, such as an order fulfillment system. Mule uses Staged Event-Driven Architecture (SEDA) for core asynchronous message processing in flows.  Importantly, components don’t have to have any Mule-specific code; they can simply be POJOs, Spring beans, Java beans, Groovy scripts, or web services containing the business logic for processing data. Components can even be developed in other languages such as Python, JavaScript, Ruby, and PHP. Mule’s catalog of building blocks support the most commonly used Enterprise Integration Patterns.  Flows and batch jobs can also include filters, scopes, and routers.  When you configure the individual elements that link together to make your flow or batch job, you can use Mule Expression Language to extract information about the message or its environment and instruct Mule to make processing decisions based on that information.
  • 11. Elements in a Mule Flow
  • 12. Mule Message Structure  The Mule message is the data that passes through an application via one or more flows. It consists of two main parts:  the message header, which contains metadata about the message  the message payload, which contains your business-specific data.  A Mule message is, itself, embedded within a Mule message object. Some Mule message objects may contain variables, attachments, and exception payloads. However, as attachments and exception payloads are not frequently used or manipulated, this overview document does not include details about them.
  • 13.
  • 14. Properties and Variables  The metadata contained in the message header consists of properties which provide useful information about the message. Contained within the message object, variablesrepresent data about a message.  Properties have two main scopes: inbound and outbound.
  • 16. Variables  Variables are user-defined metadata about a message. Variables have three scopes:  Flow variables apply only to the flow in which they exist.  Session variables apply across all flows within the same application.  Record variables apply to only to records processed as part of a batch.
  • 17. Message Payload  The message payload is the most important part of the Mule message because it contains the data your Mule application processes. You may apply metadata in the message header or message object to communicate information about your message.