SlideShare a Scribd company logo
1 of 14
Mule Application Architecture
2
At the simplest level, a Mule application accepts a succession of messages one at a
time, then processes each message in the order it was received. Sometimes, the
Mule application returns a different message to the source of the original message.
In other cases, the application might send the message in its original or altered form
to one or more third parties. Or it might do both.
3
In still other cases, Mule might decline to process (i.e., discard) a message
that does not meet specific criteria.
Advanced Mule applications support much more than this sort of linear
message processing. You can set up mechanisms to handle different
messages in different ways. Furthermore, you can construct applications that
utilize:
various queue-and-thread arrangements to maximize throughput
clusters or transactions to maximize reliability
object-stores to ensure data persistence
These represent only a fraction of the features you can implement through a
Mule application.
Mule ESB Flow
About Mule Execution Units
Mule ESB supports several architectural approaches to
building Mule applications. MuleSoft recommends Flows, the
newest, most convenient, and most flexible architecture as the
preferred execution unit for most Mule applications. However,
Services and Patterns remain available, and may prove useful
in certain specialized situations.
Flows
Flows qualify as the most powerful and flexible way to
construct Mule applications, because you can arrange pre-
packaged building blocks into a sequence of message-
processing events that fit your application needs exactly.
5
Flows can be particularly effective for the following use
cases:
Simple integration tasks
Scheduled data processing
Integration with either Cloud-based or on-premise applications
Event processing where multiple services need to be orchestrated
Mule provides a pair of interfaces for building flows. You can choose between:
typing lines of XML code into your application configuration file
using Studio, Mule’s drag-and-drop graphical interface, to arrange building
block icons into visual sequences
Subsequently, you configure these sequenced building blocks using other Studio
graphical tools, or by editing XML code in the configuration file.
Patterns
Mule ESB provides Configuration Patterns, which are optimized for several
common message-processing cases. If your application falls outside the area
covered by the group of Configuration Patterns bundled with Mule, you should
use a flow instead.
Mule Component Overview
 About Flows
 At the simplest level, Flows are sequences of message-
processing events. As the following schematic illustrates, a
message that enters a flow may be:
 validated (filtered)
 enriched (appended)
 transformed into a new format, sometimes by first
undergoing transformation into an intermediate format
 processed by custom-coded business logic
 logged to a database
 evaluated to determine what sort of response gets
returned to party that submitted the original message
What is Sub Flow
 Sub flow is a private flow which is not
visible outside the current flow
 A sub flow will not have a Message Source.
Mule Message
The Data received from an endpoint is packaged
into an object that implements Mule Message
interface
A Message contains:
A series of properties that vary
depending on the transport
Variables – Session and Flow
The data as the payload of the Mule Message.
If required, a series of attachments
that can accompany the message.
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.
Mule Message Properties and Variables
 Message header consists of properties which
provide useful information about the message
 variables represent data about a message
 Properties have two main
scopes: inbound and outbound.Inbound Property
 Inbound Message properties are immutable
 Automatically generated by the message source and
cannot be set or manipulated by the user.
 They contain metadata specific to the message
source that prevents scrambling of data formats or
other processing mishaps later in the message's
lifecycle.
 A message retains its inbound properties only for
the duration of the flow; when a message passes out
of a flow, its inbound properties do not follow it
Inbound Message properties
 They contain metadata similar to that of an inbound
property, but an outbound property is applied after
the message enters the flow
 Outbound properties can be set automatically by
Mule or a user can set them by manually inserting
one or more transformer elements in the flow.
 If the message is passed to a new flow via a flow-
ref rather than a connector, the outbound properties
remain outbound properties rather than being
converted to inbound properties
Outbound Message Properties

More Related Content

What's hot

What's hot (19)

Introduce Mule
Introduce MuleIntroduce Mule
Introduce Mule
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule batch processing
Mule  batch processingMule  batch processing
Mule batch processing
 
Mule esb 3.8
Mule esb 3.8Mule esb 3.8
Mule esb 3.8
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
 
Elements in a mule flow
Elements in a mule flowElements in a mule flow
Elements in a mule flow
 
Mule chapter2
Mule chapter2Mule chapter2
Mule chapter2
 
Mule concepts
Mule conceptsMule concepts
Mule concepts
 
Mule Tcat server
Mule  Tcat serverMule  Tcat server
Mule Tcat server
 
Developing Oracle Connector Using Mule
Developing Oracle Connector Using MuleDeveloping Oracle Connector Using Mule
Developing Oracle Connector Using Mule
 
ESB introduction using Mule
ESB introduction using MuleESB introduction using Mule
ESB introduction using Mule
 
Why Mulesoft ?
Why Mulesoft ?Why Mulesoft ?
Why Mulesoft ?
 
