Mule 2.0 发布啦

Mule是一个轻量级且高度可扩展的ESB,最近它发布了2.0版。2.0版的新特性包括:

  • XML Schema——通过使用基于XML Schema的配置,Mule的配置比以往更简单。这为IntelliJ和Eclipse这样的IDE提供了配置自动补全特性,使得配置更加简单。
  • Spring式的Mule——Spring是默认的配置机制,同时Mule也可以利用Spring AOP、Spring资源加载和Spring模块。
  • 架构上的改进——进行了很多架构上的改进,包括引入了MuleContext和Registry;将MuleDescriptor改为独立的服务及组件模型;端点改进;以及对流和转换的改进。

InfoQ采访了MuleSource的CTO及共同创始人Ross Mason以了解该新版本。

有了架构上的改进、新的XML配置及包的重新组织,Mule 2与Mule相比有哪些不同?

主要的改变就是新的XML配置。所有的配置元素都是类型良好的(well-typed)且可描述的。在配置文件中不再有类名了(除了你自定义的扩展)。每个命名空间都向你的应用中引入一个模块或者transport。命名空间使得用户可以为每个transport配置transport特定的端点,这很轻松地就让我们知道必须的配置以及可选的配置。通过使用基于schema的配置,大多数Xml编辑器都会提供代码补全及内联文档的功能。

我们可以看到有很多架构上的改变:
  1. 没有MuleManager了。相反,我们将这个大对象分解为可管理的几部分,这样扩展就更容易了,同时对核心服务器端行为的回调也更容易。
  2. 从用户的角度来看,他们所处理的对象的定义更加准确了。我们已经仔细研究过Mule中的所有对象,并确定他们的定义和作用是定义良好的。
  3. MuleContext提供了对Mule资源的运行时访问(每次一个实例)。
  4. Registry可以管理运行时对象。你可以拥有多个Registry,这使你能覆盖现存的Mule实例的配置。
  5. 我们已经将组件(定义业务逻辑的POJO)服务(定义如何以服务的方式管理组件的配置)的概念进行了分解。这对于帮助用户理解组件和服务的关系是很重要的。
  6. 核心的架构尚未改变,这意味着Mule的老用户不必抱怨,他们仍旧可以沿用以往的工作方式。

对于现有的Mule用户来说有没有推荐的升级方式呢?

现在还只能以手工方式升级到Mule2.0。配置的结构与Mule1.0非常类似,但是对于Mule2.0来说,配置量大大降低了。对于Mule的企业用户来说,当我们发布了Mule2.0企业版时,我们会发布一个升级工具。

这么多的特性,你认为用户对哪些最感兴趣呢?你认为什么特性是最值得你自豪的?

自从对mule做了这么多大的改进后,我最自豪的地方就是其核心架构。我们需要为Mule上的新项目创建一个良好的平台。不幸的是,大多数用户永远也不会直接看到这些变化 :)

  1. 我们新增了一个表达式计算框架,这意味着用户可以定义像xpath、xquery、groovy和jxpath这样的表达式并使用Mule特定的处理器,如header、attachment及function表达式在运行时获得消息中的信息。我们可以使用这些表达式快速转换当前的消息、构造新的消息以及进行基于内容的路由。这是相当强大的功能,因为这使得运行时的配置更加动态。为mvel、ognl或者jruby等增加新的表达式计算插件也是非常容易的。
  2. 我们对消息处理进行了修补,现在已经支持自动转换了,这意味着必要时会探测已有的转换器并应用他们。这样用户就可以使用MuleMessage.getPayload(org.w3c.dom.Document.class)或者MuleMessage.getPayload(org.xml.sax.InputSource.class)来请求不同的消息类型。同时用户依旧能像以前那样显式定义转化器。
  3. 消息处理更加高效。默认情况下使用流方式处理,因此没必要再去显式定义流的端点。
  4. 我们对特定transport端点配置做了巨大的改进,这将根除端点配置错误的情况发生。
  5. 就在Mule 2.0发布的同时,我们还发布了Mule IDE的里程碑。它基于Eclipse并且包含了对新的可视化拖拽编辑的预览。

你还想增加什么呢?

架构上的改变使得Mule能从OSGi容器上加载。Mule 2.0还不支持OSGi,但是在本月初旧金山举办的MuleCon大会上,我们在Mule上演示了一个服务热部署的demo,大家都对这个demo表现出极高的热情。

Mule 2.0已经发布了,请查看概览并下载最新版以了解这些新特性是如何工作的。

查看英文原文:Mule 2.0 Released

你可能感兴趣的:(Mule 2.0 发布啦)