SlideShare a Scribd company logo
1 of 10
Mule ESB
Kiet Bui
Purpose and Objectives
Mule – Brief Introduction
Special Features
Messaging Framework
Architecture
Logical Data Flow
Summery
Mule – Brief Introduction
 Mule is a lightweight Java-based messaging framework that allows you to quickly
and easily connect your applications and enable them to exchange data.
 Mule uses a service-oriented architecture (SOA), enabling easy integration of your
existing systems. Regardless of the different technologies the applications use,
including JMS, Web Services, JDBC, HTTP, and more, Mule seamlessly handles
interactions among them all. The Mule framework is highly scalable, allowing you
to start small and connect more applications over time. Mule manages all the
interactions between applications and components transparently, regardless of
whether they exist in the same virtual machine or over the Internet, and
regardless of the underlying transport protocol used.
 Mule is based on ideas from Enterprise Service Bus (ESB) architectures. The key
advantage of an ESB is that it allows different applications to communicate with
each other by acting as a transit system for carrying data between applications
within your intranet or across the Internet. There are currently several commercial
ESB implementations on the market. However, many of these provide limited
functionality or are built on top of an existing application server or messaging
server, locking you into that specific vendor. Mule is vendor-neutral, so different
vendor implementations can plug in to it. You are never locked in to a specific
vendor when you use Mule.
Special Features
 Mule components can be any type you want. You can easily integrate anything
from a "plain old Java object" (POJO) to a component from another framework.
 Mule and the ESB model enable significant component reuse. Unlike other
frameworks, Mule allows you to use your existing components without any
changes. Components do not require any Mule-specific code to run in Mule,
and there is no programmatic API required. The business logic is kept
completely separate from the messaging logic.
 Messages can be in any format from SOAP to binary image files. Mule does not
force any design constraints on the architect, such as XML messaging or WSDL
service contracts.
 You can deploy Mule in a variety of topologies, not just ESB. Because it is
lightweight and embeddable, Mule can dramatically decrease time to market
and increases productivity for projects to provide secure, scalable applications
that are adaptive to change and can scale up or down as needed.
Messaging Framework
 The advantage of networking your applications is that one application can send data to another
application. However, many applications don't have the ability to read or process data coming
from another application. Mule solves this problem by providing a messaging framework that
reads, transforms, and sends data as messages between applications. A message is simply a packet
of data that can be handled and sent between applications on a specific channel (also called a
queue).
 At the simplest level, when you connect applications to Mule, it reads data from one application,
transforms it as needed so it can be read by the target application, and sends it to that application.
This allows you to integrate all types of applications, even those that were not built to be
integrated.
 Mule is a messaging framework based on ideas from Enterprise Service Bus (ESB) architectures.
The key advantage of an ESB is that it allows different applications to communicate with each other
by acting as a transit system for carrying data between applications within your intranet or across
the Internet. The heart of the system is the message bus, which routes messages between
applications.
 One difference between Mule and a traditional ESB is that Mule only converts data as needed.
With a typical ESB, you have to create an adapter for every application you connect to the bus and
convert the application’s data into a single common messaging format. The development of these
adapters and the time required to process every message requires a lot of time and effort. Mule
eliminates the need for a single message format. The information is sent on any communication
channel, such as HTTP or JMS, and is translated only as needed along the way. Therefore, Mule
increases performance and reduces development time over a traditional ESB.
Architecture
 Mule is based on the concept of a service-oriented architecture (SOA). The SOA approach to
development allows IT organizations to create applications by bringing together components
of application functionality, or services. Services are discrete sets of functionality that are
completely separate from each other but can work together on the same objects. For
example, if you need to process invoices, you might have one service that merges customer
data from a database into the invoice and another service that checks the inventory database
to see if the items on the invoice are in stock.
 Because each service stands alone, services can be used as building blocks for multiple
processes and do not have to be recreated for each type of process or message. For example,
the service that merges customer data onto the invoice could also be used to merge customer
data onto statements, letters, or other documents. This modular approach allows you to
create functionality once and re-use it as many times as needed, streamlining development.
 Using SOA, businesses can realize dramatic savings on development costs and can rapidly
