Integration with Mule

Preview:

Citation preview

Integration with MuleIntegration with MuleOklahoma City Java Users GroupOklahoma City Java Users GroupMarch 2013March 2013 Ryan HoeggRyan Hoegg

ConfluexConfluex

in·te·gra·tionin·te·gra·tion\ˌ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 of work together to produce a unified set of

functionality”functionality”http://www.eaipatterns.com/IntegrationStylesIntro.html

How to do it:How to do it:

Exchange filesExchange files

How to do it:How to do it:

Share a databaseShare a database

How to do it:How to do it:

Call programs remotelyCall programs remotely

How to do it:How to do it:

Send messagesSend messages

mes·sagemes·sage\ˈme-sij\\ˈme-sij\

““a bounded package of information that a bounded package of information that (can be/has been/is) in the process of being (can be/has been/is) in the process of being

delivered from a sender to a recipient”delivered from a sender to a recipient”http://c2.com/cgi/wiki?MessageDefinition

org.mule.api.org.mule.api.MuleMessageMuleMessagePayload: contents, or body of the Payload: contents, or body of the messagemessage

Properties: key/value pairs, message Properties: key/value pairs, message metadatametadata

no, this slide doesn’t mention attachmentsno, this slide doesn’t mention attachments

flowflow\ˈflō\\ˈflō\

The primary unit of a mule applicationThe primary unit of a mule application

Flow Building BlocksFlow Building BlocksMessage SourceMessage Source

Inbound EndpointsInbound EndpointsPollsPollsCustomCustom

Flow Building BlocksFlow Building BlocksMessage ProcessorsMessage Processors

TransformerTransformerFilterFilterRouterRouterComponentComponentCustomCustom

TransportTransportProvides connectors that allow Mule to send Provides connectors that allow Mule to send and receive messages using a particular and receive messages using a particular technologytechnology

•HTTPHTTP•FileFile•FTPFTP•JMSJMS

•SMTPSMTP•IMAPIMAP•VMVM•TCPTCP•JDBCJDBC•RMIRMI

•XMPPXMPP•SAPSAP

ExamplesExamples

Cloud ConnectorCloud ConnectorBundle of mule extensions for specific SaaS Bundle 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

•CyberSourceCyberSource

ExamplesExamples

Example code: Example code: http://www.confluex.com/blog/mule-example-imperial-manufacturing/http://www.confluex.com/blog/mule-example-imperial-manufacturing/

Who is this guy talking?Who is this guy talking?@rhoegg@rhoegg+Ryan Hoegg+Ryan Hoeggryan.hoegg@gmail.comryan.hoegg@gmail.comrhoegg@confluex.comrhoegg@confluex.com