Beruflich Dokumente
Kultur Dokumente
Ross Mason
CTO, Co-founder,
MuleSource Inc.
Agenda
• What is Mule?
• Introduction to Mule 2
– New platform
– New features
• Beyond Mule 2
– OSGi
• What else is going on with Mule?
– Review
– MuleForge
– MuleIDE
– No class names
– Properties are defined in the schema
– Validation that the properties are set correctly
<jdbc:connector name="jdbcConnector1">
<jdbc:dataSource instance-ref=”ds" scope="singleton"/>
<jdbc:queries>
<spring:entry key="get" value="SELECT ID, TYPE FROM TEST WHERE TYPE = ${type}"/>
</jdbc:queries>
</jdbc:connector>
. . .
<mule/>
• Configuration can
be managed
centrally or per
server.
• Support for multiple
repositories.
• Mix and match
configurations for
different apps.
<model-streaming name="main">
<service name=”fileTcpBridge">
<component instance-ref=”streamBean" scope=”pooled”>
<inbound-router>
<endpoint address="file://${mule.working.dir}/in"/>
</inbound-router>
<outbound-router>
<pass-through-router>
<endpoint address="tcp://localhost:34561"/>
</pass-through-router>
</outbound-router>
</service>
</model-streaming>
<mule:nested-router>
<mule:binding interface="o.m.examples.amulzon.CreditChecker">
<mule:endpoint address=”http://creditchecker.com/rest/Validate”/>
</mule:binding>
</mule:nested-router>
<mule:outbound-router>
. . . .
</mule:binding>
</mule:nested-router>
• A sort of Java OS
• Embraced by Spring
Change Management
• Update and restart a part of your running Mule instance without
having to restart all of it
High Availability
Dependency Mgmt.
Deployment Model
Patch Mgmt.
• A user's Mule app. then looks up the needed services from the
Registry and binds to them.
2007… so far
• In MuleIDE 2.0
– Drag n’ Drop configuration
– Extensible graphical palette
– Xml Round tripping
• switch between graphical
editor and Mule Xml
• No loss of structure or
comments
– Extensible graphical editing
– More project
wizards/templates
Code Jump
<service name=”AmulzonService">
<component instance-ref=”amulzonBean" scope=”pooled”/>
<inbound-router>
<endpoint address=”stream://System.in” transformers”StringToOrder” />
</inbound-router>
<outbound-router>
<pass-through-router>
<endpoint address=”stream://System.out”/>
</pass-through-router>
</outbound-router>
</service>
<mule:nested-router>
<mule:binding interface="o.m.examples.amulzon.CreditChecker">
<mule:endpoint address=”http://creditchecker.com/rest/Validate”/>
</mule:binding>
</mule:nested-router>
<mule:outbound-router>
. . . .
</mule:binding>
</mule:nested-router>