Integration with Microsoft Azure using Mule ESB
Integration with Microsoft Azure using Mule ESBIntegration with Microsoft Azure using Mule ESB
Integration with Microsoft Azure using Mule ESB
 
Mule technology
Mule technologyMule technology
Mule technology
 
Generating Documentation for Mule ESB Application
Generating Documentation for Mule ESB ApplicationGenerating Documentation for Mule ESB Application
Generating Documentation for Mule ESB Application
 
Mule Esb Batch process
Mule Esb Batch processMule Esb Batch process
Mule Esb Batch process
 
Features of Mule SAP Connector
Features of Mule SAP ConnectorFeatures of Mule SAP Connector
Features of Mule SAP Connector
 
Deploying mule applications
Deploying mule applicationsDeploying mule applications
Deploying mule applications
 

Viewers also liked

Mule mule runtime engine
Mule  mule runtime engineMule  mule runtime engine
Mule mule runtime engine
himajareddys
 

Viewers also liked (20)

Mule batch processing
Mule  batch processingMule  batch processing
Mule batch processing
 
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
 
Mule with rabbit mq
Mule with rabbit mq Mule with rabbit mq
Mule with rabbit mq
 
Simple groovy example in mule
Simple groovy example in muleSimple groovy example in mule
Simple groovy example in mule
 
Mule Overview
Mule OverviewMule Overview
Mule Overview
 
Mule security
Mule  securityMule  security
Mule security
 
Webservice with vm in mule
Webservice with vm in muleWebservice with vm in mule
Webservice with vm 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
 
Mule deploying a cloud hub application
Mule deploying a cloud hub applicationMule deploying a cloud hub application
Mule deploying a cloud hub application
 
Rabbit mq in mule
Rabbit mq in muleRabbit mq in mule
Rabbit mq in mule
 
Deploying and running in mule standalone
Deploying and running in mule standaloneDeploying and running in mule standalone
Deploying and running in mule standalone
 
Mule execution
Mule executionMule execution
Mule execution
 
Automatic documentation with mule
Automatic documentation with mule Automatic documentation with mule
Automatic documentation with mule
 
Mule any point exchange
Mule any point exchangeMule any point exchange
Mule any point exchange
 
4. mule real-world-old
4. mule real-world-old4. mule real-world-old
4. mule real-world-old
 
Integration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESBIntegration with Sercice-Now using Mule ESB
Integration with Sercice-Now using Mule ESB
 
Mule saas
Mule  saasMule  saas
Mule saas
 
Mule mule runtime engine
Mule  mule runtime engineMule  mule runtime engine
Mule mule runtime engine
 
Mule esb Data Weave
Mule esb Data WeaveMule esb Data Weave
Mule esb Data Weave
 
Timer Interceptor in Mule part 2
Timer Interceptor in Mule part 2Timer Interceptor in Mule part 2
Timer Interceptor in Mule part 2
 

Similar to Mule architecture (20)

Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
 
Elements in a muleflow
Elements in a muleflowElements in a muleflow
Elements in a muleflow
 
Mule
MuleMule
Mule
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule enterprise service introduction
Mule enterprise service introductionMule enterprise service introduction
Mule enterprise service introduction
 
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 technology
Mule technologyMule technology
Mule technology
 
Mule technology
Mule technologyMule technology
Mule technology
 
Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mule architecture
Mule architectureMule architecture
Mule architecture
 
Mule architecture
Mule architectureMule architecture
Mule architecture
 
Mule architecture
Mule architectureMule architecture
Mule architecture
 
Mule architecture
Mule architectureMule architecture
Mule architecture
 
mule esb
mule esbmule esb
mule esb
 
Mulesoft ppt
Mulesoft pptMulesoft ppt
Mulesoft ppt
 

More from himajareddys

More from himajareddys (20)

Domain in mule
Domain in muleDomain in mule
Domain in mule
 
Exception handling basics in mule
Exception handling basics in muleException handling basics in mule
Exception handling basics in mule
 
Mule integration patterns
Mule    integration patternsMule    integration patterns
Mule integration patterns
 
Design considerations in MULE ESB
Design considerations in MULE ESBDesign considerations in MULE ESB
Design considerations in MULE ESB
 
Mule esb flow processing strategies
Mule esb flow processing strategiesMule esb flow processing strategies
Mule esb flow processing strategies
 
Mule architecture styles
Mule architecture stylesMule architecture styles
Mule architecture styles
 
Integration patterns in muleesb
Integration patterns in muleesbIntegration patterns in muleesb
Integration patterns in muleesb
 
Security components in mule esb
Security components in mule esbSecurity components in mule esb
Security components in mule esb
 
Cloudhub
CloudhubCloudhub
Cloudhub
 
