分享

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

 开心豆豆2010 2011-03-17
 
作者:honnom@163.com
时间:2010-12-27
 

    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 能很
好的和第三方开源项目整合到一起,简化整合应用,这可以让用户大大受益。
 
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/honnom/archive/2010/12/27/6100374.aspx

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多