Advancing Engineering with AI through the Next Generation of Strategic Projec...
Integration with Mule
1. Integration with MuleIntegration with Mule
Oklahoma City Java UsersOklahoma City Java Users
GroupGroup
Ryan HoeggRyan Hoegg
ConfluexConfluex
2. in·te·gra·tionin·te·gra·tion
in-t - gr -sh nˌ ə ˈ ā ə in-t - gr -sh nˌ ə ˈ ā ə
in-t - gr -sh nˌ ə ˈ ā ə in-t - gr -sh nˌ ə ˈ ā ə
““...the task of making separate applications...the task of making separate applications
work together to produce a unified set ofwork together to produce a unified set of
functionality”functionality”
http://www.eaipatterns.com/IntegrationStylesIntro.htmlhttp://www.eaipatterns.com/IntegrationStylesIntro.html
3. How to do it:How to do it:
Exchange filesExchange files
Exchange filesExchange files
4. How to do it:How to do it:
Share a databaseShare a database
Share a databaseShare a database
5. How to do it:How to do it:
Call programs remotelyCall programs remotely
Call programs remotelyCall programs remotely
6. How to do it:How to do it:
Send messagesSend messages
Send messagesSend messages
7. mes·sagemes·sage
me-sijˈ me-sijˈ
me-sijˈ me-sijˈ
““a bounded package of information thata bounded package of information that
(can be/has been/is) in the process of(can be/has been/is) in the process of
being delivered from a sender to abeing delivered from a sender to a
recipient”recipient”
http://c2.com/cgi/wiki?MessageDefinitionhttp://c2.com/cgi/wiki?MessageDefinition
8. org.mule.api.org.mule.api.MuleMessageMuleMessage
Payload: contents, or body of thePayload: contents, or body of the
messagemessage
Properties: key/value pairs, messageProperties: key/value pairs, message
metadatametadata
no, this slide doesn’t mention attachmentsno, this slide doesn’t mention attachments
9. flowflow
fl ˈ ō fl ˈ ō
fl ˈ ō fl ˈ ō
The primary unit of a mule applicationThe primary unit of a mule application
10. Flow Building BlocksFlow Building Blocks
Message SourceMessage Source
Inbound EndpointsInbound Endpoints
PollsPolls
CustomCustom
11. Flow Building BlocksFlow Building Blocks
Message ProcessorsMessage Processors
TransformerTransformer
FilterFilter
RouterRouter
ComponentComponent
CustomCustom
12. TransportTransport
Provides connectors that allow Mule to sendProvides connectors that allow Mule to send
and receive messages using a particularand receive messages using a particular
technologytechnology
•HTTPHTTP
•FileFile
•FTPFTP
•JMSJMS
•SMTPSMTP
•IMAPIMAP
•VMVM
•TCPTCP
•JDBCJDBC
•RMIRMI
•XMPPXMPP
ExamplesExamples
13. Cloud ConnectorCloud Connector
Bundle of mule extensions for specific SaaSBundle of mule extensions for specific SaaS•TwitterTwitter
•Amazon S3Amazon S3
•FacebookFacebook
• Google ContactsGoogle Contacts
•Apple PushApple Push
•JIRAJIRA
•MS DynamicsMS Dynamics
•PaypalPaypal
•TwilioTwilio
•LinkedInLinkedIn
•AlfrescoAlfresco
ExamplesExamples