目前的开源ESB产品

Mule 

它是一个轻量级的消息框架和整合平台,基于EIP(EnterpriseIntegerationPatterns,由Hohpe和Woolf编写的一本书)而实现的。

Mule的核心组件是UMO(UniversalMessageObjects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑。

UMO可以是POJO,JavaBean等等。

它支持20多种传输协议(file,FTP,UDP,SMTP,POP,HTTP,SOAP,JMS等),并整合了许多流行的开源项目,比如Spring,ActiveMQ,CXF,

Axis,Drools等。虽然Mule没有基于JBI来构建其架构,但是它为JBI容器提供了JBI适配器,应此可以很好地与JBI容器整合在一起。而Mule更关注其灵活性,高效性以及易开发性。从2005年发表1.0版本以来,Mule吸引了越来越多的关注者,成为开源ESB中的一支独秀。目前许多公司都使用了Mule,比如Walmart,HP,Sony,DeutscheBank以及CitiBank等公司。

ApacheServiceMix

它是JBI规范的一种实现。它包涵了许多JBI组件,这些组件支持多种协议,比如JMS,HTTP,FTP,FILE等。同时也实现了EIP,规则和调度。自从JBI被JCP接收后,2005年末ApacheServiceMix才被Apache作为其卵化项目,到2007年9月,它已经成为Apache的顶级项目。ApacheServiceMix也整合了其他的开源项目,比如ApacheActiveMQ,ApacheCXF,ApaheCamel,ApacheODE以及ApacheGeronimo。

说起ApacheServiceMix,就会使我想到LogicBlaze公司。它曾经是ApacheServiceMix和ApacheActiveMQ的商业支持者。2006年LogicBlaze被IONA成功收购后,IONA负责为ApacheServiceMix提供支持和服务。同时IONA也将ApacheServiceMix作为FUSE平台中的一员,FUSE旗下还包括ApacheActiveMQ,ApacheCXF,ApaheCamel,FUSEHQ。

官方网站:http://servicemix.apache.org/

Fuse平台的官方网站:http://open.iona.com/products/fuse-esb/

OpenESB

前两个开源ESB都由开源社区提供支持,Mule由Codehaus社区提供支持,ServiceMix由Apache社区提供支持。OpenESB是由SUN发起,现在作为Java.net的子项目。所有OpenESB的开发人员都来自SUN。

如同ApacheServiceMix一样,OpenESB也实现了JBI规范。OpenESB可运行在由SUN支持的Glassfish应用服务中。同时SUN的NetbeansIDE为OpenESB提供了拖拉式的开发工具,这是其他开源ESB不可匹敌的,尽管Mule也提供了基于Eclipse的插件工具,但目前仍然不够强大。

官方网站:https://open-esb.dev.java.net/

ApacheSynapse

虽然ApacheSynapse具备一些ESB所必备的功能,但是从本质上而言Synapse更是一个web服务仲裁框架,它是构建在ApacheAxis2之上的。Synapse的关注点是路由,转换,消息验证以及基于web服务和xml标准的注册。它支持HTTP,SOAP,SMTP,JMS,FTP,MTOM/XOPPOP3/IMAP/SMTP等传输协议,还支持多种web服务规范(WS-*),比如WS-Addressing,WS-Security,WS-Policy以及WS-ReliableMessaging。在它的最新版本1.2中加入了对FIX(FinancialInformationeXchange,金融信息交换协议)和Hessian的支持。同时它还支持多种流行语言,比如Java,JavaScript,Ruby,Groovy等。

官方网站:http://ws.apache.org/synapse

JBossESB

JBossESB是基于JBoss公司的ESB产品Rosetta的。JbossESB将JbossMQ作为其消息层,将JBossrules为其提供路由功能,

将jBPM为其提供服务编排功能。足以见得JBoss的野心。

相关推荐