SlideShare a Scribd company logo
MULE ESB OVERVIEW
Gunjan Deshmukh
TOPICS
ā€¢ Overview
ā€¢ Mule Elements
ā€¢ The Mule Message
ā€¢ Anypoint Studio
ā€¢ Data formats
ā€¢ Anatomy of Mule Flow
ā€¢ Exchange Patterns
ā€¢ Flow Processing Strategy
ā€¢ Anypoint Platform
OVERVIEW
ā€¢ Mule ESB is a light weight Java based ESB and integration platform that allows
developers to connect applications together quickly and easily.
ā€¢ It has many in built connectors which aid in easy integration of existing systems,
regardless of different technologies.
ā€¢ It can be deployed anywhere, can integrate and orchestrate events in real time or in
batch mode. It is SEDA based.
ā€¢ SEDA is an Staged event-driven architecture and decomposes applications into set
of stages connected by queues.
ā€¢ There are two editions of Mule, community and enterprise.
MULE ESB FEATURES
ā€¢ Service creation and hosting ā€” expose and host reusable services, using the ESB as a lightweight service
container
ā€¢ Service mediation ā€” shield services from message formats and protocols, separate business logic from
messaging, and enable location-independent service calls.
ā€¢ Message routing ā€” route, filter, aggregate, and re-sequence messages based on content and rules.
ā€¢ Data transformation ā€” exchange data across varying formats and transport protocols.
ā€¢ SOA Governance ā€“ Apply security policies on the API in a configurable manner independent of the code.
ā€¢ Analytics ā€“ Provides real time analysis and monitoring capability.
ā€¢ Cloud Ready ā€“ Services can be deployed on cloud server which can be scaled both horizontally and
vertically.
MULE ELEMENTS
ā€¢ Flow
ā€¢ Mule Applications are composed of flows. Flows are initiated by a Message Source.
Flows contain message processors. Flows can send messages off to other flows and
eventually external resources.
Message
Source
Message
Processor
Message
Processor
Message
Source
Message
Processor
Message
Processor
Flow 1
Flow 2
MESSAGE PROCESSORS
ā€¢ Components: perform business logic & are typically application specific. e.g. Java,
Groovy, Python, etc.
ā€¢ Transformers: transform the message from one format to other. e.g. DOM to XML, Byte
Array to String, JSON to XML, etc.
ā€¢ Filters: accept/reject messages based on a condition. e.g. And, Expression, Not, Regex,
etc.
ā€¢ Routers: control the message flow. e.g. Choice, Scatter-Gather, Splitter, etc.
ā€¢ Endpoints: send/receive messages over a transport. e.g. HTTP, File, DB, JMS, SFDC, etc.
ā€¢ Scopes: adds functionality on embedded message processors e.g. Async, Cache,
Transactional, etc.
COMPONENTS
TRANSFORMERS
FILTERS
ROUTERS
CONNECTORS
SCOPES
THE MULE MESSAGE
Inbound
Properties
Outbound
Properties
Payload
AttachmentVariable
ExceptionPayload
Header
Message
Message Object
THE MULE MESSAGE
ā€¢ 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 has metadata about the message.
ā€¢ The message payload, which contains business specific data.
ā€¢ A mule message itself is embedded within a Mule message object. Some mule message objects may contain variables,
attachments, and exception payloads.
ā€¢ Inbound properties contain metadata, message processors have read only access. They are set from the message source
and persists throughout the flow.
ā€¢ Outbound properties are also metadata which can be read or modified. They are added by message processors. These
properties become inbound properties to next flow when sent via a transport.
ā€¢ Payload is the core of the message. It contains primary information to be processed by Mule.
ā€¢ Attachments are ancillary information to the message, similar to email attachment.
ā€¢ Variables are user-defined metadata about a message. Variables have three scopes, flow, session and record level.
ANYPOINT STUDIO
ANYPOINT STUDIO
Package Explorer
ā€¢ Access to all projects within workspace
ā€¢ Shows libraries and runtimes used in project.
ā€¢ Java files, test files, and resources used in project.
ā€¢ Flow based XML files and properties files.
Canvas
ā€¢ Shows Message flow in both graphical and XML format. Regardless of where we add processors in the application, they
will update each other.
ā€¢ XML supports auto complete based on available namespaces. Ctrl + Space
ā€¢ Global elements are defined once and referenced in the application.
ANYPOINT STUDIO
Palette
ā€¢ Contains elements which can be added in the application
ā€¢ These are categorized based on functionality.
ā€¢ Helps build application by means of creating flows.
Console
ā€¢ Anypoint Studio comes complete with an embedded Mule runtime to test applications
without leaving studio
ā€¢ Console outputs our application logs and information
DATA FORMATS
ā€¢ Applications work with various type of data.
ā€¢ This data can contain anything from customer information to Sales numbers.
ā€¢ The data often exists in many different formats.
Mule supports many data formats like XML, JSON, Streams, Binary, CSV, Objects,
Compressed, etc.
ANATOMY OF MULE FLOW
Message Source
Message Processor 1
Message Processor 2
Message Processor ..n
Exception Handling
Dedicated Thread pool
ANATOMY OF MULE FLOW
ā€¢ A flow can be called by message source or a flow reference.
ā€¢ Each flow operates on its own thread pool.
ā€¢ Exception strategy is optional, any exception not caught in the flow goes to Muleā€™s
default exception strategy.
ANATOMY OF MULE FLOW
Subflow
ā€¢ Does not have an inbound endpoint at the beginning of the flow.
ā€¢ Does not have its own thread pool.
ā€¢ Callable only by flow reference.
ā€¢ Cannot have own error handling; errors are caught in parent flow.
Private Flow
ā€¢ Same as flow but without a source at the beginning of the flow.
ā€¢ Callable by a flow reference.
ā€¢ Operates in its own thread pool.
ā€¢ Can contain its own error handling.
EXCHANGE PATTERNS
ā€¢ Provide a set of well-defined interaction patterns between the client and server.
ā€¢ Mule supports Request Response and One-Way patterns
ā€¢ Some connectors support both modes.
Request Response
ā€¢ Is used when the sender of the messages expect a response or some kind of result to return to the caller.
ā€¢ Mule applies synchronous processing strategy for this pattern.
ā€¢ Common example is web service, API.
One-Way
ā€¢ Is used when no response is expected, or when the result is sent to some other flow or system and not back to the caller.
ā€¢ Mule applies asynchronous processing strategy for this pattern.
ā€¢ Common example is JMS, logging.
FLOW PROCESSING STRATEGY
ā€¢ Determine processing model used for a flow.
ā€¢ It is set automatically by Mule, can be changed or fine-tuned.
ā€¢ Normal strategies used are synchronous and queued asynchronous.
ā€¢ It is configured based on flow exchange pattern and whether or not flow is transactional.
ā€¢ Supports fine-tuning by
ļƒ˜ Number of threads per flow
ļƒ˜ Number of messages queued
ļƒ˜ Persistent queues to store data
FLOW PROCESSING STRATEGIES
Exchange Pattern Transactional? Strategy
Request-Response Yes Synchronous
Request-Response No Synchronous
One-Way Yes Synchronous
One-Way No Queued-Asynchronous
FLOW PROCESSING STRATEGIES
ā€¢ Other strategies available:
ā€¢ Asynchronous: does not use queue, used when processing is not distributed across nodes.
ā€¢ Non-blocking ā€“ uses an evented non-blocking processing model to process requests. A
thread is used to receive message and other thread can be used to respond back to caller.
ā€¢ Queued-thread-per-processor: writes messages to queue, each processor in scope runs in
a different thread.
ā€¢ Thread per processor: no queue, each processor runs sequentially in a different thread.
ANYPOINT PLATFORM
It helps design, build and manage the entire lifecycle of APIs, applications and
products. It contains many components that enable reuse, self-service, composability,
publishing, governance, and security.
ā€¢ Design Center
ā€¢ Anypoint Exchange
ā€¢ Management Center
ā€¢ Mule Runtime Engine
ā€¢ Anypoint Connectors
ā€¢ Runtime Services

