IBM ESB产品之间的比较(二)

日期: 2008-12-07 作者:马国耀 来源:TechTarget中国 英文

  ·代理(Broker):消息代理是WMB的消息处理引擎,它提供WMB的所有运行服务,在Windows系统上它是一个系统服务,在Unix平台上表现为一个后台进程。应用系统利用与MQ的连接和队列将消息发送到消息代理。代理与代理之间,代理与配置管理器之间通过普通的MQ发生和接受类型的消息通道进行通信。在一个主机上我们可以创建一个或者多个Broker,每个Broker会关联一个数据库,利用数据库存储Broker需要和相关的信息,每个Broker还需要一个队列管理器,多个Broker之间不能共享同一个队列管理器,每个Broker必须有自己特定的、唯一的队列管理器。每个Broker只能被一个配置管理器控制。

  ·配置管理器(Configuration Manager):配置管理器是整个WMB运行环境中的控制中心,它维护整个Broker Domain的配置信息,配置和管理所有代理,增、删、启动、停止消息流,所有的开发工具也是通过配置管理器来部署编译结果的。配置管理器也负责与用户名服务器联系,配置和管理各种用户权限。配置管理器和其他各个部件之间的接口是MQ,所以配置管理器也必须是基于MQ队列管理器而运行的。

  ·用户名服务器(User Name Server):用户名服务器是WMB运行环境中的可选部分,它可以提供应用程序的接入认证以及订阅主题的访问控制服务。用户名服务器本身是不需要数据库,但必须依赖于队列管理器与其他组件通信。用户名服务器中的用户信息来自认证数据文件。

  ·开发工具(Toolkit):开发工具是基于Eclipse 3.0的集成开发环境,我们可以在其中开发消息流、消息集、ESQL代码、Java代码、映射规则等。通过内置的MQ Client与配置管理器连接,并将开发好的执行组件部署到相关的代理中。Eclipse环境由不同的视图(Perspective)组成,我们在WMB中常用的有代理开发视图、代理管理视图等。

  ·调试工具(Rational Agent Controller):这是IBM Rational开发工具标准的调试工具。一般安装在代理所在的服务器一边,开发工具可以连接RAC,通过它来控制和调试消息流的运行。需要注意的是,Toolkit可以并行开发,但是对于同一个执行组不能并行调试,因RAC的调试过程是排他的。在WMB6.0之后RAC不需要再单独安装。

  下面从九个方面来介绍WMB在实现一个SOA ESB解决方案上的支持的特点:

  ·消息转换

  WMB在消息处理方面功能非常强大,对XML格式的消息或非XML格式的消息,如C Header,COBOL等都有很好的支持。实际上,通过开发消息对应的消息集(Message Set),可以在消息流中对任意格式的消息进行修改。WMB提供了内置的mapping和database节点,用户可以通过图形化的方式方便的实现消息的转换或与数据库的交互。

  ·支持的协议

  WMB支持所有WESB支持的传输协议,除了常用的HTTP、JMS等,还对FTP、Socket、Mobile、Telemetry、Biztalk和Tuxedo等有良好的支持。WMB与MQ有着紧密的联系,对MQ的支持不在话下。WMB内置的功能节点对这些协议提供了很好的支持,仅需配置即可,如图6所示。

  图6. Message Broker的内置开发节点
 
  ·消息路由

  WMB提供了很多功能强大的内置节点支持消息的路由,如Filter节点、Label节点等,在新版本的WMB中又引入了Router节点,该节点几乎和WESB中的Router节点一样。若需要实现动态路由,可以使用WSRR作为服务的存储,WMB和WSRR有很好的集成,通过RegistryLookup和EndpointLookup我们可以在消息流中实现动态路由。另外需要指出的是,WMB可以提供一个消息输入,多个消息输出的功能,可以实现一个消息同时路由到多个输出端。

  ·对Web Service的支持

  在WMB中,消息流可以作为Web Service暴露出去供外部调用,也可以作为客户端调用外部提供的Web Service。WMB不仅提供了内置的SOAPRequest、SOAPInput等节点实现对Web Service的支持,而且对WS扩展,如WS-Security和WS-Addressing也有良好的支持。

  ·事件处理

  在WMB中我们可以通过Trace Service来记录所发生的事件。Trace分两种,一种是User Trace记录消息流级别的事件,另一种是Service Trace,可以记录整个WMB的事件,如Broker的部署执行。WMB提供了Trace内置节点,可以实时的记录流程中消息内容的变化。

  ·与遗留系统的集成

  WMB对遗留系统有良好的支持。对SAP,PeopleSoft等大型的EIS系统,直接提供了内置的节点,通过JCA Adapter配置的方式和EIS系统交互。对于比较特别的遗留系统,如CICS、VSAM等,WMB提供了丰富的SupportPacs,客户可以下载并安装。

  ·安全方面的支持

  WMB本身提供了两个层次上的安装,一个是部署时安全性,管理部署bar文件到Broker以及运行WMB管理命令的权限控制;另一个是运行时安全,涉及的权限控制包括发送消息到相应的消息流,以及消息流可以访问哪些MQ资源和非MQ资源,如数据库系统。

  ·性能

  WMB底层是使用C++开发的,在性能上相对于WESB有很大的提高。同时可以处理的消息数量级为几千到几万之间。

  ·开发和部署

  开发工具是WMB Toolkit,我们开发的消息流和消息集被打成bar文件通过配置管理器部署到Broker中。

  总的来说,WMB是IBM久经考验的一款消息中间件产品,为异构的IT环境提供了统一的连接和转化,其优势如下:

  ·利用WebSphere MQ作为企业消息传递主干,提供了很好的并发性和可靠性
  ·不仅支持各种标准协议,而且支持和WebSphere企业应用程序适配器进行集成
  ·支持多种数据格式之间的转换,包括XML、遗留系统、行业标准和自定义消息格式
  ·针对大量数据处理进行了优化,极大提高了处理速度。

  Datapower

  DataPower是一个硬件产品,看起来像一个盒子。目前IBM有三款Datapower产品供用户选择。按照进入市场的先后次序,它们分别是:Datapower Accelerator XA35,Datapower Security Gateway XS40,Datapower Integration Appliance XI50,见图7。

  图7. IBM的Datapower产品线
 
  ·XA35的主要侧重点是XML加速,众所周知,在SOA的环境中,XML是应用最广泛的,而对XML的解析,加密,解密这些操作让应用服务器来做的话,这是一个很大性能开销,而XA35就是要替应用服务器的分担这些XML相关的工作,让应用服务器专注于处理业务逻辑;

  ·XS40的主要侧重点是安全,即负责提供安全的企业网关,及对XML攻击的防范。

  ·XI50,从名字上看,主要侧重点是集成功能,是一款高级ESB产品,提供了多种协议和数据格式的路由和解析的功能。

  虽然三款产品各有侧重,但是三款产品的功能也具有包含关系,XS40包含XA35的功能,XI50包含XS40的功能。

  我们依然从以下九个方面来介绍Datapower在实现ESB解决方案中的特点。

  ·消息转换

  Datapower对XML消息有强大的支持,但是Datapower绝不仅仅支持XML,我们可以在Policy中使用Transformation节点来对消息进行任意我们需要的转换,其原理是使用XSLT来实现的,开发人员定义自己XSLT Stylesheet并在Transformation节点中指定,Datapower负责转换。

  ·支持的协议

  Datapower支持和以下传输协议,HTTP,HTTS,WebSphere MQ
