本周,MuleSoft发布了其企业服务总线Mule ESB 的3.1 版。 Mule 3.0 于去年9 月发布,重点在于“简化一切,让Mule 3 更加适合于每一个人”。Mule 3.1 则通过关注 Mule Cloud Connect 、 Mule Flow 和 BPM 将这一理念更进一步。
Mule Cloud Connect 彰显了 Mule 使用公共服务的能力。3.1 版只带有 4 个连接器,用于使用 Twitter 、 SalesForce 、在线支付服务 Authorize.Net 和 Cybersource 。比如说,所有的 Mule 声明都使用 Twitter 作为示例,下面的代码是 Authorize.NET 处理信用卡支付的示例:
复制代码
<auth:config merchantLogin="<YOUR MERCHANT LOGIN>" merchantTransactionKey="<YOUR MERCHANT TRANSACTION KEY>" name="auth" testMode="true"/> <flow name="payment"> <http:inbound-endpoint address="http://localhost:9898/payment" exchange-pattern="request-response"/> <auth:authorization-and-capture cardNumber="370000000000002" expDate="12/12" amount="400"/> <expression-transformer> <return-argument evaluator="bean" expression="responseReasonText"/> </expression-transformer> </flow>
开发者还可以使用自己的客户化 XML Schema 构建云连接器(需要指令、登录)。
3.0 中引入的 Mule Flow 添加了对 3 个更高层抽象的支持:“invoke”用于调用服务、“poll”用于监控端点并在某些消息到来时触发流程、“enricher”可以使用系统调用的结果并将其注入到当前运行的流程当中。此外,3.1 版还将底层所用的 Apache CXF 升级到了 2.3.0 并添加了对 Spring Security v3 的支持。
最后,Mule 与业务流程管理(BPM)实现了解耦。jBPM 是“Mule 中的组件而非传输器,这样我们不仅可以连接到外部的 BPM 引擎,还可以在 Mule 中使用 jBPM 处理消息”。这种改变导致的结果就是 Mule 3.1 移除了 Mule 3.0.1 中不建议使用的 BPM 传输器。现在与 BPM 交互的推荐方式是通过“”消息处理器。
虽然 Mule 代码基于 CPAL 许可开源,但诸如 Mule 管理控制台等其他特性则需要商业许可。Mule 的其他变化包括 Apache ServiceMix 、 Apache Synapse 和 JBoss ESB 。借助于 3.1 中的 Flow 功能,Mule 开始了与 Apache Camel 和 Spring Integration 的集成。
查看英文原文: Mule ESB 3.1 Released
评论