几款开源ESB总线的比较(转)

现有的开源ESB总线中,自从2003年第一个开源总线Mule出现后,现在已经是百花争鸣的景象了。现在我就对现有的各种开源ESB总线依据性能、可扩展性、资料文档完整程度以及整合难易程度等方面展开。

CXF

CXF的定位不是ESB总线,而是一个服务框架(Service Framework),主要还是为关于服务的应用提供API上的支持,或者上下文上的管理。

但是它的前身之一的Celtix就是IONA公司捐献给开源界的ESB总线,所以整体上还是能提供ESB总线的功能(需依靠与其它的容器)。在CXF中的总线只是起到一个共享资源的提供者的作用。这些贡献资源就相当于JBI规范中的绑定组件(BC)或服务引擎(SE)。即使如此CXF并没有提供了对JBI规范的完整实现。可以说它只是一个类似的JBI容器。

CXF支持与除了HTTP之外的其它协议的通信绑定,例如REST、JSON和CORBA等,所以对于Ajax有较强的兼容性。这相对与其他的ESB总线而言可以说是一个较大的优势。

但是CXF的ESB总线是依据Spring框架来实现的,由Spring来管理Bus中的各个组件。而Spring对各个Bean或组件的管理是通过一个上下文的配置文件来实现的。这样的方式相对与其他的ESB总线(例如依据JMX)的方式而言,则不支持动态的热部署。也就是说CXF不是一个JBI容器,它必须依附与其他的容器来运行。现有的资料来看,CXF目前可以部署在JBoss和BEA Weblogic中,Tomcat服务器由于不支持完整的J2EE规范,特别是基于JCA的EJB,所以对CXF支持的程度不理想。虽然资料中没有涉及到Geronimo,但是以Geronimo对J2EE规范的兼容程度来看,特别是EAR文档的支持,在Geronimo中部署CXF应该没有什么太大的障碍。

同样你可以在使用Spring的应用中嵌入CXF,而这只需要在Spring的配置文件中填写相应的配置信息即可。

关于CXF的文档较为丰富,这部分是由于它本身是整合了Xfire和Celtix这两个本身较为成熟的开源项目。另外它较大的依赖于Spring框架,所以如果对Spring较为熟悉的话,在使用上一般就没有太大的障碍了。

Open ESB

OpenESB是Sun公司提出来的开源ESB项目,所以对JBI规范的支持程度就不用多说了。而GlassFish ESB则是将OpenESB的核心运行环境与GlassFish应用服务器以及NetBean的集成开发环境整合在一起的有一个ESB项目,当然其中还包含了一些OpenESB中已有的组件(子集)。

在OpenESB中提供了能够支持WS-BPEL2.0的引擎。但是现在这个组件支持WSDL1.1,暂不支持WSDL2.0。而且这个引擎要依托与NetBean集成开发平台,起码只能得到基于NetBean的相应开发包和组件包。但是这个组件对BPEL提供了强大的支持,其中包括支持端点状态的监控、支持多线程执行、业务流程的调试、系统错误的可靠性恢复中各个业务流程实例的数据库持久化以及负载均衡等。

在资料方面只有一个演示视频,主要还是基于NetBean平台的使用介绍。其他公布的资料则则较少,特别是API方面几乎没有。所以如果要对OpenESB进行按照自身的要求进行扩展则较为困难,除非对OpenESB的源代码进行全面的分析。

ServiceMix

ServiceMix是Apache基金会下的一个ESB总线,同时也是一个独立的JBI容器(也就是说它支持完整的JBI规范)。说它是一个独立的JBI容器,是因为它拥有自己独立的运行环境,能像应用服务器一样启动,并支持动态的热部署等,这一点则区别于CXF。

