Mule 2.1 企业版和 Mule Galaxy 1.5 发布了

  • Dilip Krishnan
  • 胡键

2008 年 11 月 16 日

话题:SOA治理架构

开源面向服务架构(SOA)基础设施提供商 MuleSource 宣布了Mule 2.1 企业版Mule Galaxy 1.5已经全面可用。

Mule 2.1 企业版

Mule 2.1 企业版是流行的开源企业服务总线(ESB)的企业版。根据官方发布的消息,Mule 2.1 企业版的独有特性包括:

  • 高级连接器:为高性能量身定做,具有企业版独有的特性,完全得到 MuleSource 的保证和支持
  • Mule RESTpack:现在作为 Mule 2.1 企业版的核心部分被支持,允许开发者使用诸如 RESTlet 和 Jersey 这样的流行框架创建 REST 风格的服务,这种风格的服务形成了面向 Web 架构(WOA)的基础
  • 开箱即用的重试策略:允许创建自修复连接,指示 Mule 根据预定义策略重新建立连接,完全不需要自行编写代码

在访谈中,Mulesource Inc 的 CTO 和联合创始人 Ross Mason 详细说明了 RESTpack 众多特性:

Mule 增加了大量选项来帮助你创建和消费 RESTful 服务。它增加了对新的JAX-RS(JSR-311)标准的支持,该标准让你可以通过注解你的类来创建 RESTful 服务。它加入了Restlet项目的支持,该项目是一个消费和创建服务的轻量级强大代码库。所有特性都支持大量的序列化格式,从 XML 和 JSON,到 HTML 和二进制类型。并且通过一个新的Apache Abdera,Mule 还支持 Atom feeds 和Atom 发布协议

……他也谈到了支撑“自修复连接”的策略:

这些策略能够自行修复对外部资源(如数据库或 JMS 服务器)的连接。重试策略会每隔一个时间段尝试连接资源、触发上报和发出通知。

Ross Mason 解释道,通过它的各种连通性选项,该产品支持与其他平台及其他技术(如.Net)的互操作性。

- REST 或 Web 服务(WS-Addressing、WS-Security、WS-Policy)

- AMQ 消息代理,如Apache QPid

- 自定义 TCP 协议

……他补充说“在 Mule 容器内,部署用 Python 和 Ruby 写的服务也是有可能的。

当我们问到企业版对联邦 / 身份认证解决方案的支持,以及所支持的认证 / 授权机制时,他回答说:

Mule 支持端点认证和服务级别的授权。用户和组可以通过 LDAP 和 DB 来访问。Mule 也支持用于集中认证的 WS-Security、SAML 1.0 和 CAS。

最后,他又谈到了对开发者体验的改进:

Mule 2 对 IDE(如 Eclipse 和 IDEA)的支持更好了,这都得归功于配置使用了支持“代码自动补全(auto-complete)”、验证和上下文帮助的模块化架构(modular schemas)。

Mule Galaxy 1.5

Mule Galaxy 1.5是 MuleSource 的开源 SOA 治理平台最新主要的发布版本,它集成了注册中心 / 仓储。这次发布中的新特性包括:

  • 允许编写脚本的外壳:允许 Galaxy 的超级用户编写自定义 Galaxy 扩展
  • 事件 API:Galaxy 内部服务和制品的重要改变会触发一个内部事件,它可以触发一些动作,如发送通知或应用远程策略
  • 搜索结果支持 Feeds:通过 Atom feed 订阅任何搜索,并通过新闻阅读器监视变化
  • 强类型属性:存储强类型属性,如字符串、列表、用户、生命周期,或甚至是制品间链接
  • 服务元数据存储:存储描述任何类型服务(RESTful、TCP、JMS 等)的元数据
  • 改进的 Atom API:功能增强,可对服务和制品做更多的操作
  • 改进的 Galaxy 查询语言:支持更复杂的查询
  • 自动升级:简化从 Galaxy 的低版本升级

在对 Mule Galaxy 幕后的软件架构师 Dan Diephouse 的访谈中,我们要求他详细说明产品具有的治理特性及路线图。对此他回答说:

现在的 Galaxy 主要是设计时导向的,但它确实包含了一些运行时特性。它支持加载 WS-Policy 文档并将之应用于 Web 服务。同时,在 1.5 中,还能通过注册中心中的元数据保存运行时的服务信息。通过 Atom API,你可以轻松地更新服务的当前状态信息,以及在哪访问它的信息。

我们还没有发布我们的路线图,但是运行时特性是我们未来计划的重要部分。

当问及和其他商业产品相比,该产品有哪些优势时,他说:

Galaxy 是一个更轻量级的产品,而且是一个开源项目。我们可以和其他开源产品很好的集成。用户可以自由地扩展和修改 Galaxy。结合我们的 Atom API,简化了集成。举例来说,就比沿着 UDDI 的路子要简单得多。

鉴于产品的某些特性和服务管理领域也有交叉,我们想知道该产品是否提供了关于 ITIL 的任何模板和最佳实践。他对此做出了否定的答案,但补充说“或许有可能定义符合 ITIL 最佳实践的策略集”。

关于使用策略如何执行服务发现和发布,他解释道:

生命周期转换和卸载会有策略执行,以便注册中心中的任何事物都服从或迁移到下一个生命周期阶段。两个生命周期和策略都可以定制。

当问到为了有效利用 Galaxy 产品,用户是否需要 Mule 企业版,以及该产品和其他 ESB 配合如何时,他进行了澄清:

Galaxy 是一个单独的产品,它根本就不需要使用 Mule。我们有些用户针对他们自己内部的 ESB 写了些集成代码,而且我们支持大量其他的开源项目,如 Apache CXF。

但是,对于 Mule 用户,同时选择使用两者的客户会获得更深入的集成。尤其是有一个被称为Mule NetBoot的特性,它支持复杂应用的部署管理。通过 NetBoot,Mule 用户可以把 Mule 配置集中保存到 Galaxy 的仓储。一个 NetBoot 代理运行于远程服务器上,下载被集中管理的配置,并使用该配置启动本地的 Mule 实例。这使得管理员可以确保每个 Mule 实例的配置都是最新并且也是正确的。这对于我们那些有多个 Mule 实例在远程位置运行的客户来说特别有用。例如,我们有一位客户在它遍布全美的零售点低点运行了 13,000 个 Mule 实例。

他总结说

[……] 前几个月,自从它发布以来,已有大量社区成员下载并安装了 Galaxy,许多人不断地向我们提供它的反馈。我们正在整理用户案例研究,并在今年晚些时候会完成一些。

欲了解产品细节,参见Mulesource的官方发布。

查看英文原文Mule 2.1 Enterprise and Mule Galaxy 1.5 Enterprise Released
SOA治理架构