2010年度ESB产品盘点:开源ESB产品之Mule

来源:互联网 发布:淘宝手机壳进货渠道 编辑:程序博客网 时间:2024/06/10 17:25

作者:honnom@163.com

时间:2010-12-27

首发:http://blog.csdn.net/honnom


    2010 年对 Mule 来说是极其重要的一年,在这一年发布了他们的下一代集成平台 Mule 3.0 。作

下一代整合平台, Mule ESB3.x 的重点主要集中在无缝整合云应用, SaaS ,移动计算,以及简

配置和提供更灵活的操作。

架构演变

  “让一切变得更简单”是 Mule 的宗旨。

   从其架构演变就可以深深体会到这一点,其架构从 1.x 2.x ,到现在的 3.x 在不断的演变。客

而言, 2.x 的架构其实没有发生大的变化,但 3.x 根据 EIP 模式中的 pipes and filter   模式对

核心架构进行了重构。

     1 、“神码都是 Message Processor ”,这样描述 Mule 确实不够恰当,甚至有些过分,但在

Mule3.x 中,大多数核心组件都实现了 Message Processor 这个接口, 比如 endpoints

transformers routers 等,它们都是 Message Processor Mule3重构核心架构的目的之一

就是统一这些接口。 Mule Message Processor 就是 pipes and filter 模式中 filter 的具体

实现。

     2 pipe 在哪?确实,在 Mule3 中不需要显示的指定 / 配置 pipel ,因为在 Mule3 中并没有

定义这一概念,所以严格上讲,其架构只实现了 filter ,而没有实现 pipe 。没有 pipe ,那么各个

filter 之间通过什么联系在一起呢?于是 flow 的概念应运而生。

     3 flow 概念的提出。通过 chain 或者 composite 的形式将 filter( Message Processor)

组合在一起就形成 flow 。基于 flow Mule3 做了两件事情。第一件事情,基于 <flow/> xml

配置,在此基础上,将常用的消息流( message flow ),也就是常用的消息处理模式再次进行

xml 简化,实现了基于模式的配置,比如 ws-proxy 等;第二件事情,基于 java 代码配置 flow

类似于 DSL ,可以动态地实现 flow

 

     4 message exchange patterns (MEPs) 的支持。对 MEPs 的支持已经不是什么新鲜事情,

     Mule2.0 中已经实现了 MEPs

Mule ESB3.x 的核心新特性

     1 、 Cloud Connector 。开始触摸云, Mule ESB 通过其 iBean 组件可以接入到云

应用,比如 Amazon Web Services, Twitter 和 Facebook 。

 

     2 、基于 Flow 的编程模式。第一种方式在 API 级别提供 flow 的形式编排 Mule 的

service ,这一点和 Camel 的 DSL 类似,不知其实现初衷是不是借鉴 Camel 。第二种

方式通过 XML 配置文件对 <flow/> 进行配置。

     3 、配置模式化。将常用的场景进行了模式化,简化了配置。比如配置 ws proxy 非常

简单,可以看看之前讲解《 关于Mule3.0中WebService Proxy的实现机制和实例浅析 》 的博客。

     4 、新的部署模型。可以将 service 单独或者以分组的形式打包部署。支持自动化热部

署,各个部署单元相互隔离,不相互影响。热部署机制并没有采用 OSGi ,而是他们自己

写一套类似的加载机制。因为他们觉得目前 OSGi 对于普遍用户来说并不是一件很简单的

技术。

     5 、支持动态 Endpoint 。在运行期通过消息内容或者是属性,动态计算 Endpoint 的

uri 。

积极参与其他开源项目

     Mule 除了不断完善自己的产品之外,还积极投入到其他开源项目,这些开源项目涉及

到两个方面: Application Server BPM 。他们选中 Tcat Server( 企业级的

Tomcat) Activiti BPM 项目。

2011 年期待

       Mule Studio 2011 MuleSoft 发展的重点项目,它提供了图形化拖拽的功能,简

化了编写大量 XML 的工作,关键的是继续提供免费使用,这点很给力。

     另外, Mule Management Console (简称 MMC )只在 Mule EE 版本( Mule

企业版)中提供,在 Mule CE 版本( Mule 的社区版本)中不提供下载,这点对于开源社

区的人来说非常遗憾。除此之外, MMC 的功能也很有限,远不足与 WSO2 RR 产品相

抗衡。

从演变路径看发展路线

       MuleSoft 公司的产品虽然很单一,目前属于自己的产品只有 Mule,Mule MQ Mule

Data Integrator ,后两款产品都是收购其他公司的产品,只用于商用,并非开源。这之

前很多开源 ESB 公司因为 MuleSoft 没有自己的 MQ 而攻击它,说它不是一个 ESB

品。

     为了丰富其产品,它的运作模式和 WSO2 截然不同, WSO2 是通过扩展已有的开源

项目推出了自己的 SOA 系列产品,而 MuleSoft 一边收购其他产品(比如 Mule MQ

Mule Data Integrator ),一边积极投入到其他开源项目。收购产品可以迅速完善产品体

系,但这些产品都是商业性质的,不对外开源;投入其他开源项目的目的是让 Mule 能很

好的和第三方开源项目整合到一起,简化整合应用,这可以让用户大大受益。

 

原创粉丝点击