ServiceMix的容器运行环境采用内核的架构,并以Geronimo关于J2EE方面的实现为基础(当然也就支持J2EE的各方面规范,例如安全性方面的JAAS等),所以在性能上还是较为出色的。在通信上,整合了ActiveMQ,也支持多种的通信协议,例如HTTP和JMS。同时在管理组件上采用了JMX的管理架构,从而能够对部署在总线上的各种组件进行动态的配置和管理,或通过Web的形式,或通过JMX远程访问均可。ServiceMix内核能够整合到所处的操作系统中,从而作为OS的对外提供的服务。区别与其他总线的是,ServiceMix还提供了自己的脚本命令控制台,并通过一些简单命令来管理应用组件以及ServiceMix内核实例。

关于ServiceMix的资料也较为的完备,其中当然也包括一些简单的小例子。关于组件扩展方面和流程引擎整合方面的详细资料则不够详细。如果要做进一步的总线上的扩展,则需要对源代码和例子进行较为深入的学习和研究,当然这一切的基础是对JBI的规范有较为全面的了解。

JBoss ESB

JBoss ESB是JBoss社区为面向SOA而提出的一个EAI系统平台。它提供了很多EAI本身所应具有的功能,例如业务流程监控、集成开发环境、工作流用户接口、业务流程管理、分布式计算架构以及作为应用容器的功能等。可以说JBossESB在功能上是较为强大的。但相对于上面的总线而言,它的技术架构方案是最独立的。因为它除了支持J2EE标准外,对于JBI规范压根就不沾边。当然也就不存在JBI规范中的规范化消息路由、服务引擎和绑定组件了。JBossESB除了支持 Web Service外,还支持多种的远程调用协议,例如JMS。只是相对于ServiceMix和CXF而言,如果要对JBossESB进行扩展,可能要花费较大的时间和精力。

JBossESB相对上述的开源项目而言,一个很大的优势在于文档资料是最为丰富和完备的。所以在开发和扩展上减小了不小的阻力。它并且依托于成熟的JBoss社区,周围齐全的开源项目支持,为后期的平台扩展提供了丰富的选择空间。

UltraESB

 

UltraESB 是一个开源的企业服务总线 ESB 项目,特点是高性能和易用。提供一个强大而具备良好伸缩性的架构,在性能方面表现优异,而且轻量级,易于使用和管理。

支持传输层:

  • HTTP/S
  • JMS
  • Email (POP3/IMAP/SMTP)
  • AMQP
  • File/SFTP/FTP/FTPS/Samba
  • Timer (Scheduled Job)
  • TCP/S
  • MLLP/S

支持协议:

  • REST
  • SOAP
  • Hessian
  • FastInfoset
  • AS2
  • Protocol Buffers

特性:

  • EIP
  • JTA XA / Local Txn's
  • WS-Security
  • JAXB
  • XSLT / XQuery
  • JSR 223
  • Data Services
  • Soring Support
  • Binary
  • XACML
  • AuthN and AuthR
  • Caching
  • Throttling

http://adroitlogic.org/

 

MuleESB

 

 

Mule是当下使用最多的开源集成平台。MuleESB价格低廉,配置、扩展简单,而且灵活性强,使得它非常流行。

http://www.mulesoft.org/

 

WSO2 ESB(WSO2)

 

 

相比其他使用了JBI规范的重量级ESB,WSO2这个新来者带来了一个轻量级的ESB。这是因为,WSO2 ESB以Web服务标准作为集成的焦点。

http://blog.csdn.net/linlzk/article/details/25036069

时间: 2024-12-30 07:01:43

几款开源ESB总线的比较(转)的相关文章

十款开源的数据库管理工具

任何Web软件和应用程序都需要强大的数据库来做后盾,目前,网上有无数个数据库管理工具,而开发者选择一款适合自己的尤为重要.本文给开发者介绍了10款免费的数据库管理工具,开发者可以使用它们进行SQL操作.多链接.多数据库引擎操作等等. 1.Open KeyVal Open KeyVal是一款开源免费的键值数据库管理工具,基于Web,并且基于PHP开发,其目标是用最简单的方法来管理Web应用程序数据.用户只需发送一个POST请求就可以存储任何类型的数据,它是以JSON的格式来响应请求的. 2.DBV

5款开源云计算平台推荐

