SlideShare a Scribd company logo
Introduction to ESBs:
Mule
Khan
Agenda
 What is an ESB?
 Java Business Integration (JBI)
 Mule Architecture
 Mule in the Real World
Source Material
 [Ric] Mark Richards, “The Role of the
Enterprise Service Bus”, NFJS, Oct 23,
2006. http://www.infoq.com/presentations/Enterprise-Service-Bus
 [Mul] Mule Architecture Guide.
http://mule.mulesource.org/display/MULE/Architecture+Guide
 September [mule-user archive]
Problems Addressed by ESBs
 Integration of existing systems
 Refactorable in real time
 Flexibility to change as requirements change
 Decentralized (service-location transparency)
 Scalable (point solutions to full enterprise)
 Sharing of services across enterprise
 Ability to separate Business Services from
Service Implementations
 Leverages standards
Definition(s)
Gartner Group
Giant exercise in Separation of Concerns
[Ric]
Definitions (more)
www.datapower.com
[Ric]
ESB Features
 Routing
 Message Transformation
 Message Enhancement
 Protocol Transformation
 Service Mapping
 Message Processing
 Process Choreography
 Service Orchestration
 Transaction Management
 Security
[Ric]
An ESB Blueprint
General case
Client calls Choreographer Client calls Mediator
vs
[Ric]
Java Business Integration (JBI)
 JSR-208 Standard
 Defines service engines (SE – choreographers,
transformers, security, etc) and binding components
(BC – xml, http, etc)
 Concerned with how internal customers (not external
services) interact with service providers
COTS
[Ric]
JBI Example
 XSLT – message transformation
 PXE – choreography
 Groovy – scripting
[Ric]
JBI Case Study: Service Mix
Service Mix
Binding Components
Service Engines
[Ric]
Mule Architecture
[Mule]
Mule Flow View
 Channel – a method of connecting between two points (not part
of Mule)
 Connector – a transport provider (e.g., http, jms, soap, smtp,
etc) implementing message receive and message dispatch
 Transformer – converts message structure/format (e.g., http to
xml)
 Router – moves messages amongst UMOs and connectors
[Mule]
Mule Connector View
http://myapp.com pop3://user@userland.comhttp→xml xml→pop3
myUMO (xml→xml)
[Mule]
Mule Transports
 AS400 DQ
 EJB
 E-mail
 File
 FTP
 HTTP
 IMAP
 JDBC
 JMS
 Multicast
 POP3
 Quartz
RMI
 Servlet
 SMTP
 SOAP
 SSL
 Stream
 TCP
 UDP
 VFS
 VM
 WSDL
 XMPP
UMO Execution
 Requires a component resolver (e.g., Spring
or Pico) for
 Instantiation of UMOs
 Configuration of UMOs
 Event processing
 Asynchronous
 Synchronous
 Request-Response
[Mule]
Mule Programming Model
Application logic
Application glue
Mule glue
[Mule]
Mule Routers
[Mule]
Selective Consumer (inbound)
 Applies one or more filters to incoming payload, then
branch based on filter
<inbound-router>
<catch-all-strategy
className="org.mule.routing.ForwardingCatchAllStrategy">
<endpoint address="jms://topic:error.topic"/>
</catch-all-strategy>
<router
className="org.mule.routing.inbound.SelectiveConsumer">
<filter expression="msg/header/resultcode = 'success'"
className="org.mule.routing.filters.xml.JXPathFilter"/>
</router>
</inbound-router>
Filtering Outbound (outbound)
<outbound-router>
<catch-all-strategy
className="org.mule.routing.ForwardingCatchAllStrategy">
<endpoint="jms://error.queue"/>
</catch-all-strategy>
<router className="org.mule.routing.outbound.FilteringOutboundRouter">
<endpoint address="smtp://ross@muleumo.org"/>
<filter expectedType="java.lang.Exception"
className="org.mule.routing.filters.PayloadTypeFilter"/>
</router>
<router className="org.mule.routing.outbound.FilteringOutboundRouter">
<endpoint address="jms://string.queue"/>
<filter className="org.mule.routing.filters.logic.AndFilter">
<left-filter expectedType="java.lang.String"
className="org.mule.routing.filters.PayloadTypeFilter"/>
<right-filter pattern="the quick brown (.*)"
className="org.mule.routing.filters.RegExFilter"/>
</filter>
</router>
</outbound-router>
Nested Router
 Allows synchronous callouts that can be intercepted and routed
