SlideShare a Scribd company logo
1 of 20
INTRODUCTION TO ESBS:
MULE
By Prabhat Gangwar
AGENDA
 What is an ESB?
 Java Business Integration (JBI)
 Mule Architecture
 Mule in the Real World
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
ESB FEATURES
 Routing
 Message Transformation
 Message Enhancement
 Protocol Transformation
 Service Mapping
 Message Processing
 Process Choreography
 Service Orchestration
 Transaction Management
 Security
AN ESB BLUEPRINT
General case
Client calls Choreographer Client calls Mediator
vs
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
JBI EXAMPLE
 XSLT – message
transformation
 PXE – choreography
 Groovy – scripting
JBI CASE STUDY: SERVICE MIX
Service Mix
Binding Components
Service Engines
MULE ARCHITECTURE
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 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 PROGRAMMING MODEL
Application logic
Application glue
Mule glue
MULE ROUTERS
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>
ESB FEATURES
 Routing
 Message Transformation
 Message Enhancement
 Protocol Transformation
 Service Mapping
 Message Processing
 Process Choreography
 Service Orchestration
 Transaction Management
 Security
X
X
√
√
√
√
√

More Related Content

What's hot

What's hot (20)

Overview of Mule
Overview of MuleOverview of Mule
Overview of Mule
 
Mule high availability
Mule high availabilityMule high availability
Mule high availability
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mule esb parts
Mule esb partsMule esb parts
Mule esb parts
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule technology
Mule technologyMule technology
Mule technology
 
Arch andmodulesmule
Arch andmodulesmuleArch andmodulesmule
Arch andmodulesmule
 
Mule advanced
Mule advancedMule advanced
Mule advanced
 
Mule message structure
Mule message structureMule message structure
Mule message structure
 
Mule rabbitmq
Mule rabbitmqMule rabbitmq
Mule rabbitmq
 
Mule overview
Mule overviewMule overview
Mule overview
 
Mule messages and transformers
Mule messages and transformersMule messages and transformers
Mule messages and transformers
 
Mule esb presentation 2015
Mule esb presentation 2015Mule esb presentation 2015
Mule esb presentation 2015
 
Mule ESB Fundamentals
Mule ESB FundamentalsMule ESB Fundamentals
Mule ESB Fundamentals
 
Introduction to mule esb
Introduction to mule esbIntroduction to mule esb
Introduction to mule esb
 
Core concepts - mule
Core concepts - muleCore concepts - mule
Core concepts - mule
 
Mule - beginners guide
Mule - beginners guideMule - beginners guide
Mule - beginners guide
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule esb for beginners
Mule esb for beginnersMule esb for beginners
Mule esb for beginners
 
Mule message structure
Mule message structureMule message structure
Mule message structure
 

Viewers also liked (20)

Presentation of Tax
Presentation of Tax Presentation of Tax
Presentation of Tax
 
Bpm
BpmBpm
Bpm
 
EXtensible Markup Language
EXtensible Markup LanguageEXtensible Markup Language
EXtensible Markup Language
 
Oracle real application_cluster
Oracle real application_clusterOracle real application_cluster
Oracle real application_cluster
 
Multiplatform
MultiplatformMultiplatform
Multiplatform
 
Restful api modeling language
Restful api modeling languageRestful api modeling language
Restful api modeling language
 
Jdbc drivers
Jdbc driversJdbc drivers
Jdbc drivers
 
Mule anypoint platform
Mule anypoint platformMule anypoint platform
Mule anypoint platform
 
Jsp
JspJsp
Jsp
 
Mule esb
Mule esbMule esb
Mule esb
 
Soap service
Soap serviceSoap service
Soap service
 
Buissness model analysis
Buissness model analysisBuissness model analysis
Buissness model analysis
 
Soap
SoapSoap
Soap
 
Rest
RestRest
Rest
 
Seo
SeoSeo
Seo
 
Mule esb
Mule esbMule esb
Mule esb
 
Leadership today
Leadership todayLeadership today
Leadership today
 
Health triangle
Health triangleHealth triangle
Health triangle
 
Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
 
Api desgin
Api desginApi desgin
Api desgin
 

Similar to Introduction to mule Esbs

Introduction to es bs mule
Introduction to es bs   muleIntroduction to es bs   mule
Introduction to es bs mulebdemchak
 
Introduction to esbs mule
Introduction to esbs  muleIntroduction to esbs  mule
Introduction to esbs mulemanavp
 
Introduction to mule esb's
Introduction to mule esb's Introduction to mule esb's
Introduction to mule esb's F K
 
Introduction to es bs mule
Introduction to es bs   muleIntroduction to es bs   mule
Introduction to es bs muleAchyuta Lakshmi
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Jason Townsend, MBA
 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introductionMohammed625
 
Enterprise service bus
Enterprise service busEnterprise service bus
Enterprise service busUpul Doluweera
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Service Oriented Development With Windows Communication Foundation   Tulsa DnugService Oriented Development With Windows Communication Foundation   Tulsa Dnug
Service Oriented Development With Windows Communication Foundation Tulsa DnugJason Townsend, MBA
 
Mule and web services
Mule and web servicesMule and web services
Mule and web servicesManav Prasad
 
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsIntroducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsLucas Jellema
 
Mule getting started
Mule getting startedMule getting started
Mule getting startedKarim Ezzine
 
