ESB产品比较.docx
- 文档编号:10696878
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:14
- 大小:317.27KB
ESB产品比较.docx
《ESB产品比较.docx》由会员分享,可在线阅读,更多相关《ESB产品比较.docx(14页珍藏版)》请在冰豆网上搜索。
ESB产品比较
IBM的ESB产品
IBM有三款ESB产品:
WebSphereESB(WESB),WebSphereMessageBroker(WMB),DataPower。
这三款ESB产品都提供了ESB所必备的特征,但是它们各有侧重,WESB主要构建与WebSphereApplicationServer之上,侧重于对标准协议和消息的支持,更适合于J2EE,Web-Service为主要特征的集成环境;WMB提供了一个高级的ESB,它构建于WebSphereMessageQueue之上,提供了百种以上协议的连接和数据格式的转换机制。
Datapower是一款比较新的ESB产品,除了提供必备的ESB的特性之外,Datapower更侧重于安全。
众所周知,在XML的环境中,安全对于性能的影响是巨大的,Datapower给企业ESB提供了强大的安全保障。
下面分别介绍这三款ESB产品。
WebSphereESB
从图4中可以看出ESB构建与WASND之上,它使用了WASND及WAS对于安全,用户注册表,事务,消息引擎的支持,在其之上增加了对服务集成、消息流处理、建模以及ESB编程模型的支持等等。
从图中还可以看出WebSphereProcessServer是构建与WESB之上,并扩展了服务编排和流程管理方面的支持。
图4.WESB在WAS产品线的位置
下面介绍在WESB上实现一个SOAESB解决方案上的以下九个方面的特点,这九个方面的特点来源于上文中介绍的ESB的特性,或者特性的细化:
1.消息转换
WESB所处理的消息为XML格式的数据,对于非XML结构的数据WESB不能处理。
对于XML结构的数据,在WESB的消息流中数据以SMO(IBM对SDO的扩展,参见参考资料部分了解SDO的规范)形式存在,WESB可以对XML消息树的内容进行修改,包括改变某个节点的内容,增加新的节点以及删除某个节点等等。
2.支持的协议
WESB支持符合SOA标准的协议,比如SOAP/HTTP、SOAP/JMS、WSDLV1.1、UDDIV3.0,WebSphereMQ等。
也就是说WESB目前只支持SOAP方式来描述服务,传输协议可以是HTTP、JMS记忆原生的WebSphereMQ的连接。
对于多传输协议的基础,建议使用MB来做ESB的解决方案,参考MB的介绍部分。
3.消息路由
消息的路由在WESB中有良好的支持,开发环境WID中提供了一个节点专门来负责消息路由,WID也提供了良好的对路由规则定义的开发支持,开发人员可以很容易的定制负责的路由规则。
若要实现动态路由的功能,则需要和一个服务的存储单元中来动态的查找服务,目前WSRR是一款优秀的提供该功能的工具(参见参考资料部分了解WSRR)。
WESB从V6.1开始提供了Endpointlookup节点来支持WSRR的集成,简化了开发过程。
如果要实现简单的动态服务路由的功能,则可把服务的定义存放在数据库中,在WESB中通过DBlookup来查找服务的Endpoint,然后注入到消息流中,WESBV6.1之前的版本就已经支持与数据库的集成。
4.对WebService的支持
WESB天生运行在J2EE的环境里面,对WebService有着天然的支持。
5.事件处理
在消息流中,我们需要跟踪消息各节点的状态,以满足统计和出错处理的要求,在WESB中,通过CEI机制来处理消息。
(CEI的介绍请参见参考资料部分)
6.与遗留系统的集成
WESB通过Adapter与遗留系统进行集成,支持IBMWebsphereAdapter和JCAAdapter,通过JCA我们就可以将遗留系统里面的服务和数据通过标准(SCA/SDO)的形式整合到集成环境中。
7.安全方面的支持
WESB没有对安全做特殊的处理,使用WAS的安全支持来实现ESB的安全。
8.性能
WESB是一个纯Java的应用,运行效率上有些限制,同时可以处理的消息流的数量级为几十到几百之间。
9.开发和部署
开发工具是WID,一个ESB的消息流在WID中被称为MediationModule,它是一个J2EE应用,开发和部署工作无异于普通的企业级应用。
MessageBroker
WMB是IBM的应用整合中间件,是IBMESB架构重要的产品组成部分之一,用于企业应用整合领域。
WMB目前的版本是6.1.2,它的前身是MQSeriesIntegrator。
本质上看,WMB是MQ的衍生产品,它使用MQ作为内部通信的机制。
然后,WMB提供的接入方式远不止MQ一种,包括JMS、HTTP(S)、SCADA等常见的新一代接口规范。
在消息转化过程中,WMB能够识别XML、C结构、SOAP等各种自定义的消息格式。
如图5所示,WMB可以分为开发环境和运行环境两大部分。
其中开发环境由开发工具(Toolkit)和调试环境(RationalAgentController)组成,运行环境是WMB核心,也叫BrokerDomain,由三部分组成,配置管理器(ConfigurationManager)、用户名服务器(UserNameServer)和代理(Broker)。
图5.WMB组件
∙代理(Broker):
消息代理是WMB的消息处理引擎,它提供WMB的所有运行服务,在Windows系统上它是一个系统服务,在Unix平台上表现为一个后台进程。
应用系统利用与MQ的连接和队列将消息发送到消息代理。
代理与代理之间,代理与配置管理器之间通过普通的MQ发生和接受类型的消息通道进行通信。
在一个主机上我们可以创建一个或者多个Broker,每个Broker会关联一个数据库,利用数据库存储Broker需要和相关的信息,每个Broker还需要一个队列管理器,多个Broker之间不能共享同一个队列管理器,每个Broker必须有自己特定的、唯一的队列管理器。
每个Broker只能被一个配置管理器控制。
∙配置管理器(ConfigurationManager):
配置管理器是整个WMB运行环境中的控制中心,它维护整个BrokerDomain的配置信息,配置和管理所有代理,增、删、启动、停止消息流,所有的开发工具也是通过配置管理器来部署编译结果的。
配置管理器也负责与用户名服务器联系,配置和管理各种用户权限。
配置管理器和其他各个部件之间的接口是MQ,所以配置管理器也必须是基于MQ队列管理器而运行的。
∙用户名服务器(UserNameServer):
用户名服务器是WMB运行环境中的可选部分,它可以提供应用程序的接入认证以及订阅主题的访问控制服务。
用户名服务器本身是不需要数据库,但必须依赖于队列管理器与其他组件通信。
用户名服务器中的用户信息来自认证数据文件。
∙开发工具(Toolkit):
开发工具是基于Eclipse3.0的集成开发环境,我们可以在其中开发消息流、消息集、ESQL代码、Java代码、映射规则等。
通过内置的MQClient与配置管理器连接,并将开发好的执行组件部署到相关的代理中。
Eclipse环境由不同的视图(Perspective)组成,我们在WMB中常用的有代理开发视图、代理管理视图等。
∙调试工具(RationalAgentController):
这是IBMRational开发工具标准的调试工具。
一般安装在代理所在的服务器一边,开发工具可以连接RAC,通过它来控制和调试消息流的运行。
需要注意的是,Toolkit可以并行开发,但是对于同一个执行组不能并行调试,因RAC的调试过程是排他的。
在WMB6.0之后RAC不需要再单独安装。
下面从九个方面来介绍WMB在实现一个SOAESB解决方案上的支持的特点:
1.消息转换
WMB在消息处理方面功能非常强大,对XML格式的消息或非XML格式的消息,如CHeader,COBOL等都有很好的支持。
实际上,通过开发消息对应的消息集(MessageSet),可以在消息流中对任意格式的消息进行修改。
WMB提供了内置的mapping和database节点,用户可以通过图形化的方式方便的实现消息的转换或与数据库的交互。
2.支持的协议
WMB支持所有WESB支持的传输协议,除了常用的HTTP、JMS等,还对FTP、Socket、Mobile、Telemetry、Biztalk和Tuxedo等有良好的支持。
WMB与MQ有着紧密的联系,对MQ的支持不在话下。
WMB内置的功能节点对这些协议提供了很好的支持,仅需配置即可,如图6所示。
图6.MessageBroker的内置开发节点
3.消息路由
WMB提供了很多功能强大的内置节点支持消息的路由,如Filter节点、Label节点等,在新版本的WMB中又引入了Router节点,该节点几乎和WESB中的Router节点一样。
若需要实现动态路由,可以使用WSRR作为服务的存储,WMB和WSRR有很好的集成,通过RegistryLookup和EndpointLookup我们可以在消息流中实现动态路由。
另外需要指出的是,WMB可以提供一个消息输入,多个消息输出的功能,可以实现一个消息同时路由到多个输出端。
4.对WebService的支持
在WMB中,消息流可以作为WebService暴露出去供外部调用,也可以作为客户端调用外部提供的WebService。
WMB不仅提供了内置的SOAPRequest、SOAPInput等节点实现对WebService的支持,而且对WS扩展,如WS-Security和WS-Addressing也有良好的支持。
5.事件处理
在WMB中我们可以通过TraceService来记录所发生的事件。
Trace分两种,一种是UserTrace记录消息流级别的事件,另一种是ServiceTrace,可以记录整个WMB的事件,如Broker的部署执行。
WMB提供了Trace内置节点,可以实时的记录流程中消息内容的变化。
6.与遗留系统的集成
WMB对遗留系统有良好的支持。
对SAP,PeopleSoft等大型的EIS系统,直接提供了内置的节点,通过JCAAdapter配置的方式和EIS系统交互。
对于比较特别的遗留系统,如CICS、VSAM等,WMB提供了丰富的SupportPacs,客户可以下载并安装。
7.安全方面的支持
WMB本身提供了两个层次上的安装,一个是部署时安全性,管理部署bar文件到Broker以及运行WMB管理命令的权限控制;另一个是运行时安全,涉及的权限控制包括发送消息到相应的消息流,以及消息流可以访问哪些MQ资源和非MQ资源,如数据库系统。
8.性能
WMB底层是使用C++开发的,在性能上相对于WESB有很大的提高。
同时可以处理的消息数量级为几千到几万之间。
9.开发和部署
开发工具是WMBToolkit,我们开发的消息流和消息集被打成bar文件通过配置管理器部署到Broker中。
总的来说,WMB是IBM久经考验的一款消息中间件产品,为异构的IT环境提供了统一的连接和转化,其优势如下:
∙利用WebSphereMQ作为企业消息传递主干,提供了很好的并发性和可靠性
∙不仅支持各种标准协议,而且支持和WebSphere企业应用程序适配器进行集成
∙支持多种数据格式之间的转换,包括XML、遗留系统、行业标准和自定义消息格式
∙针对大量数据处理进行了优化,极大提高了处理速度。
Datapower
DataPower是一个硬件产品,看起来像一个盒子。
目前IBM有三款Datapower产品供用户选择。
按照进入市场的先后次序,它们分别是:
DatapowerAcceleratorXA35,DatapowerSecurityGatewayXS40,DatapowerIntegrationApplianceXI50,见图7。
图7.IBM的Datapower产品线
∙XA35的主要侧重点是XML加速,众所周知,在SOA的环境中,XML是应用最广泛的,而对XML的解析,加密,解密这些操作让应用服务器来做的话,这是一个很大性能开销,而XA35就是要替应用服务器的分担这些XML相关的工作,让应用服务器专注于处理业务逻辑;
∙XS40的主要侧重点是安全,即负责提供安全的企业网关,及对XML攻击的防范。
∙XI50,从名字上看,主要侧重点是集成功能,是一款高级ESB产品,提供了多种协议和数据格式的路由和解析的功能。
虽然三款产品各有侧重,但是三款产品的功能也具有包含关系,XS40包含XA35的功能,XI50包含XS40的功能。
我们依然从以下九个方面来介绍Datapower在实现ESB解决方案中的特点。
1.消息转换
Datapower对XML消息有强大的支持,但是Datapower绝不仅仅支持XML,我们可以在Policy中使用Transformation节点来对消息进行任意我们需要的转换,其原理是使用XSLT来实现的,开发人员定义自己XSLTStylesheet并在Transformation节点中指定,Datapower负责转换。
2.支持的协议
Datapower支持和以下传输协议,HTTP,HTTS,WebSphereMQ
WebSphereJMS,TIBICOEMS,FTPPoller,FTPServer,NFS等等。
Datapower的MPGW就是一个处理不同协议的应用系统的互联的服务对象。
3.消息路由
Datapower支持对服务和消息的路由,根据消息流中的上下文连接将消息动态的分发到不同的消息提供者。
但是Datapower的动态路由和WESB以及MB的动态路由还是有区别的,Datapower的动态路由需要由开发者定义路由的Map,而WESB和MB支持在消息头的属性里动态的设置Endpoint的地址。
目前Datapower可以和WSRR集成来定义WS-Proxy(Datapower中的一种服务对象),但不支持直接和WSRR联合实现动态访问Endpoint的功能。
4.对WebService的支持
Datapower的XMlFirewall和WS-Proxy提供了强大的对WebService的支持,而且datapower提供了细粒度的对WebService的控制,可以从服务级(Service),端口级(port),绑定级(binding),操作级(operation)来对消息体进行控制。
此外,对WS-Security也提供了强大的支持。
5.事件处理
Datapower中可以通过Probe的方式来跟踪消息流的中间状态,在Probe中,可以看到消息流的每个节点的消息内容。
Probe一般用于开发调试过程,在生产模式下一般不使用,因为使能Probe会牺牲一定的效率。
Datapower不支持与CEI类似将消息发送到其他应用系统的机制。
6.与遗留系统的集成
Datapower不支持和Adapter的连接,若要与遗留系统的集成,则需要通过其他中间件转换在遗留系统和Datapower之间做而桥梁来连接。
7.安全方面的支持
Datapower的强大之处在于其对安全方面的强有力的支持,它提供对XML-attack的原生支持(关于XML-attack的知识参见参考资料);此外,Datapower可以对WebService提供细粒度的安全支持,包括加密(Encryption),解密(Decryption),签名(Sign)和确认(Verify),以及HTTS方面的支持。
这些支持在Datapower上开发起来都异常简单。
8.性能
Datapower无疑是三款ESB产品中性能最高的,对XML的处理速度达到线速,下图是一组测试结果。
如果去处网络传输在其中的比例,对XML的处理性能所提高的倍数可达到上百倍。
SoftwareSolution
DPSolution
Avg.responsetime(TimeP/N)
XMLprocessingtime(TimeX)
Avg.responsetime(TimeP/N)
XMLprocessingtime(TimeX)
106ms
96ms
19ms
11ms
9.开发和部署
Datapower的没有相应的开发工具,但是提供了WebGUI的管理控制台和CLI方式的管理支持。
我们在WebGUI下开发消息流,开发即部署。
高速的XML处理能力和强大的安全支持,是Datapower作为SOA应用中的ESB的重要特色,这个特点使得Datapower成为一款举足轻重的ESB产品。
三款产品的比较
从上面的介绍我们可以看出,三款产品都提供了ESB的必须的功能,但各有侧重:
∙WESB是一个轻量级的ESB,侧重于标准协议,SOAP,JMS等应用的基础,构建于WASND基础之上,提供了和J2EE应用很好的集成功能;同时由于WESB是一个纯Java的应用服务器,在性能上也是相对较差一点的ESB,可并发执行的MediationFlow的数量级在几十个左右。
WESB适合使用于对性能要求不是很高,且遵循标准协议的SOA整合环境中。
WESB的优势是提供了和流程服务器WPS以及J2EE服务器WAS良好的整合。
WESB的应用场景见图8:
图8.WESB的应用场景
∙WMB是一款高级的ESB,提供了比WESB多很多的传输协议,数据格式的支持,它所支持几乎大部分常用的数据格式和协议。
并且WMB提供了良好的扩展功能,开发人员可以在WMB基础上开发自己的数据格式解析的节点。
WMB使用C/C++编写,在处理性能上比ESB也要高出很多倍,可并发执行的流可以达到上百个或上千个。
从图9可以看出WESB和WMB在支持的协议上的区别。
图9.WESB和WMB的比较
WMB应用于对性能要求相对较高,多种复杂协议存在的集成环境中。
另外,WMB构建于WebSphereMessageQueue(WMQ)之上。
WMQ提供了对异步消息提供了可靠的传送机制,比较适合于信息传输量较大,信息交互频繁的场景中。
如图10所示:
图10.WMB的使用场景
∙Datapower是SOA中的又一重要的ESB,在WESB和WMB中都是用软件来实现XML解析和安全支持的,而Datapower使用硬件的XML解析和加速器,在性能上有了很大的提高。
在很多SOA的环境里,安全和性能是天平的两端,增加安全势必要牺牲性能;而提高性能则需要牺牲安全。
所以在安全和性能要求都比较高的环境中,Datapower是一首选ESB,因为Datapower可以在实现高性能的同时也保证安全。
图11是一种Datapower的应用场景:
图11.Datapower的使用场景
总结
基于上文对三款产品做了详细的比较,我们可以做如下总结,WESB适用于J2EE环境下,对性能要求不是很高的,标遵循标准协议的SOA集成;WMB应用更复杂的集成环境,表现为数据格式多种,传输协议多样,性能要求很高;而在安全和性能要求都很高的应用场景下,选择Datapower无疑是最好的选择。
下面的图表再次对文中的描述进行总结。
ESB功能特点
WESB的支持
MB的支持
Datapower
消息转换
XML
XML、非XML
XML、非XML
支持的协议
HTTP,JMS,WMQ等
多达上百种
介于前二者之间
消息路由
强大,灵活
功能强大,灵活
灵活度比前二者稍弱
WebService
强大的支持
支持WS扩展
强大的支持
事件处理
CEI,可以和外部事件消费系统监控
TraceService
用于调试Probe
遗留系统的集成
Adapter
丰富的SupportPac
特定的遗留系统
安全
依赖WAS的安全
部署和运行时两个级别的安全
超强的安全支持
性能
几十到几百每秒
几千到几万每秒
达到线速
开发和部署
WID集成开发环境
WMBToolkit
WebGUI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ESB 产品 比较