<mule-descriptor name="InvokerComponent"
implementation="org.mule.foo.Invoker">
<inbound-router>
<endpoint address="jms://Invoker.in"/>
</inbound-router>
<nested-router>
<binding interface="org.mule.foo.HelloInterface">
<endpoint
address="axis:http://192.168.2.14:81/services/HelloWebComponent?
method=helloMethod" remoteSync="true"/>
</binding>
</nested-router>
<outbound-router>
<router
className="org.mule.routing.outbound.OutboundPassThroughRouter">
<endpoint address="jms://Invoker.out"/>
</router>
</outbound-router>
</mule-descriptor>
Dog Days with Mule
 September [mule-user archive]
 How to get a hold of Endpoint object from the
component? {mule}
 Failed to throw UserDefined Exception {jaxws}
 Failed to invoke lifecycle “start” using CXF in
JBOSS {cxf}
 Problem in loading xsd files {mule}
 Problems with RemoteDispatcher {mule}
 Inject MuleClient Singleton with Spring {mule}
 Mule transaction support {mule}
ESB Features
 Routing
 Message Transformation
 Message Enhancement
 Protocol Transformation
 Service Mapping
 Message Processing
 Process Choreography
 Service Orchestration
 Transaction Management
 Security
X
X
√
√
√
√
√
Take Away Messages
 Mule’s generality results in great flexibility, but at the
cost of great complexity for users
 Mule is the focal point of ambiguity and difficulties
with many standards-based packages
 Mule delivers (to a degree) on:
 Integration, flexibility, decentralized operation,
scalability
 Mule doesn’t deliver (so much) on:
 Runtime refactoring, conceptualization

More Related Content

What's hot

Introduction to es bs mule
Introduction to es bs   muleIntroduction to es bs   mule
Introduction to es bs mule
Achyuta Lakshmi
 
Mule soft esb – data validation best practices
Mule soft esb – data validation best practicesMule soft esb – data validation best practices
Mule soft esb – data validation best practices
alfa
 
Mule Fundamentals
Mule FundamentalsMule Fundamentals
Mule Fundamentals
Khasim Cise
 
Mule enterprise service introduction
Mule enterprise service introductionMule enterprise service introduction
Mule enterprise service introduction
Son Nguyen
 
Maven introduction in Mule
Maven introduction in MuleMaven introduction in Mule
Maven introduction in Mule
Shahid Shaik
 
Mule ESB
Mule ESBMule ESB
Mule ESBniravn
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
F K
 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
Praneethchampion
 
Webservice vm in mule
Webservice vm in muleWebservice vm in mule
Webservice vm in mule
Praneethchampion
 
Mule technology
Mule technologyMule technology
Mule technology
Praneethchampion
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
Praneethchampion
 
Mule overview-ppt
Mule overview-pptMule overview-ppt
Mule overview-ppt
Prabhat gangwar
 
Mule soa
Mule soaMule soa
Mule soa
Son Nguyen
 
Connecting to external_application
Connecting to external_applicationConnecting to external_application
Connecting to external_application
Rajarajan Sadhasivam
 
Mule soa
Mule soaMule soa
Mule soa
D.Rajesh Kumar
 
Mule execution
Mule executionMule execution
Mule execution
Praneethchampion
 
Mule execution
Mule executionMule execution
Mule execution
D.Rajesh Kumar
 
Mule execution
Mule executionMule execution
Mule execution
Anand kalla
 
Mule overview
Mule overviewMule overview
Mule overview
F K
 

What's hot (19)

Introduction to es bs mule
Introduction to es bs   muleIntroduction to es bs   mule
Introduction to es bs mule
 
Mule soft esb – data validation best practices
Mule soft esb – data validation best practicesMule soft esb – data validation best practices
Mule soft esb – data validation best practices
 
Mule Fundamentals
Mule FundamentalsMule Fundamentals
Mule Fundamentals
 
Mule enterprise service introduction
Mule enterprise service introductionMule enterprise service introduction
Mule enterprise service introduction
 
Maven introduction in Mule
Maven introduction in MuleMaven introduction in Mule
Maven introduction in Mule
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
 
Webservice vm in mule
Webservice vm in muleWebservice vm in mule
Webservice vm in mule
 
Mule technology
Mule technologyMule technology
Mule technology
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
Mule overview-ppt
Mule overview-pptMule overview-ppt
Mule overview-ppt
 