More Related Content

What's hot

Mule soa
Mule soaMule soa
Mule soa
D.Rajesh Kumar
Ā 
MuleSoft ESB Composite Source
MuleSoft ESB Composite SourceMuleSoft ESB Composite Source
MuleSoft ESB Composite Source
akashdprajapati
Ā 
Introduction to mule esb
Introduction to mule esbIntroduction to mule esb
Introduction to mule esb
Khasim Cise
Ā 
Rabbit Mq in Mule
Rabbit Mq in MuleRabbit Mq in Mule
Rabbit Mq in Mule
Mohammed246
Ā 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
Praneethchampion
Ā 
Message properties component in mule
Message properties component in muleMessage properties component in mule
Message properties component in mule
javeed_mhd
Ā 
Mule soa
Mule soaMule soa
Mule soa
Son Nguyen
Ā 
Mule ESB - Demo
Mule ESB - DemoMule ESB - Demo
Mule ESB - Demo
VirtusaPolaris
Ā 
Mule: Java Component
Mule: Java ComponentMule: Java Component
Mule: Java Component
Sulthony Hartanto
Ā 
Mule overview
Mule overviewMule overview
Mule overview
Praneethchampion
Ā 
Mule integration
Mule integrationMule integration
Mule integration
Son Nguyen
Ā 
Design flows in mule
Design flows in muleDesign flows in mule
Design flows in mule
Sindhu VL
Ā 
Mule rabbitmq
Mule rabbitmqMule rabbitmq
Mule rabbitmq
Praneethchampion
Ā 
Core concepts in mule
Core concepts in muleCore concepts in mule
Core concepts in mule
Sindhu VL
Ā 
Global Scale ESB with Mule
Global Scale ESB with MuleGlobal Scale ESB with Mule
Global Scale ESB with Mule
Andrew Kennedy
Ā 
Mule rabbit mq
Mule rabbit mqMule rabbit mq
Mule rabbit mq
D.Rajesh Kumar
Ā 
Mule concepts filters scopes_routers
Mule concepts filters scopes_routersMule concepts filters scopes_routers
Mule concepts filters scopes_routers
kunal vishe
Ā 
Mule java part-1
Mule java part-1Mule java part-1
Mule java part-1
Ravinder Singh
Ā 
Mule concepts transformers
Mule concepts transformersMule concepts transformers
Mule concepts transformers
kunal vishe
Ā 

