????
?
?
???????? ?好久没有关注SOA领域了,最近在帮客户完成系统集成以及portal设计开发后,需要为客户设计一套SOA实施框架,以便后续企业内部更好的IT开发实施。根据实际需要,选取开源组件作为改造基础,于是和openEsb,serviceMix,Mule缠绵了一段时间,比较一下。
?
?? IDE方面:
?
?????? openEsb 有对应Netbean IDE支持开发,设计,部署,是三个组件中IDE方面做的最好的一个,特别是流程方面,支持可视化的拖拉设计。
?
?????? ?Mule有对应的Eclipse IDE支持建立mule工程,建立mule亚博国际平台文件,流程方面可以借助jbpm流程设计器进行可视化开发,数据整合方面也有相应的Eclipse插件。Mule 在IDE支持方面比较好。
?
????? serviceMix提供庞大的功能亚博国际平台,但IDE方面提供的支持较少。
?
?? Bpel:
?
????? openEsb实现了JBI规范,将Web服务作为实现其业务功能的“活动”。而且提供了流程设计工具,统一化的服务描述在系统间业务流程整合方面做的比较好,但在流程监控方面需要做大量的工作。
?
????? Mule支持bpel,并且支持jbpm流程,对于人机交互的流程设计优势明显。后续的流程监控,数据提取借助JBPM提供了比较大的可操作空间。
?
??? serviceMix也支持bpel流程,但直接操作性有限。
?
?
? Message:
??
???? 三个组件都支持Jms,http,tcp,soap,ftp等通讯协议,并且提供了内置的connect支持,其中serviceMix在消息验证,转化,路由方面的功能最多,范围最广。
?
???? Mule次之.
?
????? openEsb由于文档原因,存在不少需要探索的黑箱.
???
?
? Server:
??
?????? openEsb支持glassfish.
?
????? ?serviceMix易于作为嵌入式ESB使用;集成了对Spring技术的支持;可以在客户端或服务器端运行;可以作为独立的ESB提供者,也可以作为另外ESB的服务组件; 可以在JavaSE或JavaEE服务器中使用;ServiceMix同ApacheGeronimo以及JBoss服务器完全集成,并且在Apache Geronimo服务器中可以直接部署JBI组件和服务。
?
??? ??? mule 集成了对Spring技术的支持;可用作ESB 容器,而Mule 也可以很容易的嵌入到Spring 应用中.
?
?
??文档说明:
???
?????? ?mule在文档方面做的最好,Mule的运作能力也许是它在开源ESB中最大的优势:商业的支持公司Mulesource.com,给大家贡献代码的MuleForge.org,年度大会MuleConf,还挖来了CXF的作者与SaleForces的CXO。
?
??????? ?serviceMix次之。
?
???????? ?openEsb文档最少,很多特征属性需要进入代码级熟悉。
?
??掌控能力:
?
????????? mule方面国内不少项目都是基于这个开发,有一定的实施先例,而且可实施性强。
?
???????? serviceMix体系大,开发过程繁杂,需要有相当大的资源支持。
?
????????? openEsb文档资料少,需要摸索的地方多。
?
?
在实际项目具体选型方面还要考虑性能,集群方面.
?
?
?
?
?
??