Mule soa
Mule soaMule soa
Mule soa
 
Connecting to external_application
Connecting to external_applicationConnecting to external_application
Connecting to external_application
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule execution
Mule executionMule execution
Mule execution
 
Mule execution
Mule executionMule execution
Mule execution
 
Mule execution
Mule executionMule execution
Mule execution
 
Mule overview
Mule overviewMule overview
Mule overview
 

Viewers also liked

Mule xml transformation
Mule xml transformationMule xml transformation
Mule xml transformation
D.Rajesh Kumar
 
Creating a custom connector in mule
Creating a custom connector in muleCreating a custom connector in mule
Creating a custom connector in mule
Achyuta Lakshmi
 
Mule saas
Mule  saasMule  saas
Mule saas
charan teja R
 
Mule security - pgp
Mule  security - pgpMule  security - pgp
Mule security - pgp
D.Rajesh Kumar
 
Mule ESB
Mule ESBMule ESB
Mule ESB
Khasim Cise
 
Mule Overview
Mule OverviewMule Overview
Mule Overview
AbdulImrankhan7
 
Overview of Mule
Overview of MuleOverview of Mule
Overview of Mule
AbdulImrankhan7
 
Rabbit mq in mule
Rabbit mq in muleRabbit mq in mule
Rabbit mq in mule
himajareddys
 
Splitting with mule part2
Splitting with mule part2Splitting with mule part2
Splitting with mule part2
Anirban Sen Chowdhary
 
Using xslt in mule
Using xslt in mule Using xslt in mule
Using xslt in mule
mdfkhan625
 
Mule NetSuite connectors
Mule  NetSuite connectorsMule  NetSuite connectors
Mule NetSuite connectors
D.Rajesh Kumar
 
Scatter gather in mule
Scatter gather in muleScatter gather in mule
Scatter gather in mule
Khasim Cise
 
Mule net suite connectors
Mule  net suite connectorsMule  net suite connectors
Mule net suite connectors
himajareddys
 
Mule security - jaas
Mule  security - jaasMule  security - jaas
Mule security - jaas
D.Rajesh Kumar
 
Simple groovy example in mule
Simple groovy example in muleSimple groovy example in mule
Simple groovy example in mule
AbdulImrankhan7
 
Deploying and running in mule standalone
Deploying and running in mule standaloneDeploying and running in mule standalone
Deploying and running in mule standalone
AbdulImrankhan7
 
MULE-JAAS
MULE-JAASMULE-JAAS
MULE-JAAS
D.Rajesh Kumar
 
Scatter gatherinmule
Scatter gatherinmuleScatter gatherinmule
Scatter gatherinmule
F K
 
Mule with rabbit mq
Mule with rabbit mq Mule with rabbit mq
Mule with rabbit mq
javeed_mhd
 
Mule enricher
Mule enricher Mule enricher
Mule enricher
Karnam Karthik
 

Viewers also liked (20)

Mule xml transformation
Mule xml transformationMule xml transformation
Mule xml transformation
 
Creating a custom connector in mule
Creating a custom connector in muleCreating a custom connector in mule
Creating a custom connector in mule
 
Mule saas
Mule  saasMule  saas
Mule saas
 
Mule security - pgp
Mule  security - pgpMule  security - pgp
Mule security - pgp
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mule Overview
Mule OverviewMule Overview
Mule Overview
 
Overview of Mule
Overview of MuleOverview of Mule
Overview of Mule
 
Rabbit mq in mule
Rabbit mq in muleRabbit mq in mule
Rabbit mq in mule
 
Splitting with mule part2
Splitting with mule part2Splitting with mule part2
Splitting with mule part2
 
Using xslt in mule
Using xslt in mule Using xslt in mule
Using xslt in mule
 
Mule NetSuite connectors
Mule  NetSuite connectorsMule  NetSuite connectors
Mule NetSuite connectors
 
Scatter gather in mule
Scatter gather in muleScatter gather in mule
Scatter gather in mule
 
Mule net suite connectors
Mule  net suite connectorsMule  net suite connectors
Mule net suite connectors
 
Mule security - jaas
Mule  security - jaasMule  security - jaas
Mule security - jaas
 
Simple groovy example in mule
Simple groovy example in muleSimple groovy example in mule
Simple groovy example 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-JAAS
MULE-JAASMULE-JAAS
MULE-JAAS
 