WebSphere JMS,TIBICO EMS,FTP Poller,FTP Server,NFS等等。Datapower的MPGW就是一个处理不同协议的应用系统的互联的服务对象。

  ·消息路由

  Datapower支持对服务和消息的路由,根据消息流中的上下文连接将消息动态的分发到不同的消息提供者。但是Datapower的动态路由和WESB以及MB的动态路由还是有区别的,Datapower的动态路由需要由开发者定义路由的Map,而WESB和MB支持在消息头的属性里动态的设置Endpoint的地址。目前Datapower可以和WSRR集成来定义WS-Proxy(Datapower中的一种服务对象),但不支持直接和WSRR联合实现动态访问Endpoint的功能。

  ·对Web Service的支持

  Datapower的XMlFirewall和WS-Proxy提供了强大的对Web Service的支持,而且datapower提供了细粒度的对Web Service的控制,可以从服务级(Service),端口级(port),绑定级(binding),操作级(operation)来对消息体进行控制。此外,对WS-Security也提供了强大的支持。

  ·事件处理

  Datapower中可以通过Probe的方式来跟踪消息流的中间状态,在Probe中,可以看到消息流的每个节点的消息内容。Probe一般用于开发调试过程,在生产模式下一般不使用,因为使能Probe会牺牲一定的效率。Datapower不支持与CEI类似将消息发送到其他应用系统的机制。

  ·与遗留系统的集成

  Datapower不支持和Adapter的连接,若要与遗留系统的集成,则需要通过其他中间件转换在遗留系统和Datapower之间做而桥梁来连接。

  ·安全方面的支持

  Datapower的强大之处在于其对安全方面的强有力的支持,它提供对XML-attack的原生支持;此外,Datapower可以对Web Service提供细粒度的安全支持,包括加密(Encryption),解密(Decryption),签名(Sign)和确认(Verify),以及HTTS方面的支持。这些支持在Datapower上开发起来都异常简单。

  ·性能

  Datapower无疑是三款ESB产品中性能最高的,对XML的处理速度达到线速,下图是一组测试结果。如果去处网络传输在其中的比例,对XML的处理性能所提高的倍数可达到上百倍。

  ·开发和部署

  Datapower的没有相应的开发工具,但是提供了Web GUI的管理控制台和CLI方式的管理支持。我们在Web GUI下开发消息流,开发即部署。

  高速的XML处理能力和强大的安全支持,是Datapower作为SOA应用中的ESB的重要特色,这个特点使得Datapower成为一款举足轻重的ESB产品。

  三款产品的比较

  从上面的介绍我们可以看出,三款产品都提供了ESB的必须的功能,但各有侧重:

  ·WESB是一个轻量级的ESB,侧重于标准协议,SOAP,JMS等应用的基础,构建于WASND基础之上,提供了和J2EE应用很好的集成功能;同时由于WESB是一个纯Java的应用服务器,在性能上也是相对较差一点的ESB,可并发执行的Mediation Flow的数量级在几十个左右。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构建于WebSphere Message Queue(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无疑是最好的选择。下面的图表再次对文中的描述进行总结。

  在本文的第2部分中,我们将用一个简化的实际案例来描述三款ESB产品在实现上的差异。

  作者简介
 
  马国耀,2007年毕业于北京大学信息科学技术学院,现在IBM CDL的战略合作部担任软件开发工程师。对SOA,企业集成,消息中间件等方面都有很广泛的爱好。曾发表过使用Datapower实现ESB文章。业余时间喜欢围棋,五子棋,扑克等网络游戏,旅游和网上聊天业是他的爱好。你可以通过maguoyao@cn.ibm.com和他联系。
 
  吴宇:毕业于上海交通大学,现在在IBM BPTSE部门担任软件开发工程师,对SOA和企业集成应用方面有浓厚兴趣,你可以通过william.wu.8156@gmail.com和他联系。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