Introduction to Mule ESB
Introduction to Mule ESBIntroduction to Mule ESB
Introduction to Mule ESBDeepak Bisht
 
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 SOALucas Jellema
 
Mule web services
Mule web servicesMule web services
Mule web servicesThang Loi
 
Axis2, middleware for next generation web services
Axis2, middleware for next generation web servicesAxis2, middleware for next generation web services
Axis2, middleware for next generation web servicesSrinath Perera
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gGuido Schmutz
 
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...Jason Townsend, MBA
 

Similar to Introduction to mule Esbs (20)

Introduction to es bs mule
Introduction to es bs   muleIntroduction to es bs   mule
Introduction to es bs mule
 
Introduction to esbs mule
Introduction to esbs  muleIntroduction to esbs  mule
Introduction to esbs mule
 
Introduction to mule esb's
Introduction to mule esb's Introduction to mule esb's
Introduction to mule esb's
 
Introduction to es bs mule
Introduction to es bs   muleIntroduction to es bs   mule
Introduction to es bs mule
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003
 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
 
Enterprise service bus
Enterprise service busEnterprise service bus
Enterprise service bus
 
Riding with camel
Riding with camelRiding with camel
Riding with camel
 
Mule esb usecase
Mule esb usecaseMule esb usecase
Mule esb usecase
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Service Oriented Development With Windows Communication Foundation   Tulsa DnugService Oriented Development With Windows Communication Foundation   Tulsa Dnug
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
 
Mule and web services
Mule and web servicesMule and web services
Mule and web services
 
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsIntroducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
 
Mule getting started
Mule getting startedMule getting started
Mule getting started
 
Introduction to Mule ESB
Introduction to Mule ESBIntroduction to Mule ESB
Introduction to Mule ESB
 
Mulesoftppt
Mulesoftppt Mulesoftppt
Mulesoftppt
 
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
 
Mule web services
Mule web servicesMule web services
Mule web services
 
Axis2, middleware for next generation web services
Axis2, middleware for next generation web servicesAxis2, middleware for next generation web services
Axis2, middleware for next generation web services
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11g
 
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
 

More from Prabhat gangwar

More from Prabhat gangwar (20)

Middleware
MiddlewareMiddleware
Middleware
 
Pseudolocalization
PseudolocalizationPseudolocalization
Pseudolocalization
 
Mule anypoint studio
Mule anypoint studioMule anypoint studio
Mule anypoint studio
 
What is cluster analysis
What is cluster analysisWhat is cluster analysis
What is cluster analysis
 
clustering and load balancing
clustering and load balancingclustering and load balancing
clustering and load balancing
 
Middleware systems overview and introduction
Middleware systems overview and introductionMiddleware systems overview and introduction
Middleware systems overview and introduction
 
Gsm architecture
Gsm architectureGsm architecture
Gsm architecture
 
Oracle vs-mulesoft-api-manager-features
Oracle vs-mulesoft-api-manager-featuresOracle vs-mulesoft-api-manager-features
Oracle vs-mulesoft-api-manager-features
 
Introducing adf business components
Introducing adf business componentsIntroducing adf business components
Introducing adf business components
 
File transfer methods
File transfer methodsFile transfer methods
File transfer methods
 
Ftp tftp
Ftp tftpFtp tftp
Ftp tftp
 
Global warming
Global warmingGlobal warming
Global warming
 
Vedic mathmetics
Vedic mathmeticsVedic mathmetics
Vedic mathmetics
 
Trends
TrendsTrends
Trends
 
E commerce buissness-model
E commerce buissness-modelE commerce buissness-model
E commerce buissness-model
 
Effective communication skills
Effective communication skillsEffective communication skills
Effective communication skills
 
Office politics
Office politicsOffice politics
Office politics
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Add to the path on mac os x
Add to the path on mac os xAdd to the path on mac os x
Add to the path on mac os x
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 

Recently uploaded

ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 

Recently uploaded (20)

ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 

Introduction to mule Esbs

  • 2. AGENDA  What is an ESB?  Java Business Integration (JBI)  Mule Architecture  Mule in the Real World
  • 3. 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
  • 4. DEFINITION(S) Gartner Group Giant exercise in Separation of Concerns
  • 5. ESB FEATURES  Routing  Message Transformation  Message Enhancement  Protocol Transformation  Service Mapping  Message Processing  Process Choreography  Service Orchestration  Transaction Management  Security
  • 6. AN ESB BLUEPRINT General case Client calls Choreographer Client calls Mediator vs
  • 7. 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
  • 8. JBI EXAMPLE  XSLT – message transformation  PXE – choreography  Groovy – scripting
  • 9. JBI CASE STUDY: SERVICE MIX Service Mix Binding Components Service Engines
  • 11. 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
  • 12. MULE CONNECTOR VIEW http://myapp.com pop3://user@userland.comhttp→xml xml→pop3 myUMO (xml→xml) [Mule]
  • 13. 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
  • 14. UMO EXECUTION  Requires a component resolver (e.g., Spring or Pico) for  Instantiation of UMOs  Configuration of UMOs  Event processing  Asynchronous  Synchronous  Request-Response
  • 15. MULE PROGRAMMING MODEL Application logic Application glue Mule glue
  • 17. 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>
  • 18. 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>
  • 19. 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>
  • 20. ESB FEATURES  Routing  Message Transformation  Message Enhancement  Protocol Transformation  Service Mapping  Message Processing  Process Choreography  Service Orchestration  Transaction Management  Security X X √ √ √ √ √

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)