Scatter gatherinmule
Scatter gatherinmuleScatter gatherinmule
Scatter gatherinmule
 
Mule with rabbit mq
Mule with rabbit mq Mule with rabbit mq
Mule with rabbit mq
 
Mule enricher
Mule enricher Mule enricher
Mule enricher
 

Similar to Introduction to mule esb's

Introduction to es bs mule
Introduction to es bs   muleIntroduction to es bs   mule
Introduction to es bs mule
bdemchak
 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
Mohammed625
 
Introduction to mule Esbs
Introduction to mule EsbsIntroduction to mule Esbs
Introduction to mule Esbs
Prabhat gangwar
 
Mulesoftppt
Mulesoftppt Mulesoftppt
Mule and web services
Mule and web servicesMule and web services
Mule and web services
Manav Prasad
 
Mule web services
Mule web servicesMule web services
Mule web services
Thang Loi
 
Mule overview
Mule overviewMule overview
Mule overview
Rajkattamuri
 
Service Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksService Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksKenneth Peeples
 
Mule esb intoduction
Mule esb intoductionMule esb intoduction
Mule esb intoduction
Vamsi Krishna
 
Mule and web services
Mule and web servicesMule and web services
Mule and web services
venureddymasu
 
Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)
camunda services GmbH
 
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShiftReal world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta
 
Mule esb usecase
Mule esb usecaseMule esb usecase
Mule esb usecase
charan teja R
 
SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06
Thomas Stensitzki
 
WebLogic Developer Webcast 3 : Spring and JAX Message Driven and Web Services
WebLogic Developer Webcast 3 : Spring and JAX Message Driven and Web ServicesWebLogic Developer Webcast 3 : Spring and JAX Message Driven and Web Services
WebLogic Developer Webcast 3 : Spring and JAX Message Driven and Web ServicesJeffrey West
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOA
Lucas Jellema
 

Similar to Introduction to mule esb's (20)

Introduction to es bs mule
Introduction to es bs   muleIntroduction to es bs   mule
Introduction to es bs mule
 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
 
Introduction to mule Esbs
Introduction to mule EsbsIntroduction to mule Esbs
Introduction to mule Esbs
 
Mulesoftppt
Mulesoftppt Mulesoftppt
Mulesoftppt
 
Mule and web services
Mule and web servicesMule and web services
Mule and web services
 
Mule web services
Mule web servicesMule web services
Mule web services
 
Mule overview
Mule overviewMule overview
Mule overview
 
Service Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service WorksService Lifecycle Management with Fuse Service Works
Service Lifecycle Management with Fuse Service Works
 
Mule esb intoduction
Mule esb intoductionMule esb intoduction
Mule esb intoduction
 
Mule and web services
Mule and web servicesMule and web services
Mule and web services
 
iiwas2009
iiwas2009iiwas2009
iiwas2009
 
Introduction To Cloud Computing
Introduction To Cloud ComputingIntroduction To Cloud Computing
Introduction To Cloud Computing
 
Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)
 
Real world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShiftReal world #microservices with Apache Camel, Fabric8, and OpenShift
Real world #microservices with Apache Camel, Fabric8, and OpenShift
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
 
Mule esb usecase
Mule esb usecaseMule esb usecase
Mule esb usecase
 
SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06
 
EIP In Practice
EIP In PracticeEIP In Practice
EIP In Practice
 
WebLogic Developer Webcast 3 : Spring and JAX Message Driven and Web Services
WebLogic Developer Webcast 3 : Spring and JAX Message Driven and Web ServicesWebLogic Developer Webcast 3 : Spring and JAX Message Driven and Web Services
WebLogic Developer Webcast 3 : Spring and JAX Message Driven and Web Services
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOA
 

More from F K

WebServices introduction in Mule
WebServices introduction in MuleWebServices introduction in Mule
WebServices introduction in Mule
F K
 
Testing soapui
Testing soapuiTesting soapui
Testing soapui
F K
 
Java For Begineers
Java For BegineersJava For Begineers
Java For Begineers
F K
 
Vm component
Vm componentVm component
Vm component
F K
 
Until successful component in mule
Until successful component in muleUntil successful component in mule
Until successful component in mule
F K
 
Quartz component
Quartz componentQuartz component
Quartz component
F K
 
Mule management console installation
Mule management console installation Mule management console installation
Mule management console installation
F K
 