What's hot (19)

Mule soa
Mule soaMule soa
Mule soa
Ā 
MuleSoft ESB Composite Source
MuleSoft ESB Composite SourceMuleSoft ESB Composite Source
MuleSoft ESB Composite Source
Ā 
Introduction to mule esb
Introduction to mule esbIntroduction to mule esb
Introduction to mule esb
Ā 
Rabbit Mq in Mule
Rabbit Mq in MuleRabbit Mq in Mule
Rabbit Mq in Mule
Ā 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
Ā 
Message properties component in mule
Message properties component in muleMessage properties component in mule
Message properties component in mule
Ā 
Mule soa
Mule soaMule soa
Mule soa
Ā 
Mule ESB - Demo
Mule ESB - DemoMule ESB - Demo
Mule ESB - Demo
Ā 
Mule: Java Component
Mule: Java ComponentMule: Java Component
Mule: Java Component
Ā 
Mule overview
Mule overviewMule overview
Mule overview
Ā 
Mule integration
Mule integrationMule integration
Mule integration
Ā 
Design flows in mule
Design flows in muleDesign flows in mule
Design flows in mule
Ā 
Mule rabbitmq
Mule rabbitmqMule rabbitmq
Mule rabbitmq
Ā 
Core concepts in mule
Core concepts in muleCore concepts in mule
Core concepts in mule
Ā 
Global Scale ESB with Mule
Global Scale ESB with MuleGlobal Scale ESB with Mule
Global Scale ESB with Mule
Ā 
Mule rabbit mq
Mule rabbit mqMule rabbit mq
Mule rabbit mq
Ā 
Mule concepts filters scopes_routers
Mule concepts filters scopes_routersMule concepts filters scopes_routers
Mule concepts filters scopes_routers
Ā 
Mule java part-1
Mule java part-1Mule java part-1
Mule java part-1
Ā 
Mule concepts transformers
Mule concepts transformersMule concepts transformers
Mule concepts transformers
Ā 

Similar to Mule esb overview

