分享

工作流:三分天下_e族软件

 碧海山城 2009-11-28

工作流一直是实施BPM的重要环节,以往的开源与闭源的划分已经不适合如今的工作流局势,开源已经渗透到了各个领域,如今的工作流已是三分天下的大局。

图1 工作流参考模型基本部件接口

一般在划分工作流产品时,会按是否开源分为商业产品和开源产品两大类。时至今日,业内人士都会同意这样的一个观点:漠视开源是非常可怕的一件事情。所以本文中不再按这样的标准进行划分,而把工作流产品分为如下三大系列:纯工作流系列、BPM系列和融合系列。

纯工作流系列

工作流管理联盟(workflow management coalition, WFMC)定义了工作流参考模型,图1描述了该模型的基本部件和基本接口。

纯工作流系列的产品都是遵循工作流参考模型的,包括OMG/BPMI等组织制定的标准也是如此,很多人都知道OMG是从CORBA开始的。CORBA的思想很超前,但不是很实用。OMG的Workflow Management Facility也秉承了这两大特点,在追求高效轻量的今天,它们注定不是很顺应发展。

BPMI在纯工作流系列处于很尴尬的地位,现在已经销声匿迹,当然它的BPML与XPDL做到了协同发展。XPDL是纯工作流系列剩余力量中最强的,虽然地位一步步削弱,但仍然在靠以前积累的用户数维持着发展。

纯工作流系列并没有产生比较有代表性的作品,而且发展也并不是很好。OsWorkflow的版本更新也很慢,至今没有一个很规范的流程定义工具,流程辅助功能也基本没有。OpenWFE的关注点非常的少。YAWL在学术界有部分人在做研究,因为它是基于PetriNet实现的产品。jBPM被jBoss收购后,jBoss又被Red Hat收购,目前已经进入了融合派角色。OBE很快就不见了影踪。Ofbiz已经基本脱离了工作流领域,在该行业已经没有太多的发言权。下面专门对Shark进行讲解。

Shark是Enhydra系列产品中的一个,所以它的持久层采用了Enhydra DODS来实现。基本上没有什么人使用DODS,也没有人了解它,而且它的表现并不很优秀。在Shark1.0阿尔法版中,有外界人士提供了Shark的Hibernate实现,但Shark并没将该实现集成到产品中,也无计划在将来的版本中转向支持Hibernate。

这不是很符合开源的思想,也在使用和推广中出现了很多的问题。很多人在使用Shark时就花费了很多时间研究学习DODS,本期望后续版本中会支持已经全球流行的Hibernate,但等来的是一次又一次的失望。Shark的版本更新比较慢,代码的更新也没有按照开源的方式完成,k在1.0版本后直接就发展到了2.0版本。

BPM系列局势

BPM系列标准发展非常快,在三年时间内出现了9大标准,如图2所示。

WSCI的几个领导人物如BEA/SAP/Sun等均已经投靠到BPEL,WSCI基本上没有了发展的空间。ebXML只能在电子商务领域发展,由于它的体系结构的全面性,目前还有部分学术界人士在研究ebXML,但应该不会有很大起色。

BPEL在这两年得到了大力的发展。2002年8月9日,BEA/IBM/MS提出BPEL标准。

2003年4月6日,OASIS组织用WS-BPEL的名字吸纳了BPEL标准(ebXML也是该组织旗下的大将,OASIS开始并不同意接收BPEL)。2003年5月3日,SAP/SIEBEL加入并共同推出WS-BPEL1.1版。2003年5月16日,Sun和ORACLE也加入了BPEL标准的领导者行列。WSCI被瓦解,而WS-BPEL2.0的草案也在当时被纳入议事日程。

BPM系列中的几个领导者都是同时支持BPEL和非BPEL的,他们的产品并不独立地实现BPEL,我们称这样的产品为融合派,融合派基本是以前的BPM系列中的大项目。本文的BPM系列指比较独立的BPEL或者ebXML实现,这样的产品基本是以前的BPM系列中的寒门。