Mule esb made system integration easy
Mule esb made system integration easy Mule esb made system integration easy
Mule esb made system integration easy
F K
 
Message properties component
Message properties componentMessage properties component
Message properties component
F K
 
Junit in mule
Junit in muleJunit in mule
Junit in mule
F K
 
Install sonarqube plugin in anypoint
Install sonarqube plugin in anypoint Install sonarqube plugin in anypoint
Install sonarqube plugin in anypoint
F K
 
Commit a project in svn using svn plugin in anypoint studio
Commit a project in svn using svn plugin in anypoint studioCommit a project in svn using svn plugin in anypoint studio
Commit a project in svn using svn plugin in anypoint studio
F K
 
Github plugin setup in anypoint studio
Github plugin setup in anypoint studio Github plugin setup in anypoint studio
Github plugin setup in anypoint studio
F K
 
For each component
For each component For each component
For each component
F K
 
Filter expression
Filter expression Filter expression
Filter expression
F K
 
File component
File component File component
File component
F K
 
Database component
Database component Database component
Database component
F K
 
Choice component
Choice component Choice component
Choice component
F K
 
Mule with drools
Mule with droolsMule with drools
Mule with drools
F K
 
Mule esb Data Weave
Mule esb Data WeaveMule esb Data Weave
Mule esb Data Weave
F K
 

More from F K (20)

WebServices introduction in Mule
WebServices introduction in MuleWebServices introduction in Mule
WebServices introduction in Mule
 
Testing soapui
Testing soapuiTesting soapui
Testing soapui
 
Java For Begineers
Java For BegineersJava For Begineers
Java For Begineers
 
Vm component
Vm componentVm component
Vm component
 
Until successful component in mule
Until successful component in muleUntil successful component in mule
Until successful component in mule
 
Quartz component
Quartz componentQuartz component
Quartz component
 
Mule management console installation
Mule management console installation Mule management console installation
Mule management console installation
 
Mule esb made system integration easy
Mule esb made system integration easy Mule esb made system integration easy
Mule esb made system integration easy
 
Message properties component
Message properties componentMessage properties component
Message properties component
 
Junit in mule
Junit in muleJunit in mule
Junit in mule
 
Install sonarqube plugin in anypoint
Install sonarqube plugin in anypoint Install sonarqube plugin in anypoint
Install sonarqube plugin in anypoint
 
Commit a project in svn using svn plugin in anypoint studio
Commit a project in svn using svn plugin in anypoint studioCommit a project in svn using svn plugin in anypoint studio
Commit a project in svn using svn plugin in anypoint studio
 
Github plugin setup in anypoint studio
Github plugin setup in anypoint studio Github plugin setup in anypoint studio
Github plugin setup in anypoint studio
 
For each component
For each component For each component
For each component
 
Filter expression
Filter expression Filter expression
Filter expression
 
File component
File component File component
File component
 
Database component
Database component Database component
Database component
 
Choice component
Choice component Choice component
Choice component
 
Mule with drools
Mule with droolsMule with drools
Mule with drools
 
Mule esb Data Weave
Mule esb Data WeaveMule esb Data Weave
Mule esb Data Weave
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 

