Download - Introduction to es bs mule
![Page 1: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/1.jpg)
ByAchyuta Laxmi
![Page 2: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/2.jpg)
What is an ESB? Java Business Integration (JBI) Mule Architecture Mule in the Real World
![Page 3: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/3.jpg)
[Mul] Mule Architecture Guide. http://mule.mulesource.org/display/MULE/Architecture+Guide
September [mule-user archive]
![Page 4: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/4.jpg)
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
![Page 5: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/5.jpg)
Gartner Group
Giant exercise in Separation of Concerns
[Ric]
![Page 6: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/6.jpg)
[Ric]
![Page 7: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/7.jpg)
Routing Message Transformation Message Enhancement Protocol Transformation Service Mapping
Message Processing Process Choreography Service Orchestration Transaction Management Security
[Ric]
![Page 8: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/8.jpg)
General case
Client calls Choreographer Client calls Mediator
vs
![Page 9: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/9.jpg)
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
![Page 10: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/10.jpg)
XSLT – message transformation PXE – choreography Groovy – scripting
[Ric]
![Page 11: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/11.jpg)
Service Mix
Binding Components
Service Engines
![Page 12: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/12.jpg)
[Mule]
![Page 13: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/13.jpg)
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
![Page 15: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/15.jpg)
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
![Page 16: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/16.jpg)
Requires a component resolver (e.g., Spring or Pico) for Instantiation of UMOsConfiguration of UMOs
Event processingAsynchronousSynchronousRequest-Response
[Mule]
![Page 17: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/17.jpg)
Application logic
Application glue
Mule glue
[Mule]
![Page 18: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/18.jpg)
[Mule]
![Page 19: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/19.jpg)
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>
![Page 20: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/20.jpg)
<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://[email protected]"/><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>
![Page 21: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/21.jpg)
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>
![Page 22: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/22.jpg)
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}
![Page 23: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/23.jpg)
Routing Message Transformation Message Enhancement Protocol Transformation Service Mapping
Message Processing Process Choreography Service Orchestration Transaction Management Security
XX
√√√√
√
![Page 24: Introduction to es bs mule](https://reader035.vdocuments.mx/reader035/viewer/2022062401/5877f7581a28ab91178b4ef7/html5/thumbnails/24.jpg)
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