adapt to changing business conditions by reusing and reconfiguring existing services in
developing new applications. SOA also enables better integration of enterprise IT resources,
including previously isolated application silos and legacy systems. Mule fully supports the SOA
approach and orchestrates communication among the services, allowing you to easily tie all
these applications together.
Logical Data Flow
Logical Data Flow (Continue…)
1. The customer places an order on the company web site, and an invoice is created as an XML
form and submitted to http://myfirm.com/orders.
2. The HTTP transport receives the XML invoice and wraps it in a Mule message. The Customer
Data service’s inbound endpoint is set to http://myfirm.com/orders, and its inbound router
specifies that the message must contain a Java object, so the HTTP transport prepares to
transform the XML invoice and dispatch the message to the service.
3. The XML to Object transformer converts the XML invoice into a Java object. Note that the
next service and the final application also expect Java objects, so no further transformers are
used in this scenario.
4. The transport passes the message with its transformed payload to the Customer Data
service.
5. The Customer Data service component queries the master customer database to pull
additional data about the customer and updates the invoice with the data.
6. The HTTP transport uses the outbound router configuration to determine that it must now
dispatch the message to http://myfirm.com/verify.
7. The HTTP transport uses the inbound router configuration of the Inventory Verification
service to receive the message and pass it to the service component.
8. The service component updates the invoice with an ID code of the warehouse that has all
the items on the invoice in stock.
9. The outbound endpoint specifies a JMS address, so the JMS transport dispatches the
message to the order fulfillment application, which picks up orders on that address.
Summery
Mule provides a messaging framework that enables exchange of data among
applications. The application functionality is wrapped as a service, which includes a
service component (the business logic that processes the data), routers (which use
endpoints to specify where to send the message), and other configuration settings.
Transports carry the messages on different channels from service to service, and
transformers convert the messages and data as needed along the way.
Mule is not a replacement for existing application frameworks. Instead, Mule
leverages many open source projects such as Apache CXF, Spring, and ActiveMQ
and fills a void in enterprise Java development where an application requires
complex interactions with a variety of systems on a variety of platforms. Mule
makes light work of wiring systems together in a robust, decoupled environment
with little to no code and provides the necessary support to route, transport, and
transform data to and from these systems.
Summery
Mule provides a messaging framework that enables exchange of data among
applications. The application functionality is wrapped as a service, which includes a
service component (the business logic that processes the data), routers (which use
endpoints to specify where to send the message), and other configuration settings.
Transports carry the messages on different channels from service to service, and
transformers convert the messages and data as needed along the way.
Mule is not a replacement for existing application frameworks. Instead, Mule
leverages many open source projects such as Apache CXF, Spring, and ActiveMQ
and fills a void in enterprise Java development where an application requires
complex interactions with a variety of systems on a variety of platforms. Mule
makes light work of wiring systems together in a robust, decoupled environment
with little to no code and provides the necessary support to route, transport, and
transform data to and from these systems.

More Related Content

What's hot

What's hot (19)

Cloud hub architecture
Cloud hub architectureCloud hub architecture
Cloud hub architecture
 
Enterprise resources and mule
Enterprise resources and muleEnterprise resources and mule
Enterprise resources and mule
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule architecture
Mule architectureMule architecture
Mule architecture
 
Overview of Mule Esb
Overview of Mule EsbOverview of Mule Esb
Overview of Mule Esb
 
Mule esb overview
Mule esb overviewMule esb overview
Mule esb overview
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mule in a nutshell
Mule in a nutshellMule in a nutshell
Mule in a nutshell
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Anypoint data gateway
Anypoint data gatewayAnypoint data gateway
Anypoint data gateway
 
Mule mule runtime engine
Mule  mule runtime engineMule  mule runtime engine
Mule mule runtime engine
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
 
Introduce Mule
Introduce MuleIntroduce Mule
Introduce Mule
 
Mule anypoint connector dev kit
Mule  anypoint connector dev kitMule  anypoint connector dev kit
Mule anypoint connector dev kit
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule Esb
 
Mule security
Mule  securityMule  security
Mule security
 
Mule technology
Mule technologyMule technology
Mule technology
 

Similar to Mule ESB (20)

mule esb
mule esbmule esb
mule esb
 
Mule esb
Mule esbMule esb
Mule esb
 