Introduction to mule esb's

  • 2. Agenda  What is an ESB?  Java Business Integration (JBI)  Mule Architecture  Mule in the Real World
  • 3. Source Material  [Ric] Mark Richards, “The Role of the Enterprise Service Bus”, NFJS, Oct 23, 2006. http://www.infoq.com/presentations/Enterprise-Service-Bus  [Mul] Mule Architecture Guide. http://mule.mulesource.org/display/MULE/Architecture+Guide  September [mule-user archive]
  • 4. Problems Addressed by ESBs  Integration of existing systems  Refactorable in real time  Flexibility to change as requirements change  Decentralized (service-location transparency)  Scalable (point solutions to full enterprise)  Sharing of services across enterprise  Ability to separate Business Services from Service Implementations  Leverages standards
  • 5. Definition(s) Gartner Group Giant exercise in Separation of Concerns [Ric]
  • 7. ESB Features  Routing  Message Transformation  Message Enhancement  Protocol Transformation  Service Mapping  Message Processing  Process Choreography  Service Orchestration  Transaction Management  Security [Ric]
  • 8. An ESB Blueprint General case Client calls Choreographer Client calls Mediator vs [Ric]
  • 9. Java Business Integration (JBI)  JSR-208 Standard  Defines service engines (SE – choreographers, transformers, security, etc) and binding components (BC – xml, http, etc)  Concerned with how internal customers (not external services) interact with service providers COTS [Ric]
  • 10. JBI Example  XSLT – message transformation  PXE – choreography  Groovy – scripting [Ric]
  • 11. JBI Case Study: Service Mix Service Mix Binding Components Service Engines [Ric]
  • 13. Mule Flow View  Channel – a method of connecting between two points (not part of Mule)  Connector – a transport provider (e.g., http, jms, soap, smtp, etc) implementing message receive and message dispatch  Transformer – converts message structure/format (e.g., http to xml)  Router – moves messages amongst UMOs and connectors [Mule]
  • 14. Mule Connector View http://myapp.com pop3://user@userland.comhttp→xml xml→pop3 myUMO (xml→xml) [Mule]
  • 15. Mule Transports  AS400 DQ  EJB  E-mail  File  FTP  HTTP  IMAP  JDBC  JMS  Multicast  POP3  Quartz RMI  Servlet  SMTP  SOAP  SSL  Stream  TCP  UDP  VFS  VM  WSDL  XMPP
  • 16. UMO Execution  Requires a component resolver (e.g., Spring or Pico) for  Instantiation of UMOs  Configuration of UMOs  Event processing  Asynchronous  Synchronous  Request-Response [Mule]
  • 17. Mule Programming Model Application logic Application glue Mule glue [Mule]
  • 19. Selective Consumer (inbound)  Applies one or more filters to incoming payload, then branch based on filter <inbound-router> <catch-all-strategy className="org.mule.routing.ForwardingCatchAllStrategy"> <endpoint address="jms://topic:error.topic"/> </catch-all-strategy> <router className="org.mule.routing.inbound.SelectiveConsumer"> <filter expression="msg/header/resultcode = 'success'" className="org.mule.routing.filters.xml.JXPathFilter"/> </router> </inbound-router>
  • 20. Filtering Outbound (outbound) <outbound-router> <catch-all-strategy className="org.mule.routing.ForwardingCatchAllStrategy"> <endpoint="jms://error.queue"/> </catch-all-strategy> <router className="org.mule.routing.outbound.FilteringOutboundRouter"> <endpoint address="smtp://ross@muleumo.org"/> <filter expectedType="java.lang.Exception" className="org.mule.routing.filters.PayloadTypeFilter"/> </router> <router className="org.mule.routing.outbound.FilteringOutboundRouter"> <endpoint address="jms://string.queue"/> <filter className="org.mule.routing.filters.logic.AndFilter"> <left-filter expectedType="java.lang.String" className="org.mule.routing.filters.PayloadTypeFilter"/> <right-filter pattern="the quick brown (.*)" className="org.mule.routing.filters.RegExFilter"/> </filter> </router> </outbound-router>
  • 21. Nested Router  Allows synchronous callouts that can be intercepted and routed <mule-descriptor name="InvokerComponent" implementation="org.mule.foo.Invoker"> <inbound-router> <endpoint address="jms://Invoker.in"/> </inbound-router> <nested-router> <binding interface="org.mule.foo.HelloInterface"> <endpoint address="axis:http://192.168.2.14:81/services/HelloWebComponent? method=helloMethod" remoteSync="true"/> </binding> </nested-router> <outbound-router> <router className="org.mule.routing.outbound.OutboundPassThroughRouter"> <endpoint address="jms://Invoker.out"/> </router> </outbound-router> </mule-descriptor>
  • 22. Dog Days with Mule  September [mule-user archive]  How to get a hold of Endpoint object from the component? {mule}  Failed to throw UserDefined Exception {jaxws}  Failed to invoke lifecycle “start” using CXF in JBOSS {cxf}  Problem in loading xsd files {mule}  Problems with RemoteDispatcher {mule}  Inject MuleClient Singleton with Spring {mule}  Mule transaction support {mule}
  • 23. ESB Features  Routing  Message Transformation  Message Enhancement  Protocol Transformation  Service Mapping  Message Processing  Process Choreography  Service Orchestration  Transaction Management  Security X X √ √ √ √ √
  • 24. Take Away Messages  Mule’s generality results in great flexibility, but at the cost of great complexity for users  Mule is the focal point of ambiguity and difficulties with many standards-based packages  Mule delivers (to a degree) on:  Integration, flexibility, decentralized operation, scalability  Mule doesn’t deliver (so much) on:  Runtime refactoring, conceptualization