由于这些寒门没有财力支持,发展都比较缓慢。Open ebXML处在不仅没有财力,也缺乏用户的境地。Twister依然没有很大起色。ActiveBPEL由于有后台公司的支持,有一定的发展,但Active Endpoints也缺乏足够的财力支持,所以ActiveBPEL发展也不迅速。

融合系列产品局势

融合系列是新发展出来的派系,它的来源有两个:一是BPM系列中的大户人家,如IBM;二是纯工作流系列中的成员,如jBPM。下面以点带面,分别讨论。

1.IBM Websphere系列

说到IBM的业务整合野心,我们不得不提起2002年IBM的两次收购。2002年1月,IBM用1.29亿收购CrossWorlds软件公司,宣称通过CrossWorlds公司的软件增强IBM的WebSphere中间产品线的自动商务处理程序。

2002年9月,IBM又收购了软件制作公司Holosofx,并计划将Holosofx的技术集成到自己的WebSphere商业集成软件中。收购后,IBM对原有的Websphere系统体系结构根据“On Demand”的要求进行了调整,图3是IBM对Websphere平台的描绘,从中我们可以看到IBM公司对于WebSphere平台的设计蓝图。

现在,IBM已经把Websphere作为整合的代名词。Websphere MQ Workflow实现流程整合,Websphere Business Integration Server实现业务整合。而收购的两个产品,改造为自己整合中间件的建模/管理/监控工具。

使用过上述软件的朋友都知道,这些产品都和IBM自己的其它产品比如:Websphere MQ 或者IBM DB2有直接关系。比如,我们使用MQ Workflow,只能使用DB2数据库,而无法使用Oralce的数据库。

目前,IBM的流程管理工具是市场上占有率最高的,大致为24%左右。

2.BEA AquaLogic系列

BEA收购了一系列的公司,它收购的产品为BEA创造了巨大的财富和影响力。在2006年的3月1日,BEA收购了Fuego,Fuego的产品组合将加入到BEA的AquaLogic产品阵容中,成为BEA新的AquaLogic商业服务互动产品线的基础。现在,Fuego已经发展成了BEA Aqualogic家族的Workspace产品线的BPM Suite系列产品,支持BPMN/BPEL/UML等标准实现。

在收购Fuego前,BEA已有的过程处理工具是BEA Weblogic Integration,它对面向服务技术并不是特别适合,而面向服务技术是AquaLogic的根基。BEA董事会主席兼首席执行官Alfred Chuang曾经表示,BPM细分市场是SOA软件市场增长最快的部分,把Fuego加入到BEA的AquaLogic产品线意味着BEA能够供应集业务流程、应用和传统环境于一身的统一的基于SOA的软件。BEA在流程管理工具方面的市场上占有率约为15%。

3.Microsoft Biztalk Server

使用过BPEL的朋友都知道,BPEL的前身是WSFL和XLANG,其中XLANG是Microsoft提出的规范。Microsoft Biztalk Server就是依赖于XLANG实现的产品。Microsoft Biztalk Server 2000基本是XLANG的完全实现;Microsoft Biztalk Server 2004中加入了HWS(Human Workflow Service),实现了人工交互的流程,并且加入了Infopath表单实现表单定制。但是HWS的使用效果并不太好,在Microsoft Biztalk Server 2006中,没有对HWS做任何的改进。

Vista中Microsoft Biztalk Server是基于WWF实现的,按计划去掉了其中的HWS功能,可见BPEL与HWS的发展还是不太协调。

4.jBoss jBPM Server

在融合系列产品中,目前只有jBoss的 jBPM是开源产品。jBPM是从自由派发展而来,最初只实现了jPDL标准,我们先看看jBPM的野心:“JBoss jBPM is a powerful workflow, BPM, orchestration (BPEL) and web application pageflow platform that enables the creation of business processes that coordinate between people, applications and services。”

从中我们就能看出,jBPM融合了4大功能:Workflow、BPM、BPEL和PageFlow。通过这四大功能,实现了与流程开发人员,旧有系统,管理员和普通用户的协调交互,如图4所示。