Introduction to Mule ESB
Introduction to Mule ESBIntroduction to Mule ESB
Introduction to Mule ESB
 
Mule introduction
Mule introductionMule introduction
Mule introduction
 
Mule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh g
 
Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
 
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
 
Mule esb-architecture
Mule esb-architectureMule esb-architecture
Mule esb-architecture
 
Architecture of mule
Architecture of muleArchitecture of mule
Architecture of mule
 
Mule soft
Mule softMule soft
Mule soft
 
Mule esb presentation 2015
Mule esb presentation 2015Mule esb presentation 2015
Mule esb presentation 2015
 
Mule architecture
Mule   architectureMule   architecture
Mule architecture
 
Mule architecture
Mule   architectureMule   architecture
Mule architecture
 
MuleEsb
MuleEsbMuleEsb
MuleEsb
 
Mule execution units
Mule execution unitsMule execution units
Mule execution units
 
Mule esb
Mule esbMule esb
Mule esb
 
Complete integration with mule esb
Complete integration with mule esbComplete integration with mule esb
Complete integration with mule esb
 

More from Bui Kiet

Asynchronous javascript and xml
Asynchronous javascript and xmlAsynchronous javascript and xml
Asynchronous javascript and xmlBui Kiet
 
Jquery tutorial
Jquery tutorialJquery tutorial
Jquery tutorialBui Kiet
 
Real time data integration best practices and architecture
Real time data integration best practices and architectureReal time data integration best practices and architecture
Real time data integration best practices and architectureBui Kiet
 
Jms introduction
Jms introductionJms introduction
Jms introductionBui Kiet
 
Wso2 in action
Wso2 in actionWso2 in action
Wso2 in actionBui Kiet
 
Easy javascript
Easy javascriptEasy javascript
Easy javascriptBui Kiet
 
JavaScript Tutorial
JavaScript  TutorialJavaScript  Tutorial
JavaScript TutorialBui Kiet
 
Java basic tutorial
Java basic tutorialJava basic tutorial
Java basic tutorialBui Kiet
 
Java Tutorial | My Heart
Java Tutorial | My HeartJava Tutorial | My Heart
Java Tutorial | My HeartBui Kiet
 
Technology presentations
Technology presentationsTechnology presentations
Technology presentationsBui Kiet
 
Soap In Mule
Soap In MuleSoap In Mule
Soap In MuleBui Kiet
 
Mule Esb Batch process
Mule Esb Batch processMule Esb Batch process
Mule Esb Batch processBui Kiet
 
Mule solutions for data integration
Mule solutions for data integrationMule solutions for data integration
Mule solutions for data integrationBui Kiet
 
Mulesoft corporate template final
Mulesoft corporate template  final Mulesoft corporate template  final
Mulesoft corporate template final Bui Kiet
 
Biztalk vs mulesoft
Biztalk vs mulesoft Biztalk vs mulesoft
Biztalk vs mulesoft Bui Kiet
 
Mule Sap Integration
Mule Sap IntegrationMule Sap Integration
Mule Sap IntegrationBui Kiet
 
Why Mulesoft ?
Why Mulesoft ?Why Mulesoft ?
Why Mulesoft ?Bui Kiet
 
Mule Integration Simplified
Mule Integration SimplifiedMule Integration Simplified
Mule Integration SimplifiedBui Kiet
 
Enjoy Munit with Mule
Enjoy Munit with MuleEnjoy Munit with Mule
Enjoy Munit with MuleBui Kiet
 
.Net architecture with mule soft
.Net architecture with mule soft.Net architecture with mule soft
.Net architecture with mule softBui Kiet
 

More from Bui Kiet (20)

Asynchronous javascript and xml
Asynchronous javascript and xmlAsynchronous javascript and xml
Asynchronous javascript and xml
 
Jquery tutorial
Jquery tutorialJquery tutorial
Jquery tutorial
 
Real time data integration best practices and architecture
Real time data integration best practices and architectureReal time data integration best practices and architecture
Real time data integration best practices and architecture
 
Jms introduction
Jms introductionJms introduction
Jms introduction
 
Wso2 in action
Wso2 in actionWso2 in action
Wso2 in action
 
