InfoQ

新闻

Mule 2.0 发布啦

作者 Ian Roughley 译者 张龙 发布于 2008年4月28日 上午1时19分

社区
Java,
SOA
主题
SOA平台,
ESB,
SOA Appliance
标签
Mule

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

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。