jBPM自身有个功能全面的Workflow Engine,有个BPEL扩展,采用jBoss Hibernate实现,集成了jBoss seam,规则引擎准备采用jBoss rules,并准备集成jBoss Messaging。

Red Hat已经收购了jBoss,也就是说,以后安装了Red Hat,就可以直接使用jBPM提供的服务了,这样的特性也为jBPM的普及起到了促进作用。

5.国内工作流

国内工作流软件公司其实是比较多的,但发展都不太好。工作流项目竞争激烈,公司层面也是按最初级的项目开发思路一个一个为用户定制。这样开发速度慢,成本高,也不能适应用户需求多变的特性。

部分用户会要求开发公司使用工作流方式进行开发,这样迫使软件公司采用了工作流开发模式。但由于时间、资金投入、重视程度等因素的制约,一直发展非常缓慢。

可能与行业背景有关系,国内工作流技术人员的生存环境不容乐观。公司层面一般以普通的技术来看待工作流技术,不认为这个是和行业认知密切相关的。

其实工作流是一个技术的同时,更是一个行业,它是需要积累的。部分技术人员自己也有问题,只是浮在表面,不能深入进去,所以使用工作流都成问题。还有很多人,因为这个行业不好生存,在有了很多年的工作经验后,转行到其他行业,也是非常可惜的。

图2 BPM系列标准发展历程

图3 IBM对Websphere平台的描述

图4 jBPM实现的协调交互功能

BPM与ERP集成的六大前提:

● 组织具有集成的意愿;

● 良好的组织内部环境、企业文化;

● 组织最高管理者的决心和推动力;

● 务实、专业、高效的流程"诊治"团队,包括外部专家和组织内部业务骨干;

● 流程存在不断优化的可能;

● 具有平台化技术的ERP系统。


  从奴隶社会到封建后期
工作流(WorkFlow)的概念是在现代信息系统的建设中逐步形成的,它有一个从局部到整体、从初级到高级、从简单到复杂、从奴隶社会到封建盛世的发展过程,按其发展历程,我们一般把它分为三个阶段:

﹡ EDF(电子数据流)阶段

EDF(电子数据流)阶段是工作流的奴隶社会阶段。此时的工作流在信息技术中的应用,仅着眼于利用信息技术减轻人们在流程中的计算强度,如设计一个流程用来协调多个会计统计帐目。所以,EDF最主要的特点是仅对企业单项业务进行处理,基本不涉及管理的内容。

﹡ TPF(事务处理流)阶段

TPF(事务处理流)阶段是工作流的封建初期。TPF并没有形成对企业的全局业务的管理,而着眼于对企业局部业务的管理,比如,设计一套工作流程,来管理物资的采购和供应。

﹡ IMF(信息管理流)阶段

当今的工作流已经发展到封建后期-------IMF(信息管理流)阶段, IMF强调对企业业务的全局的整体性的管理。在这个阶段,工作流就是为了完成同一目标而相互衔接、自动进行的一系列业务活动或任务。目前,工作流技术与信息技术以及企业管理紧密结合,已经悄悄渗入MIS系统、ERP系统和CRM系统等企业级关键系统中,并迅速成为这些系统的核心。在这个阶段,保皇派工作流经历了大发展,革新派工作流也风涌而现。

2.   保皇派与革新派
与其它信息技术相比,工作流技术属于较新的一个,它现在仍处于标准的制定阶段,目前已有的标准按采用的技术分为两大派别,第一派是保皇派,基于纯XML技术;第二派是革新派,基于Web服务技术。保皇派与革新派打得难分难解,所以,现在仍有一些工作流引擎没有采用任何标准而独立实现,也就是说,它们不依靠保皇派,也不依靠革新派。

2.1 保皇派分支
﹡ XPDL(Xml Process Definition Language)

XPDL是保皇派最得人心的一派,因为它是太子。在工作流领域第一个致力于标准化工作的是Workflow Management Coalition (WfMC),它成立于1993年。1994年11月,wfmc发布了工作流管理系统的参考模型。参考模型提出了五类接口,有关过程模型的定义则构成了接口一的核心内容。接口一早期的标准为WPDL(Workflow Process Definition Language),后来,这一接口的规范变更为XPDL。XPDL是至今工作流领域最为重要的一个标准,目前大多数工作流引擎是依据该标准设计开发的。