Easy javascript
Easy javascriptEasy javascript
Easy javascript
 
JavaScript Tutorial
JavaScript  TutorialJavaScript  Tutorial
JavaScript Tutorial
 
Java basic tutorial
Java basic tutorialJava basic tutorial
Java basic tutorial
 
Java Tutorial | My Heart
Java Tutorial | My HeartJava Tutorial | My Heart
Java Tutorial | My Heart
 
Technology presentations
Technology presentationsTechnology presentations
Technology presentations
 
Soap In Mule
Soap In MuleSoap In Mule
Soap In Mule
 
Mule Esb Batch process
Mule Esb Batch processMule Esb Batch process
Mule Esb Batch process
 
Mule solutions for data integration
Mule solutions for data integrationMule solutions for data integration
Mule solutions for data integration
 
Mulesoft corporate template final
Mulesoft corporate template  final Mulesoft corporate template  final
Mulesoft corporate template final
 
Biztalk vs mulesoft
Biztalk vs mulesoft Biztalk vs mulesoft
Biztalk vs mulesoft
 
Mule Sap Integration
Mule Sap IntegrationMule Sap Integration
Mule Sap Integration
 
Why Mulesoft ?
Why Mulesoft ?Why Mulesoft ?
Why Mulesoft ?
 
Mule Integration Simplified
Mule Integration SimplifiedMule Integration Simplified
Mule Integration Simplified
 
Enjoy Munit with Mule
Enjoy Munit with MuleEnjoy Munit with Mule
Enjoy Munit with Mule
 
