`

XPDL与WS-BPEL的比较之一:规范发展篇

阅读更多

WfMC是国际工作流管理联盟的简称,目前业界习惯上以WfMC代替了该组织制定的XPDL、工作流参考模型等系列标准,也许这个系列称为WfMC与BPEL的对比更“悦耳”。

  最早的工作流标准组织为国际工作流管理联盟WfMC,该联盟于1993年发布了工作流参考模型以及5类工作流标准接口。截至到2007年,业界已经有10+工作流标准组织,共计7+工作流参考模型,参考模型的文档页数也由最初的40页发展到目前平均的150页。

  工作流标准发展概览图:

workflow-spec.jpg

  各个工作流标准组织的宗旨、制定的工作流相关标准和在工作流领域的最新进展:

组织名称

宗旨

工作流相关标准

目前的工作

WfMC

围绕BPM生命周期建立标准

Workflow Reference Model、

XPDL 、Wf-XML、ASAP

发展XPDL;发展ASAP并提交到OASIS组织。

OASIS

以XML为核心的各种标准,主要批准第三方的标准。

ebXML、BPEL

发展ebXML组件、ASAP等;
未来可能接受BPEL4People和WS-HumanTask等规范。

OMG

MDA、UML、CORBA

BPMN、BPDM

在业务流程模型之上生成可运行的代码

W3C

在TCP/IP HTTP之上建立程序可互操作的标准

WS-CDL、工作流所依赖的基础标准:SOAP、WSDL、XML等

 

 

WS-BPEL的发展进程:
2002年8月,IBM和微软联合已有的业务流程语言WSFL和XLang发布了BPEL4WS 1.0。
2003年3月,发布BPEL4WS 1.1,并正式提交给OASIS组织。
2005年底,BPEL4People白皮书首次公布。
2007年4月,该标准的2.0版本被OASIS正式批准,并重新命名为WS-BPEL 2.0。
2007年8月,BPEL4People 1.0和WS-HumanTask1.0草案发布,尚未提交给OASIS。

相比BPEL4WS,WS-BPEL2.0新增加的内容包括:
1.使用Xpath参数绑定增强了数据操纵能力。
2.可使用XSLT增强数据转换能力。
3.增加了新的节点类型:forEach、repeatUntil以及ExtensionActivity。
4.增强了错误处理:可在catch和rethrow中进行细粒度控制。高级的异常处理引入了终止处理。
5.允许本地伙伴链接,以支持高级的操作。
6.语法的提升。将"switch"修改为"if-elseif-else",将"terminate"修改为"exit"等。


WfMC的发展进程:
1993年,WfMC发布了工作流参考模型以及5类工作流标准接口。
1998年11月,发布了WPDL(XPDL的前身)。
2002年10月,发布了XPDL1.0。
2005年10月,发布了XPDL2.0。
目前XPDL2.1正在制定,主要内容为增强与BPMN 1.1的兼容性,包括远程子流程节点的URL标识、协作单元的图形化信息、只读相关数据和仿真结果等系列内容。其进度表为:
2007-10-12,确认被提议的变更。
2007-11-15,确认BPMN1.1变更要目。
2007-12-15,起草供内部讨论的规范草案。
2008-01-15,更新并公布草案。
2008-02-20,为最终的XPDL2.1规范投票。

 


 

文章评论:
回复人: abird  2008-02-03 17:44:40

留言限制在200字内,只好分为2次贴。顺序有误,先看后面的,再看前面的。 链接:http://www.blogjava.net/zhaobin/archive/2008/01/01/171982.html

回复人: abird  2008-02-03 17:42:43

我非常赞同楼主的观点,目前我们正在做一个关于应用服务的标准,其中有流程服务标准部分,我们有意向参考WfMC的引擎接口,定义流程服务标准。 我有一个帖子,烦请楼主看看,提提意见,谢谢。 http://www.blogjava.net/zhaobin/archive/2008/01/01/171982.html 顺祝:新年快乐!

回复人: abird  2008-02-03 17:42:34

看了James Zhang的关于XPDL和BPEL标准分析的这个系列文章,非常有感触,感谢James Zhang有如此精辟的分析。 不知道James Zhang能否看到这个留言,但还是要请教一下楼主的观点,关于“在引擎接口方面”,有多种多样的实现,这其实倒也无妨的。因为本身WfMC的引擎接口是按照C语言的哲学设计的,离现在的IOC/AOP等理念差远了,个人认为也只能作为功能性参考。

评论
1 楼 jmszhang 2008-02-11  
1.WfMC的Interface2/3是按照C语言的结构体等特点设计的,不会考虑Java面向对象的特点。
小例子:规范接口很多参数是数组式的,如果是Java语言实现,换成List、Iterator或者自定义的工作流对象多方便;很简单的例子,如果工作流产品设计的API没考虑到类似Java面向对象的特点,很多API的返回结果是数组,在Java Doc里说明第几个元素表示工作流对象的什么属性,做实际工作流开发的人用起来很麻烦。

2.WfMC接口里最常用的接口是connect和disconnect,如何和现在的面向方面的编程(AOP)结合。譬如用Spring里HibernateTemplate支持;同样如何解决工作流事务与应用事务如何统一进行管理,更多的QoS方面的考虑、配置方法的考虑。完全可以参照hibernate框架的处理。


看过标准草稿,很棒,但俺没有参与你们的工作,只能站在“领导者的角度”发几句感慨:
1.这个东东更多的需要考虑厂商利益和执行者利益吧,能顺便提高电子政务的业务效率就更好了。
2.听同事说IBM弃权(反对)JBI原因之一是因为JBI标准制定的太详尽了,实现者没有可挖掘的厂商特色而言。
3.BPEL2.0标准过程、组织过程非常详尽,上百家国际厂商投票,就没有咱们中国人呢。。

相关推荐

    BPEL 2.0规范(中文版)

    - **WS-BPEL**:一种用于定义业务流程的标准化语言,特别适用于描述基于Web服务的业务流程。 - **可执行业务流程**:这类业务流程能够直接被计算机系统执行,用于模拟实际业务交互中参与者的具体行为。 - **抽象业务...

    过程定义语言XPDL_BPML和BPEL4WS的比较分析.pdf

    随着信息技术的发展,特别是互联网技术的普及与深化,工作流管理系统(Workflow Management Systems, WfMS)成为了提高企业效率的重要工具之一。为了标准化工作流的定义与交换,出现了多种基于XML的过程定义语言,如...

    xpdl和bpel规范文档.rar

    BPEL与WS-BPEL(Web Services Business Process Execution Language)紧密相关,后者是其更广泛认可的工业标准版本,旨在促进跨组织的服务交互和流程自动化。 `工作流`(Workflow)是指在组织内部或跨组织的一系列...

    2009年,XPDL与BPEL标准与BPM 产品现状.doc

    【标题】:2009年,XPDL与BPEL标准与BPM产品现状 【描述】:本文探讨了2009年时XPDL和BPEL这两个标准在业务流程管理(BPM)领域中的应用和产品状况。 【标签】:XPDL,BPEL,BPM 【正文】: 在2009年的业务流程...

    电子政务标准化指南-第5部分:支撑技术

    - 流程控制:如BPML、XPDL、WSFL、XLANG和BPEL4WS等标准,用于定义和执行业务流程。 - 数据访问:如ODBC、JDBC等标准,提供统一的数据访问接口。 - 目录服务:如X.500、LDAP和DSML,用于管理和检索组织内的信息。...

    几种开源工作流引擎的简单比较

    Apache ODE是一个基于WS-BPEL 2.0标准的开源工作流引擎,它支持BPEL、Xforms、WebService等外部接口标准。Apache ODE的文档较为齐全,代码量为548K。Apache ODE的缺点是不支持工作流实例的持久化,缺少图形编辑环境...

    工作流引擎-(简述-选型)

    - **BPEL-WS**:2003年提交给OASIS,并更名为WSBPEL规范。2007年4月发布了WSBPEL2.0版本。BPEL的流行部分归因于Web服务的兴起和SOA的发展。但是,由于BPEL是基于块的结构,而BPMN是基于图的,两者之间的转换存在局限...

    jbpm-jpdl-suite-3.2.3的安装配置

    自2004年10月18日成为JBoss企业中间件平台的一部分以来,jBPM一直在不断发展,其核心特性是使用了JBoss jBPM Process Definition Language (jPDL)来定义业务流程,而不是遵循传统的WfMC's XPDL、BPML、ebXML或BPEL4...

    jbpm开发工作流程管理

    jBPM最大的特色在于其未采用市场上现有的规范如WfMC's XPDL, BPML, ebXML, BPEL4WS等,而是选择了自己定义的一套流程定义语言——JBoss jBPM Process Definition Language (jPdl)。这种语言视一个业务流程为一个UML...

    基于SOA的业务流程管理(BPM)和工作流(WF)

    #### 三、流程规范:XPDL与BPEL 1. **XPDL**(eXtensible Process Definition Language):这是一种用于描述业务流程的标准格式,由工作流管理联盟(Workflow Management Coalition, WfMC)推广。XPDL提供了灵活且...

    JBPM文档(详解)

    - jBPM不遵循传统的WfMC's XPDL、BPML、ebXML或BPEL4WS等规范,而是使用自定义的jBoss jBPM Process Definition Language (jPdl)。jPdl基于UML状态图模型,使流程定义图形化,易于理解和维护。 - 这种状态图模型将...

    基于服务的工作流技术

    - **BPEL的发展**:2002年,IBM、Microsoft等大型企业共同推出BPEL4WS,随后在2003年由OASIS采纳为标准;2005年,IBM等公司发布了BPEL4People白皮书。 - **产品与解决方案**:各大公司纷纷推出基于BPEL的工作流系统...

    jbpm4.4 resource-2

    jBPM最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process definition language (jPdl)。jPdl认为一个商务流程可以被看作是...

    自己写的jbpm学习资料

    jBPM的最大特色在于它采用了自定义的JBoss jBPM Process Definition Language(jPdl),而非遵循WfMC′s XPDL、BPML、ebXML、BPEL4WS等行业标准。jPdl将业务流程视为UML状态图,详尽定义了流程的各个组成部分,如...

    工作流引擎在教务管理系统开发中的应用

    JBPM的一个显著特点是它并没有遵循一些现有的标准,如WfMC's XPDL、BPML、ebXML或BPEL4WS等,而是采用了自己定义的JBoss JBPM Process Definition Language (JPDL)。JPDL将一个商务流程视为一个UML状态图,并详细...

    开源工作流的比较和描述

    ActiveBPEL 是一款专注于执行BPEL4WS (Business Process Execution Language for Web Services) 的工作流引擎。ActiveBPEL 的优势在于其对BPEL标准的支持,使得它可以处理复杂的Web服务交互。 ### 20. YAWL YAWL ...

    jBPM详解_工作流管理系统详细文档

    jBPM并没有采用一些现成的流程定义标准,例如WfMC XPDL、BPML、ebXML或BPEL4WS等,而是采用了自己的流程定义语言——jPDL(jBPM Process Definition Language)。jPDL将业务流程视为一个UML状态图,通过定义状态图中...

    J2EE工作流管理系统jBPM详解.doc

    jBPM的独特之处在于其不依赖于现有的工作流规范,如WfMC XPDL、BPML、ebXML或BPEL4WS,而是采用自定义的jPdl(JBoss jBPM Process definition language)来定义业务流程,将流程视为UML状态图进行建模。 jBPM使用...

    JBOSS部署JBPM.doc

    jBPM 的商务逻辑定义没有采用目前的一些规范,如 WfMC XPDL, BPML, ebXML, BPEL4WS 等,而是采用了它自己定义的 JBoss jBPM Process definition language (jPdl)。jPdl 认为一个商务流程可以被看作是一个 UML 状态图...

    jbpm详细介绍,有关jbpm的功能、流程图、以及特殊功能

    不同于传统的WfMC's XPDL、BPML、ebXML或BPEL4WS等规范,jPdl基于UML状态图的理念,允许开发者以图形化的方式直观地描述业务流程。jPdl定义了流程的起始、结束状态以及状态间的转换,简化了流程设计过程。 jbPM利用...

Global site tag (gtag.js) - Google Analytics