Editor's Notes

  1. Routing – ability to channel a request to a particular service provider based on deterministic or variable routing criteria (e.g., static/deterministic, content-based, policy-based, or complex rule-based) Message Transformation – ability to convert the structure and format of the incoming business service request to the structure and format expected by the service provider (e.g., xml→xml, xml→Cobol Copybook, object→xml) Message Enhancement – ability to add or modify the information contained in the message as required by the service provider (e.g., date format conversion, supplemental data, data conversion, rules-based enhancement) Protocol Transformation – The ability to accept one type of protocol from the consumer as input (e.g., SOAP/JMS) and communicate to the service provider through a different protocol (e.g., IIOP) – concerned with message structure, not payload – has attributes of physical connection and logical connectivity Service Mapping – The ability to translate a business service into the corresponding service implementation and provide binding and location information (includes implementation service name, service protocols and binding information, protocol-specific information, service-specific routing information) Message Processing – The ability to manage state and perform request management by accepting an input request and ensuring delivery back to the client via message synchronization Process Choreography – The ability to manage complex business processes that require the coordination of multiple business services to fulfill a single business service request (usually BPEL-based, often a manifestation of a use case or business process) Service Orchestration – The ability to manage the coordination of multiple implementation services (usually inter-service communication or aggregate services) Transaction Management – The ability to provide a single unit of work for a business service request by providing a framework for the coordination of multiple resources across multiple disparate services (e.g., compensatory transactional framework, WS-Coordination or JSR-95 Activity Service) Security – The ability to protect enterprise services from unauthorized access (e.g., Authentication, Authorization, Auditing, and Administration via access to external managers)
  2. Choreographer entrypoint (containing business processes and rules) requires that all services have BPEL coordination. Problems with performance, maintenance, and complexity. Common vendor solution. Mediator entrypoint allows choreography where appropriate. Good scalability, performance, reduced complexity. Avoids layers … and mediators are fast (~ms). Choreographer is just another service provider.
  3. Create standards-based architecture for integrating middleware components to perform ESB capabilities Concerned with how internal customers (not external services) interact with service providers – transformation, security, etc. Defines service engines (SE – choreographers, transformers, security, etc) and binding components (BC – xml, http, etc)
  4. avoids vendor lockin incentivizes best of breed SE and BC Not addressing federation of ESBs
  5. Mule is a lightweight UMO container UMO = Universal Messaging Objects (POJO) UMOs are endpoints that know how to send and receive requests
  6. Constructor is called by component resolver to create object Initialize called when component is registered with Mule model Start is called when the component (server/UMO) is started onCall is called when event is received for component … can resolve to any method within UMO Stop is called when Mule server is stopped Dispose is called when Mule server is shut down
  7. Routing – ability to channel a request to a particular service provider based on deterministic or variable routing criteria (e.g., static/deterministic, content-based, policy-based, or complex rule-based) Message Transformation – ability to convert the structure and format of the incoming business service request to the structure and format expected by the service provider (e.g., xml→xml, xml→Cobol Copybook, object→xml) Message Enhancement – ability to add or modify the information contained in the message as required by the service provider (e.g., date format conversion, supplemental data, data conversion, rules-based enhancement) Protocol Transformation – The ability to accept one type of protocol from the consumer as input (e.g., SOAP/JMS) and communicate to the service provider through a different protocol (e.g., IIOP) – concerned with message structure, not payload – has attributes of physical connection and logical connectivity Service Mapping – The ability to translate a business service into the corresponding service implementation and provide binding and location information (includes implementation service name, service protocols and binding information, protocol-specific information, service-specific routing information) Message Processing – The ability to manage state and perform request management by accepting an input request and ensuring delivery back to the client via message synchronization Process Choreography – The ability to manage complex business processes that require the coordination of multiple business services to fulfill a single business service request (usually BPEL-based, often a manifestation of a use case or business process) Service Orchestration – The ability to manage the coordination of multiple implementation services (usually inter-service communication or aggregate services) Transaction Management – The ability to provide a single unit of work for a business service request by providing a framework for the coordination of multiple resources across multiple disparate services (e.g., compensatory transactional framework, WS-Coordination or JSR-95 Activity Service) Security – The ability to protect enterprise services from unauthorized access (e.g., Authentication, Authorization, Auditing, and Administration via access to external managers)