Introduction to mule Esbs
-
Upload
prabhat-gangwar -
Category
Education
-
view
259 -
download
0
Transcript of Introduction to mule Esbs
![Page 1: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/1.jpg)
INTRODUCTION TO ESBS:MULE
By Prabhat Gangwar
![Page 2: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/2.jpg)
AGENDA What is an ESB? Java Business Integration (JBI) Mule Architecture Mule in the Real World
![Page 3: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/3.jpg)
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
![Page 4: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/4.jpg)
DEFINITION(S)
Gartner Group
Giant exercise in Separation of Concerns
![Page 5: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/5.jpg)
ESB FEATURES
Routing Message Transformation Message Enhancement Protocol Transformation Service Mapping
Message Processing Process Choreography Service Orchestration Transaction Management Security
![Page 6: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/6.jpg)
AN ESB BLUEPRINT
General case
Client calls Choreographer Client calls Mediator
vs
![Page 7: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/7.jpg)
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
![Page 8: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/8.jpg)
JBI EXAMPLE
XSLT – message transformation PXE – choreography Groovy – scripting
![Page 9: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/9.jpg)
JBI CASE STUDY: SERVICE MIX
Service Mix
Binding Components
Service Engines
![Page 10: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/10.jpg)
MULE ARCHITECTURE
![Page 11: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/11.jpg)
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
![Page 13: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/13.jpg)
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
![Page 14: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/14.jpg)
UMO EXECUTION Requires a component resolver (e.g., Spring
or Pico) for Instantiation of UMOs Configuration of UMOs
Event processing Asynchronous Synchronous Request-Response
![Page 15: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/15.jpg)
MULE PROGRAMMING MODEL
Application logic
Application glue
Mule glue
![Page 16: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/16.jpg)
MULE ROUTERS
![Page 17: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/17.jpg)
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>
![Page 18: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/18.jpg)
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://[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 19: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/19.jpg)
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>
![Page 20: Introduction to mule Esbs](https://reader036.fdocuments.in/reader036/viewer/2022062523/586fdc8d1a28ab18428b651f/html5/thumbnails/20.jpg)
ESB FEATURES
Routing Message Transformation Message Enhancement Protocol Transformation Service Mapping
Message Processing Process Choreography Service Orchestration Transaction Management Security
XX
√√√√
√