.Net architecture with mule soft
.Net architecture with mule soft.Net architecture with mule soft
.Net architecture with mule soft
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Mule ESB

  • 2. Purpose and Objectives Mule – Brief Introduction Special Features Messaging Framework Architecture Logical Data Flow Summery
  • 3. Mule – Brief Introduction  Mule is a lightweight Java-based messaging framework that allows you to quickly and easily connect your applications and enable them to exchange data.  Mule uses a service-oriented architecture (SOA), enabling easy integration of your existing systems. Regardless of the different technologies the applications use, including JMS, Web Services, JDBC, HTTP, and more, Mule seamlessly handles interactions among them all. The Mule framework is highly scalable, allowing you to start small and connect more applications over time. Mule manages all the interactions between applications and components transparently, regardless of whether they exist in the same virtual machine or over the Internet, and regardless of the underlying transport protocol used.  Mule is based on ideas from Enterprise Service Bus (ESB) architectures. The key advantage of an ESB is that it allows different applications to communicate with each other by acting as a transit system for carrying data between applications within your intranet or across the Internet. There are currently several commercial ESB implementations on the market. However, many of these provide limited functionality or are built on top of an existing application server or messaging server, locking you into that specific vendor. Mule is vendor-neutral, so different vendor implementations can plug in to it. You are never locked in to a specific vendor when you use Mule.
  • 4. Special Features  Mule components can be any type you want. You can easily integrate anything from a "plain old Java object" (POJO) to a component from another framework.  Mule and the ESB model enable significant component reuse. Unlike other frameworks, Mule allows you to use your existing components without any changes. Components do not require any Mule-specific code to run in Mule, and there is no programmatic API required. The business logic is kept completely separate from the messaging logic.  Messages can be in any format from SOAP to binary image files. Mule does not force any design constraints on the architect, such as XML messaging or WSDL service contracts.  You can deploy Mule in a variety of topologies, not just ESB. Because it is lightweight and embeddable, Mule can dramatically decrease time to market and increases productivity for projects to provide secure, scalable applications that are adaptive to change and can scale up or down as needed.
  • 5. Messaging Framework  The advantage of networking your applications is that one application can send data to another application. However, many applications don't have the ability to read or process data coming from another application. Mule solves this problem by providing a messaging framework that reads, transforms, and sends data as messages between applications. A message is simply a packet of data that can be handled and sent between applications on a specific channel (also called a queue).  At the simplest level, when you connect applications to Mule, it reads data from one application, transforms it as needed so it can be read by the target application, and sends it to that application. This allows you to integrate all types of applications, even those that were not built to be integrated.  Mule is a messaging framework based on ideas from Enterprise Service Bus (ESB) architectures. The key advantage of an ESB is that it allows different applications to communicate with each other by acting as a transit system for carrying data between applications within your intranet or across the Internet. The heart of the system is the message bus, which routes messages between applications.  One difference between Mule and a traditional ESB is that Mule only converts data as needed. With a typical ESB, you have to create an adapter for every application you connect to the bus and convert the application’s data into a single common messaging format. The development of these adapters and the time required to process every message requires a lot of time and effort. Mule eliminates the need for a single message format. The information is sent on any communication channel, such as HTTP or JMS, and is translated only as needed along the way. Therefore, Mule increases performance and reduces development time over a traditional ESB.
  • 6. Architecture  Mule is based on the concept of a service-oriented architecture (SOA). The SOA approach to development allows IT organizations to create applications by bringing together components of application functionality, or services. Services are discrete sets of functionality that are completely separate from each other but can work together on the same objects. For example, if you need to process invoices, you might have one service that merges customer data from a database into the invoice and another service that checks the inventory database to see if the items on the invoice are in stock.  Because each service stands alone, services can be used as building blocks for multiple processes and do not have to be recreated for each type of process or message. For example, the service that merges customer data onto the invoice could also be used to merge customer data onto statements, letters, or other documents. This modular approach allows you to create functionality once and re-use it as many times as needed, streamlining development.  Using SOA, businesses can realize dramatic savings on development costs and can rapidly adapt to changing business conditions by reusing and reconfiguring existing services in developing new applications. SOA also enables better integration of enterprise IT resources, including previously isolated application silos and legacy systems. Mule fully supports the SOA approach and orchestrates communication among the services, allowing you to easily tie all these applications together.
  • 8. Logical Data Flow (Continue…) 1. The customer places an order on the company web site, and an invoice is created as an XML form and submitted to http://myfirm.com/orders. 2. The HTTP transport receives the XML invoice and wraps it in a Mule message. The Customer Data service’s inbound endpoint is set to http://myfirm.com/orders, and its inbound router specifies that the message must contain a Java object, so the HTTP transport prepares to transform the XML invoice and dispatch the message to the service. 3. The XML to Object transformer converts the XML invoice into a Java object. Note that the next service and the final application also expect Java objects, so no further transformers are used in this scenario. 4. The transport passes the message with its transformed payload to the Customer Data service. 5. The Customer Data service component queries the master customer database to pull additional data about the customer and updates the invoice with the data. 6. The HTTP transport uses the outbound router configuration to determine that it must now dispatch the message to http://myfirm.com/verify. 7. The HTTP transport uses the inbound router configuration of the Inventory Verification service to receive the message and pass it to the service component. 8. The service component updates the invoice with an ID code of the warehouse that has all the items on the invoice in stock. 9. The outbound endpoint specifies a JMS address, so the JMS transport dispatches the message to the order fulfillment application, which picks up orders on that address.
  • 9. Summery Mule provides a messaging framework that enables exchange of data among applications. The application functionality is wrapped as a service, which includes a service component (the business logic that processes the data), routers (which use endpoints to specify where to send the message), and other configuration settings. Transports carry the messages on different channels from service to service, and transformers convert the messages and data as needed along the way. Mule is not a replacement for existing application frameworks. Instead, Mule leverages many open source projects such as Apache CXF, Spring, and ActiveMQ and fills a void in enterprise Java development where an application requires complex interactions with a variety of systems on a variety of platforms. Mule makes light work of wiring systems together in a robust, decoupled environment with little to no code and provides the necessary support to route, transport, and transform data to and from these systems.
  • 10. Summery Mule provides a messaging framework that enables exchange of data among applications. The application functionality is wrapped as a service, which includes a service component (the business logic that processes the data), routers (which use endpoints to specify where to send the message), and other configuration settings. Transports carry the messages on different channels from service to service, and transformers convert the messages and data as needed along the way. Mule is not a replacement for existing application frameworks. Instead, Mule leverages many open source projects such as Apache CXF, Spring, and ActiveMQ and fills a void in enterprise Java development where an application requires complex interactions with a variety of systems on a variety of platforms. Mule makes light work of wiring systems together in a robust, decoupled environment with little to no code and provides the necessary support to route, transport, and transform data to and from these systems.