ESB简介及开源产品

2010年8月11日
 
 
ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。 
ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。 
ESB的五个基本功能: 
1)服务的MetaData管理:在总线范畴内对服务的注册命名及寻址管理功能。 
2)传输服务: 必须确保通过企业总线互连的业务流程间的消息的正确交付,传输还包括基于内容的路由功能。 
3)中介:提供位置透明性的服务路由和定位服务;多种消息传递形式;支持广泛使用的传输协议。 
4)多种服务集成方式: 如JCA,Web服务,Messaging ,Adaptor等. 
5)服务和事件管理支持: 如服务调用的记录、测量和监控数据;提供事件检测、触发和分布功能; 
ESB的八个扩展功能: 
1)面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述; 
2) Mediation :它必须具有某种机制能够完成中介的作用,如协议转换; 
3)通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等; 
4) 集成: 遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。 
5)服务交互: 服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。 
6)服务安全: 认证和授权、不可否认和机密性、安全标准的支持等; 
7)服务质量: 事务,服务的可交付性等; 
8)服务等级: 性能、可用性等。 
ESB 中最常提到的两个功能是消息转换和消息路由。
====================上面copy自http://baike.baidu.com/view/1224042.htm?func=retitle====================
====================下面copy自http://www.uml.org.cn/soa/200908184.asp============================
主流开源ESB产品
在开源ESB家族中涌现出很多优秀的开源ESB,比如,Mule,Apache ServiceMix,Open [url][/url]ESB,Apache Synapse等。为了大家更好地了解它们,我作了简要地介绍。
Mule 
它是一个轻量级的消息框架和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf编写的一本书)而实现的。 
Mule的核心组件是UMO(Universal Message Objects,从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,Deutsche Bank 以及 CitiBank等公司。 
官方网站:http://mule.codehaus.org/ 
Apache ServiceMix 
它是JBI规范的一种实现。它包涵了许多JBI组件,这些组件支持多种协议,比如JMS,HTTP,FTP,FILE等。同时也实现了EIP,规则和调度。自从JBI被JCP接收后,2005年末Apache ServiceMix才被Apache作为其卵化项目,到2007年9月,它已经成为Apache的顶级项目。ApacheServiceMix 也整合了其他的开源项目,比如Apache ActiveMQ,Apache CXF,Apahe Camel,Apache ODE以及Apache Geronimo。 
说起Apache ServiceMix,就会使我想到LogicBlaze公司。它曾经是Apache ServiceMix和Apache ActiveMQ的商业支持者。2006年LogicBlaze被IONA成功收购后,IONA负责为Apache ServiceMix提供支持和服务。同时IONA也将Apache ServiceMix作为FUSE平台中的一员,FUSE旗下还包括Apache ActiveMQ,Apache CXF,Apahe Camel,FUSE HQ。 
官方网站:http://servicemix.apache.org/ 
Fuse平台的官方网站:http://open.iona.com/products/fuse-esb/ 
Open ESB 
前两个开源ESB都由开源社区提供支持,Mule由Codehaus社区提供支持,ServiceMix由Apache社区提供支持。Open ESB是由SUN发起,现在作为Java.net的子项目。所有Open ESB的开发人员都来自SUN。 
如同Apache ServiceMix一样,Open ESB也实现了JBI规范。Open ESB可运行在由SUN支持的Glassfish应用服务中。同时SUN的Netbeans IDE为Open ESB提供了拖拉式的开发工具,这是其他开源ESB不可匹敌的,尽管Mule也提供了基于Eclipse的插件工具,但目前仍然不够强大。 
官方网站:https://open-esb.dev.java.net/ 
Apache Synapse 
虽然Apache Synapse具备一些ESB所必备的功能,但是从本质上而言Synapse更是一个web服务仲裁框架,它是构建在Apache Axis2之上的。Synapse的关注点是路由,转换,消息验证以及基于web服务和xml标准的注册。它支持HTTP, SOAP, SMTP, JMS,FTP ,MTOM/XOPPOP3/IMAP/SMTP 等传输协议,还支持多种web服务规范(WS-*),比如WS-Addressing,WS-Security,WS-Policy以及WS- Reliable Messaging。在它的最新版本1.2中加入了对FIX(Financial Information eXchange,金融信息交换协议 ) 和 Hessian  的支持。同时它还支持多种流行语言,比如Java, JavaScript, Ruby, Groovy等。 
官方网站:http://ws.apache.org/synapse 
JBoss ESB 
JBoss ESB是基于JBoss公司的ESB产品Rosetta的。Jboss ESB将JbossMQ作为其消息层,将JBoss rules为其提供路由功能, 将jBPM为其提供服务编排功能。足以见得JBoss的野心。 
官方网站:http://labs.jboss.com/jbossesb/ 
其他的开源ESB 
WSO2是基于Apache Synapse产品的,通过它可以在web服务,REST/POX服务以及遗留系统间连接,管理和转换服务交互。它还提供了一个基于AJAX的ESB管理控制台对其配置文件进行统计分析,管理(添加,删除以及修改等),和指定执行相应的配置文件。这在开源ESB中是非常少见的。 
官方网站:http://wso2.com/products/esb/ 
OpenAdaptor定位于EAI (Enterprise Application Integration,企业应用集成)软件。它支持各种传输协议,如JMS, JDBC, IBM MQ Series, TIBCO Rendezvous, TCP/IP Sockets, SOAP, HTTP 和 File等。其最新版本为openadaptor3,与先前版本相比,它完全重写了一边,保留了原有的功能,提升了其简单性。 
官方网站:https://www.openadaptor.org/
 
更多见  Java开源EAI/ESB组件 http://www.open-open.com/66.htm
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值