以下列举了开源中国社区收录的5款知名的开源云计算平台. 1.AbiCloud企业级开源云计算平台 Abiquo公司推出的一款开源的云计算平台--"abiCloud",使公司能够以快速.简单和可扩展的方式创建和管理大型.复杂的IT基础设施(包括虚拟服务器,网络,应用,存储设备等等).AbiCloud较之同类其他产品的一个主要的区别在于其强大的Web界面管理.你可以通过拖拽一个虚拟机来部署一个新的服务.这个版本允许通过VirtualBox部署实例,它还支持VMware,KVM和Xen. a

2016阿里巴巴73款开源产品全向图

这是开发者和开源爱好者正在共同书写的峥嵘岁月. 回顾历史,阿里巴巴集团已经开源115个项目,加入FSF基金会.Apache基金会.Linux 基金会和Xen的顾问团队,并在云栖大会北京峰会宣布AliSQL开源. "拥抱开源.回馈开源.融合开源和回报开源"是阿里的开源历程,通过"众创"带来技术上的创新和推动是阿里开源最核心的意义,而阿里的每一项重要开源技术都离不开业内广大开发者的参与和贡献. 受益开源,就当回馈.面对阿里头顶上"贡献开源软件数目第一"

4款开源云计算框架和工具简介

本文讲的是4款开源云计算框架和工具简介,[IT168 资讯]1.Enomalism (http://www.enomaly.com/) 云计算平台.Enomalism 是一个开放源代码项目,它提供了一个功能类似于 EC2 的云计算框架.Enomalism 基于 Linux,同时支持 Xen 和 Kernel Virtual Machine(KVM).Enomalism 提供了一个基于 TurboGears Web 应用程序框架和 Python 的软件栈. 2.Euclyptus (http://

IPMsg一款开源的局域网消息和文件传送工具

IPMsg 是一款开源的局域网消息和文件传送工具,其最大的优点是可以直接传送文件夹,并且传送速度非常快,基于 http://www.aliyun.com/zixun/aggregation/29912.html">TCP/IP(UDP),可运行于多种操作平台(Win/Mac/UNIX/Java).并实现跨平台信息交流.不需要服务器支持,支持文件/文件夹的传送,通讯数据采用 RSA/Blofish 加密,十分小巧, 简单易用, 而且你可以完全免费使用它. - IPMsg 是一款局域网内即时通

C++ 100款开源界面库 (10)

(声明:Alberl以后说到开源库,一般都是指著名的.或者不著名但维护至少3年以上的.那些把代码一扔就没下文的,Alberl不称之为开源库,只称为开源代码.这里并不是贬低,像Alberl前面那个系列的教程<2013 duilib入门简明教程>,还有本系列教程,还有前面介绍的CodeProject,基本上都是代码往上面一扔,就不用再怎么维护的.这些都称之为开源代码,其实开源代码对新手的帮助更大,因为很简明的说明了代码用法~O(∩_∩)O~)       前面两个教程已经对制作界面的几种方式进行了

几款开源的ETL工具及ELT初探

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL 是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去. 我们在下方列出了 7 款开源的 ETL 工具,并讨论了从 ETL 转向"无 ETL"的过程,因为 ELT 正迅速成为现代数据和云环境的终极过程. 注:原文包含 11 项

ActiveMQ v5.5.0发布 能力强劲的开源消息总线

ActiveMQ 是http://www.aliyun.com/zixun/aggregation/14417.html">Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位. ActiveMQ特性列表 1. 多种语言和协议编写客户端.语言: Java, C++, C++, C#, Ruby, Pe

私家珍藏:七款开源Linux网络服务系统

出色的软路由系统ClearOS 对于中小企业来说,有很多免费且开源的路由器和防火墙解决方案,甚至可以作为企业的选择.这类产品中,很多都提供局域网服务,如VPN服务.热点网关和通过强制网络门户以共享无线网络. 这里,编者发现了一些开源且免费的路由器项目,这些产品适合于包括小企业.中型.甚至与思科和Juniper规模相当的企业.闲言少叙,我们一起看看这七款开源且免费的Linux下的网络操作系统. 出色的软路由系统ClearOS ClearOS是一款基于CentOS和Red Hat Enterpris