Microsoft Biztalk 2004 vs IBM WebSphere Business Integration Server Foundation 5.1

最近有幸深入了解了一些 Biztalk 2004 和 WebSphere Integration Server Foundation 5.1 的内容,作为两大软件厂商的两大商业流程集成平台,不仿做一下对比。

Biztalk 2004 以下简称为 Biztalk,WebSphere Business Integration Server Foundation 5.1 简称 WBI-SF。

1、对于关键标准的支持

由于 WebServices 技术成为将来 EAI、B2Bi 方案使用的一种主流技术,两个平台在此方面的支持均比较完善,可以在流程中很方便地调用 Web Service。

但对于 Web Service 的一个重要协议:BPEL4WS --- 商业流程执行语言,两者支持的力度则不同。WebSphere 的流程编排(Choreograph)是以 BPEL4WS 为基础,增加了一定扩展。而 Biztalk 则更象是延用了 XLANG 的流程编排(Orchestration),而做了一些扩展以便能够支持 BPEL4WS。

这个也可能与产品的发布日期有关,Biztalk 2004 在研发中的时候,BPEL 1.1 的标准还没未成形,而 WBI-SF 则是在 BPEL 1.1 成为正式标准之后才发布的。

2、应用接口与适配器(Adapter)

Biztalk 似乎在这个方面要具有优势,这可能归功于 Biztalk 产品历史稍长,很早就有 Biztalk Framework、Adapter Framework,加上近几年的不断发展,已经可以支持所有主流数据库、基础架构和产品(如 CORBA、EJB、MQ、EDI)、垂直行业标准(HIPAA,RosettaNet、FIX, SWIFT (Financial)),应用程序(Sibel CRM、SAP、J.D.Edwards、PeopleSoft),数量达到数百个,而 WBI-SF 则除了与自己的产品/技术(如CICS、Lotus等)具有接口外,其它的 Adapter 并不多。

3、开发难易程度

Biztalk 的开发并不是很容易的事情,需要了解端口、管道等诸多易另人混淆的东西,而且基本上是基于 XML 消息的处理,所以在流程的各个部分要经常做消息类型定义,消息转换等。而 WBI-SF 中则更多是使用容易理解的变量的概念,类似于函数中的参数。两者各有优缺点,基于变量(参数)易理解、容易开发,而基于消息较适合于完整的商业文档转换、 交换,并且能证可以保证其中数据的安全性。

在流程活动基本元素(如循环、分支、顺序执行等)方面,Biztalk 支持较为完善,而 WBI-SF 则只是在 BPEL4WS 的基本元素基础上加入了有限扩展,不够丰富。

在文档转换与映射(Maping)方面,Biztalk 提供了完备的设计界面和转换函数,而 WBI-SF 只是提供了基本的映射功能。

4、开发工具支持

Microsoft 使用扩展后的 Visual Stuidio .NET 2003 做为 Biztalk 应用的开发工具,IBM 则紧紧围绕 Ecipse ,提供了一个类似于 WSAD 的 WebSphere Application Developer for Integration Edition(简称 WSAD-IE)来对 WBI-SF 应用开发提供支持。

就个人体会来说,在 WSAD-IE 中开发应用要比 VS.NET 中方便一些,目前在 VS.NET 中开发 Biztalk 应用还是很麻烦,需要安装 Biztalk 开发版,开发工具中不支持调试,只能通过另外的一个工具来跟踪调试。

在 WSAD-IE 中自带有一个 WBI-SF 简化版,所以不用另外安装 WBI-SF ,而且可以直接在开发工具中进行流程调试,如设置断点、单步执行等。

5、性能与效率

从理论上来说,Biztalk 的所有消息都要存储到消息数据库后再进行进一步处理,而 WBI-SF 则将商业流程分为两类:没有人工参与的流程的短流程以及有人工参与的长流程(类似于传统意义上的工作流),对于前者只在内存中进行处理,对于后者,则要存 储到数据库中后再进行处理。

很难说两者那个的效率更好,Biztalk 都存储在数据库中,异步处理,很少会发生资源争用、死锁的情况,而且可靠性很高,而如果在内存中处理,并发量较小的时候可能会较快,但并发量大的时候,很可能会产生资源争用,进而死锁降低系统效率。

就开发工具来说,WSAD-IE 继承了 WSAD 奇慢的速度,在 1G 的 Vmware Virtual Machine 中花了 1 分钟时间才启动完成,编译部署时间也很长,在这方面,其与 Biztalk 和 VS.NET 的速度差异不是一两倍,简直是糟蹋了 Eclipse。

6、人力工作流支持

人力工作流(Human Workflow)主要指商业流程中需要人力参与,如审批、复核等。在 WBI-SF 中对人力工作流有一定的支持,每个活动结点可以设置其类型为 staff activities ,然后可以设置操作用户、权限等,且有内建的、简单的 Web 操作界面来完成在流程上定义的操作。

IBM 对于人力工作流更完整的支持体现在 WebSphere Interchange Server 4 (购自 CrossWorlds )中,估计这个东西以后会和 WBI-SF 进行整合。

Biztalk 本身的工作流特性较弱,只是提供了一些工作流基础(基础服务和接口等),具体的实现需要较多的二次开发,结合 SharePoint Services 和 InfoPath 等完成。

7、建模工具

Microsoft 提供了一个基于 Visio 的插件,可以由业务人员绘制商业处理流程图,并可以导入到 VS.NET 中直接作为 Biztalk Orchestration 基本框架来使用。

IBM 有一个名为 WebSphere Business Integration Modeler 的单独的建模工具,不知道是否是提供 WBI-SF 来使用的,此建模工具也构建在 Eclipse 的基础上。

8、其它相关信息

虽然大家说 Biztalk 与 Infopath 的关系有如 Outlook 和 Exchange ,但在实际应用中,Infopath 要想利用 Biztalk 的功能,远不如 Outlook 配置一个 Profile 就可以使用 MailBox 和 Public Folder 那样简单。

Biztalk 仍需要在 BPEL4WS、Human Workflow、开发支持等方面继续进步。

IBM 在整合方面的工具很多,如 WebSphere Business Integration(不知道其与 WBI-SF 的关系如何,个人以为 WBI-SF 是 WBI 的升级版本)、WBI MessageBroker、WBI Modeler、WBI Adapter Framework、WebSphere Interchange Server、WebSphere MQ Workflow、MQ Integrator 等,说实话,这么多东西,实在很让人 Confuse ,即然天天对外宣称口号:整合应用( IBM 开发大会口号),何不把自己的整合产品先好好整合一下?或者至少给用户一个明确的产品发展计划以便于产品或技术选型/决策呀。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章