Mule esb naveen
Mule esb naveenMule esb naveen
Mule esb naveen
naveenkodumuri12
Ā 
Niranjan mule esb
Niranjan mule esbNiranjan mule esb
Niranjan mule esb
niranjan1234567
Ā 
Srilekha mule esb
Srilekha mule esbSrilekha mule esb
Srilekha mule esb
srilekha2820
Ā 
Mule
MuleMule
Mule
saikiran6423
Ā 
Sai mule esb batch
Sai mule esb batchSai mule esb batch
Sai mule esb batch
saikiran6423
Ā 
Esb process
Esb processEsb process
Esb process
saikiran6423
Ā 
Ashok mule esb
Ashok mule esbAshok mule esb
Ashok mule esb
askumar037
Ā 
Mule esb
Mule esb Mule esb
Mule esb
saikiran6423
Ā 
Mule
MuleMule
Mule
saikiran6423
Ā 
Mule slides
Mule slides Mule slides
Mule slides
naveenkodumuri12
Ā 
Mule esb kranthi
Mule esb kranthiMule esb kranthi
Mule esb kranthi
Earnest Stephen
Ā 
Mule esb kranthi
Mule esb kranthiMule esb kranthi
Mule esb kranthi
kranthikumar1210
Ā 
Mule concepts flows
Mule concepts flowsMule concepts flows
Mule concepts flows
kunal vishe
Ā 
Mule overview
Mule overviewMule overview
Mule overview
Manav Prasad
Ā 
An introduction to Apache Camel
An introduction to Apache CamelAn introduction to Apache Camel
An introduction to Apache Camel
Kapil Kumar
Ā 
ESB Online Training Part 2
ESB Online Training Part 2ESB Online Training Part 2
ESB Online Training Part 2
Vince Soliza
Ā 
Muleflowarchitecturepart2
Muleflowarchitecturepart2Muleflowarchitecturepart2
Muleflowarchitecturepart2
vijaynerd
Ā 
Message queue architecture
Message queue architectureMessage queue architecture
Message queue architecture
Majdee Zoabi
Ā 
Introduction to Apache Synapse
Introduction to Apache SynapseIntroduction to Apache Synapse
Introduction to Apache Synapse
Hiranya Jayathilaka
Ā 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns
WSO2
Ā 

Similar to Mule esb overview (20)

Mule esb naveen
Mule esb naveenMule esb naveen
Mule esb naveen
Ā 
Niranjan mule esb
Niranjan mule esbNiranjan mule esb
Niranjan mule esb
Ā 
Srilekha mule esb
Srilekha mule esbSrilekha mule esb
Srilekha mule esb
Ā 
Mule
MuleMule
Mule
Ā 
Sai mule esb batch
Sai mule esb batchSai mule esb batch
Sai mule esb batch
Ā 
Esb process
Esb processEsb process
Esb process
Ā 
Ashok mule esb
Ashok mule esbAshok mule esb
Ashok mule esb
Ā 
Mule esb
Mule esb Mule esb
Mule esb
Ā 
Mule
MuleMule
Mule
Ā 
Mule slides
Mule slides Mule slides
Mule slides
Ā 
Mule esb kranthi
Mule esb kranthiMule esb kranthi
Mule esb kranthi
Ā 
Mule esb kranthi
Mule esb kranthiMule esb kranthi
Mule esb kranthi
Ā 
Mule concepts flows
Mule concepts flowsMule concepts flows
Mule concepts flows
Ā 
Mule overview
Mule overviewMule overview
Mule overview
Ā 
An introduction to Apache Camel
An introduction to Apache CamelAn introduction to Apache Camel
An introduction to Apache Camel
Ā 
ESB Online Training Part 2
ESB Online Training Part 2ESB Online Training Part 2
ESB Online Training Part 2
Ā 
Muleflowarchitecturepart2
Muleflowarchitecturepart2Muleflowarchitecturepart2
Muleflowarchitecturepart2
Ā 
Message queue architecture
Message queue architectureMessage queue architecture
Message queue architecture
Ā 
Introduction to Apache Synapse
Introduction to Apache SynapseIntroduction to Apache Synapse
Introduction to Apache Synapse
Ā 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns
Ā 

Recently uploaded

How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
Ā 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
Ā 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
Ā 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
Ā 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
Ā 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
Ā 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
Ā 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
Ā 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
Ā 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
Ā 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
Ā 
ā€œTemporal Event Neural Networks: A More Efficient Alternative to the Transfor...
ā€œTemporal Event Neural Networks: A More Efficient Alternative to the Transfor...ā€œTemporal Event Neural Networks: A More Efficient Alternative to the Transfor...
ā€œTemporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
Ā 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
Ā 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
Ā 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
Ā 
PoznanĢ ACE event - 19.06.2024 Team 24 Wrapup slidedeck
PoznanĢ ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznanĢ ACE event - 19.06.2024 Team 24 Wrapup slidedeck
PoznanĢ ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
Ā 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
Ā 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
Ā 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
Ā 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
Ā 