﹡ BPML(Business Process Model Language)

因为对太子派的工作方式不满意,BPMI发布BPML规范,成立新的八爷党。由于八爷党发展的非常之快,WfMC和BPMI在2002年6月26日宣布将合作制定业务流程和工作流标准,即采用BPML来描述工作流过程,同时采用XPDL所定义的工作流模型。

﹡ OMG的Workflow Management Facility

四爷OMG是支持太子的,不过四爷这个人很有报负,在其他领域也做的有声有色。四爷OMG的Workflow Management Facility联合太子的WfMC规范,定义如何将工作流向CORBA转换---要知道, CORBA可是四爷的强项。现在很多老百姓支持四爷OMG的Workflow Management Facility。四爷这招,发展了自己的势力,又不惹太子生气,真是妙啊!

保皇派其它分支势力很小,这里就不多说了。

2.2 革新派分支
﹡ WSCI

2002年6月26日,BEA,Intalio,SAP,Sun四家公司提出了基于xml的WSCI规范,推动Web服务进入了一个全新的阶段。这个规范主要描述了一个参与和其它服务进行协作交互的Web服务所交换的消息流。WSCI是第一个革新派,后来又发展了几个新的革新派,

 如WSFL(属IBM),Xlang(属MS),因有天生缺陷,均没有很大起色。

﹡ ebXML

ebXML是一组支持模块化电子商务框架的规范。ebXML支持一个全球化的电子市场,它使得任意规模的企业通过交换基于XML的信息,不受地域限制地接洽和处理生意。ebXML是联合国(UN/CEFACT,贸易促进和电子商务中心)和OASIS(结构化信息标准发展组织)共同倡导、全球参与开发和使用的规范。由于现在老百姓都不喜欢抬着羊去换米,而喜欢在网上来个B2C,所以革新派ebXML最近发展很快。

﹡ BPEL

2002年8月9日,Microsoft, BEA, IBM, SAP & Siebel联合提交发布了BPEL规范。 BPEL联合了一系列革新派/保皇派力量( XLANG, WSFL, BPML)。此规范描述如何处理输入的消息,它不是一个关于业务流程规格化定义的规范。简单的说,可以将它看作XML形式的编程语言,提供将WSDL-Services组合成控制流的能力。顾名思义,此规范重点在(也不只限于)Web Service。

还有其它的革新派如RosettaNet等,因为势力很小,这里也不多说了。

3.   大户人家
这里所谈的大户人家指工作流领域的商业软件供应商,他们都背靠靠山,或穷或富。我们这里按地区来划分他们。

3.1中国之外的大户
 ﹡ BEA 的WLI

﹡ Fujitsu的 i-Flow

﹡ IBM的 Holosofx

﹡ SAP 的NetWeaver

﹡ Sonic 的Orchestration Server

﹡ Ultimus

﹡ Versata

这些人家大都非常富有;如果需要,请自己搜索他们的信息。

3.2国内的大户人家
﹡ 信雅达的SunFlow  这个公司留给我的印象很好,包括他们的总经理石总。

﹡ 西安协同的协同工作流

﹡ 上海东兰的DLFlo

这里对公司就不多介绍了,否则有做广告的嫌疑J。本人有国内工作流产品的比较报告,大家需要可以给我发邮件索取。

4.   寒门傲骨
这里的寒门傲骨指的是开源工作流引擎的实现,寒门子弟也是有政治取向的,我们还是按保皇派和革新派来区分他们,而自由派指没有按固定的标准来实现的工作流门派。

4.1保皇派寒门
﹡ OFBiz

   OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。其中包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。OFBiz先前的工作流引擎基于WfMC和OMG的规范,使用XPDL作为流程定义语言,也就是说,它是支持太子XPDL的,而且和十三爷OMG的关系非常之好。OFBiz新版的工作流引擎采用Shark工作流引擎,我们不建议再去学习OFBiz自身的工作流引擎。