Anypoint platform highlights
Anypoint platform highlightsAnypoint platform highlights
Anypoint platform highlights
 
Mule 3.4 features
Mule 3.4 featuresMule 3.4 features
Mule 3.4 features
 
Mule soa
Mule soaMule soa
Mule soa
 
Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400
 
Mule addcontactsintosalesforce
Mule addcontactsintosalesforceMule addcontactsintosalesforce
Mule addcontactsintosalesforce
 
Mule anypointconnector dev kit
Mule anypointconnector dev kitMule anypointconnector dev kit
Mule anypointconnector dev kit
 
Dataweavewithflowreflookup
DataweavewithflowreflookupDataweavewithflowreflookup
Dataweavewithflowreflookup
 
Mule anypointenterprisesecurity
Mule anypointenterprisesecurityMule anypointenterprisesecurity
Mule anypointenterprisesecurity
 
Connector for ibm® as400
Connector for ibm® as400Connector for ibm® as400
Connector for ibm® as400
 
Netsuite open air connector
Netsuite open air connectorNetsuite open air connector
Netsuite open air connector
 
Enterprise resources and mule
Enterprise resources and muleEnterprise resources and mule
Enterprise resources and mule
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Mule architecture

  • 2. 2 At the simplest level, a Mule application accepts a succession of messages one at a time, then processes each message in the order it was received. Sometimes, the Mule application returns a different message to the source of the original message. In other cases, the application might send the message in its original or altered form to one or more third parties. Or it might do both.
  • 3. 3 In still other cases, Mule might decline to process (i.e., discard) a message that does not meet specific criteria. Advanced Mule applications support much more than this sort of linear message processing. You can set up mechanisms to handle different messages in different ways. Furthermore, you can construct applications that utilize: various queue-and-thread arrangements to maximize throughput clusters or transactions to maximize reliability object-stores to ensure data persistence These represent only a fraction of the features you can implement through a Mule application.
  • 4. Mule ESB Flow About Mule Execution Units Mule ESB supports several architectural approaches to building Mule applications. MuleSoft recommends Flows, the newest, most convenient, and most flexible architecture as the preferred execution unit for most Mule applications. However, Services and Patterns remain available, and may prove useful in certain specialized situations. Flows Flows qualify as the most powerful and flexible way to construct Mule applications, because you can arrange pre- packaged building blocks into a sequence of message- processing events that fit your application needs exactly.
  • 5. 5 Flows can be particularly effective for the following use cases: Simple integration tasks Scheduled data processing Integration with either Cloud-based or on-premise applications Event processing where multiple services need to be orchestrated Mule provides a pair of interfaces for building flows. You can choose between: typing lines of XML code into your application configuration file using Studio, Mule’s drag-and-drop graphical interface, to arrange building block icons into visual sequences Subsequently, you configure these sequenced building blocks using other Studio graphical tools, or by editing XML code in the configuration file.
  • 6. Patterns Mule ESB provides Configuration Patterns, which are optimized for several common message-processing cases. If your application falls outside the area covered by the group of Configuration Patterns bundled with Mule, you should use a flow instead. Mule Component Overview
  • 7.  About Flows  At the simplest level, Flows are sequences of message- processing events. As the following schematic illustrates, a message that enters a flow may be:  validated (filtered)  enriched (appended)  transformed into a new format, sometimes by first undergoing transformation into an intermediate format  processed by custom-coded business logic  logged to a database  evaluated to determine what sort of response gets returned to party that submitted the original message
  • 8.
  • 9. What is Sub Flow  Sub flow is a private flow which is not visible outside the current flow  A sub flow will not have a Message Source.
  • 10. Mule Message The Data received from an endpoint is packaged into an object that implements Mule Message interface A Message contains: A series of properties that vary depending on the transport Variables – Session and Flow The data as the payload of the Mule Message. If required, a series of attachments that can accompany the message.
  • 11. 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.
  • 12. Mule Message Properties and Variables  Message header consists of properties which provide useful information about the message  variables represent data about a message  Properties have two main scopes: inbound and outbound.Inbound Property
  • 13.  Inbound Message properties are immutable  Automatically generated by the message source and cannot be set or manipulated by the user.  They contain metadata specific to the message source that prevents scrambling of data formats or other processing mishaps later in the message's lifecycle.  A message retains its inbound properties only for the duration of the flow; when a message passes out of a flow, its inbound properties do not follow it Inbound Message properties
  • 14.  They contain metadata similar to that of an inbound property, but an outbound property is applied after the message enters the flow  Outbound properties can be set automatically by Mule or a user can set them by manually inserting one or more transformer elements in the flow.  If the message is passed to a new flow via a flow- ref rather than a connector, the outbound properties remain outbound properties rather than being converted to inbound properties Outbound Message Properties