Recently uploaded (20)

How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Ā 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Ā 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Ā 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
Ā 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Ā 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
Ā 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
Ā 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
Ā 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Ā 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
Ā 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Ā 
ā€œTemporal Event Neural Networks: A More Efficient Alternative to the Transfor...
ā€œTemporal Event Neural Networks: A More Efficient Alternative to the Transfor...ā€œTemporal Event Neural Networks: A More Efficient Alternative to the Transfor...
ā€œTemporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Ā 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Ā 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Ā 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
Ā 
PoznanĢ ACE event - 19.06.2024 Team 24 Wrapup slidedeck
PoznanĢ ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznanĢ ACE event - 19.06.2024 Team 24 Wrapup slidedeck
PoznanĢ ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Ā 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Ā 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Ā 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ā 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Ā 

Mule esb overview

  • 2. TOPICS ā€¢ Overview ā€¢ Mule Elements ā€¢ The Mule Message ā€¢ Anypoint Studio ā€¢ Data formats ā€¢ Anatomy of Mule Flow ā€¢ Exchange Patterns ā€¢ Flow Processing Strategy ā€¢ Anypoint Platform
  • 3. OVERVIEW ā€¢ Mule ESB is a light weight Java based ESB and integration platform that allows developers to connect applications together quickly and easily. ā€¢ It has many in built connectors which aid in easy integration of existing systems, regardless of different technologies. ā€¢ It can be deployed anywhere, can integrate and orchestrate events in real time or in batch mode. It is SEDA based. ā€¢ SEDA is an Staged event-driven architecture and decomposes applications into set of stages connected by queues. ā€¢ There are two editions of Mule, community and enterprise.
  • 4. MULE ESB FEATURES ā€¢ Service creation and hosting ā€” expose and host reusable services, using the ESB as a lightweight service container ā€¢ Service mediation ā€” shield services from message formats and protocols, separate business logic from messaging, and enable location-independent service calls. ā€¢ Message routing ā€” route, filter, aggregate, and re-sequence messages based on content and rules. ā€¢ Data transformation ā€” exchange data across varying formats and transport protocols. ā€¢ SOA Governance ā€“ Apply security policies on the API in a configurable manner independent of the code. ā€¢ Analytics ā€“ Provides real time analysis and monitoring capability. ā€¢ Cloud Ready ā€“ Services can be deployed on cloud server which can be scaled both horizontally and vertically.
  • 5. MULE ELEMENTS ā€¢ Flow ā€¢ Mule Applications are composed of flows. Flows are initiated by a Message Source. Flows contain message processors. Flows can send messages off to other flows and eventually external resources. Message Source Message Processor Message Processor Message Source Message Processor Message Processor Flow 1 Flow 2
  • 6. MESSAGE PROCESSORS ā€¢ Components: perform business logic & are typically application specific. e.g. Java, Groovy, Python, etc. ā€¢ Transformers: transform the message from one format to other. e.g. DOM to XML, Byte Array to String, JSON to XML, etc. ā€¢ Filters: accept/reject messages based on a condition. e.g. And, Expression, Not, Regex, etc. ā€¢ Routers: control the message flow. e.g. Choice, Scatter-Gather, Splitter, etc. ā€¢ Endpoints: send/receive messages over a transport. e.g. HTTP, File, DB, JMS, SFDC, etc. ā€¢ Scopes: adds functionality on embedded message processors e.g. Async, Cache, Transactional, etc.
  • 14. THE MULE MESSAGE ā€¢ 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 has metadata about the message. ā€¢ The message payload, which contains business specific data. ā€¢ A mule message itself is embedded within a Mule message object. Some mule message objects may contain variables, attachments, and exception payloads. ā€¢ Inbound properties contain metadata, message processors have read only access. They are set from the message source and persists throughout the flow. ā€¢ Outbound properties are also metadata which can be read or modified. They are added by message processors. These properties become inbound properties to next flow when sent via a transport. ā€¢ Payload is the core of the message. It contains primary information to be processed by Mule. ā€¢ Attachments are ancillary information to the message, similar to email attachment. ā€¢ Variables are user-defined metadata about a message. Variables have three scopes, flow, session and record level.
  • 16. ANYPOINT STUDIO Package Explorer ā€¢ Access to all projects within workspace ā€¢ Shows libraries and runtimes used in project. ā€¢ Java files, test files, and resources used in project. ā€¢ Flow based XML files and properties files. Canvas ā€¢ Shows Message flow in both graphical and XML format. Regardless of where we add processors in the application, they will update each other. ā€¢ XML supports auto complete based on available namespaces. Ctrl + Space ā€¢ Global elements are defined once and referenced in the application.
  • 17. ANYPOINT STUDIO Palette ā€¢ Contains elements which can be added in the application ā€¢ These are categorized based on functionality. ā€¢ Helps build application by means of creating flows. Console ā€¢ Anypoint Studio comes complete with an embedded Mule runtime to test applications without leaving studio ā€¢ Console outputs our application logs and information
  • 18. DATA FORMATS ā€¢ Applications work with various type of data. ā€¢ This data can contain anything from customer information to Sales numbers. ā€¢ The data often exists in many different formats. Mule supports many data formats like XML, JSON, Streams, Binary, CSV, Objects, Compressed, etc.
  • 19. ANATOMY OF MULE FLOW Message Source Message Processor 1 Message Processor 2 Message Processor ..n Exception Handling Dedicated Thread pool
  • 20. ANATOMY OF MULE FLOW ā€¢ A flow can be called by message source or a flow reference. ā€¢ Each flow operates on its own thread pool. ā€¢ Exception strategy is optional, any exception not caught in the flow goes to Muleā€™s default exception strategy.
  • 21. ANATOMY OF MULE FLOW Subflow ā€¢ Does not have an inbound endpoint at the beginning of the flow. ā€¢ Does not have its own thread pool. ā€¢ Callable only by flow reference. ā€¢ Cannot have own error handling; errors are caught in parent flow. Private Flow ā€¢ Same as flow but without a source at the beginning of the flow. ā€¢ Callable by a flow reference. ā€¢ Operates in its own thread pool. ā€¢ Can contain its own error handling.
  • 22. EXCHANGE PATTERNS ā€¢ Provide a set of well-defined interaction patterns between the client and server. ā€¢ Mule supports Request Response and One-Way patterns ā€¢ Some connectors support both modes. Request Response ā€¢ Is used when the sender of the messages expect a response or some kind of result to return to the caller. ā€¢ Mule applies synchronous processing strategy for this pattern. ā€¢ Common example is web service, API. One-Way ā€¢ Is used when no response is expected, or when the result is sent to some other flow or system and not back to the caller. ā€¢ Mule applies asynchronous processing strategy for this pattern. ā€¢ Common example is JMS, logging.
  • 23. FLOW PROCESSING STRATEGY ā€¢ Determine processing model used for a flow. ā€¢ It is set automatically by Mule, can be changed or fine-tuned. ā€¢ Normal strategies used are synchronous and queued asynchronous. ā€¢ It is configured based on flow exchange pattern and whether or not flow is transactional. ā€¢ Supports fine-tuning by ļƒ˜ Number of threads per flow ļƒ˜ Number of messages queued ļƒ˜ Persistent queues to store data
  • 24. FLOW PROCESSING STRATEGIES Exchange Pattern Transactional? Strategy Request-Response Yes Synchronous Request-Response No Synchronous One-Way Yes Synchronous One-Way No Queued-Asynchronous
  • 25. FLOW PROCESSING STRATEGIES ā€¢ Other strategies available: ā€¢ Asynchronous: does not use queue, used when processing is not distributed across nodes. ā€¢ Non-blocking ā€“ uses an evented non-blocking processing model to process requests. A thread is used to receive message and other thread can be used to respond back to caller. ā€¢ Queued-thread-per-processor: writes messages to queue, each processor in scope runs in a different thread. ā€¢ Thread per processor: no queue, each processor runs sequentially in a different thread.
  • 26. ANYPOINT PLATFORM It helps design, build and manage the entire lifecycle of APIs, applications and products. It contains many components that enable reuse, self-service, composability, publishing, governance, and security. ā€¢ Design Center ā€¢ Anypoint Exchange ā€¢ Management Center ā€¢ Mule Runtime Engine ā€¢ Anypoint Connectors ā€¢ Runtime Services

Editor's Notes

  1. Support for Scripting Languages. Web Services oriented components include REST and CXF SOAP. Introduces business logic into flows.