﹡ OBE

OBE 是由Adrian Price主持开发的一个开放源码的Java工作流引擎,支持WfMC规范,包括接口1(XPDL)、接口2/3(WAPI)和接口5。OBE主要基于J2EE实现。OBE的接口1实现得非常好,可惜,OBE的载体公司Zaplet已经于前不久被合并,合并后的公司没有继续发展OBE的打算。Adrian Price离开了原来的公司,投奔我们前面说过的大户Versata。Versata也不打算继续OBE。OBE至今没有release版,很是可惜。

﹡ Shark

Shark是完全根据WFMC规范实施的,可扩展功能的工作流引擎,它利用xpdl来定义流程,同时还包括服务器端的用于活动节点执行的WFMC工具代理API。Shark中的每个组件例如持久层,事物管理器,脚本引擎,流程库,都是可以按照标准实施运用的,而且还可以被具体项目的模块扩展和替换。Shark和XPDL定义工具的事实标准JAWE同出名门,市场前景被很多人看好。OFBiz新版的工作流引擎采用Shark工作流引擎,OBE的载体公司Zaplet被合并,对Shark的发展将很有利。2004年9月9日,shark发布1.0版本,对它的发展无疑是一剂强心针。笔者从Shark发展的早期就在国内力推它,有幸成为Shark工作流引擎在国内的主要推广者之一(http://blog.csdn.net/hongbo781202/),感到十分荣幸。Shark的讨论请看http://211.95.124.238:22/cgi-bin/forums.cgi?forum=24

4.2 革新派寒门
﹡ OpenebXML

OpenebXML项目致力于提供一个ebXML框架,主要支持 UN/CEFACT和OASIS发布的ebXML规范2.0版。

﹡ Bonita

Bonita是一个符合WfMC规范、灵活的协同工作流系统。Bonita基于浏览器、使用SOAP和XML数据绑定技术的Web Services封装了已有的工作流业务方法并将它们以基于J2EE的Web Service形式发布。

﹡ Twister

Twister的目标是提供新一代、易集成、应用Java领域中最新成果、面向B2B的工作流解决方案。流程引擎基于BPEL业务流程规范和Web Service标准。

﹡ ActiveBpel

ActiveBPEL引擎是一个于今年7月发布的健壮的运行时环境,它能执行用户按BPWL4WS规范编写的业务流程。ActiveBPEL引擎由Active Endpoints公司开发和维护,该公司同时在它的多个商业产品中使用了该技术。本人将密切观注ActiveBPEL引擎的技术发展和产品状态。

4.3 自由派寒门
﹡ OSWorkflow

OSWorkflow的最大特点是灵活

﹡ OpenWFE

OpenWFE是一个开放源码的Java工作流引擎。 它的思想来源于 Scheme,包括可升级的三个组件:引擎、工作列表和Web界面。

﹡jBpm

jBpm是tom baeyens编写的一个灵活可扩展的工作流管理系统。jBmp将工作流应用开发的便利性和杰出的企业应用集成(EAI)能力结合了起来。jBmp包括一个Web应用程序和一个日程安排程序。jBmp是一组J2SE组件,可以作为J2EE应用集群部署。国内目前有部分人研究jBpm。

5 大局势
目前是封建社会后期,以太子党XPDL为首的保皇派还将辉煌一段时间。我个人认为,在Ofbiz投靠Shark,强势派OBE倒台,自由派不得人心的情况下,Shark工作流引擎依靠与XPDL定义工具JAWE的兄弟关系,将坐上保皇派头把交椅。

目前,革新派和保皇派的争夺并不激烈。因为在现在的情况下, 革新派的根基Web服务并不劳靠,在老百姓中的影响不太大,所以革新派只求从保皇派嘴边分口食就行了。但随着社会的发展, Web服务将越来越流行,现在,MS/IBM/BEA等跨国巨头越来越主推BPEL4WS标准,并且已经发布基于BPEL4WS标准的系列产品,而且,他们还主推Integration/Portal的概念,这些概念将把工作流带入资本主义阶段

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多