XPDL(XML Process Definition Language)是由Workflow Management Coalition(简写为:WfMC)所提出的一个标准化规格,使用XML文件让不同的工作流程软件能够交换商业流程定义。
目前版本为XPDL 2.1
XPDL被设计为图形上和语义上都满足交换用的商业流程定义,是描述BPMN图的最佳文件格式。BPEL也可以描述商业流程。但是XPDL不仅包含流程执行的描述,还包括了元素的图形信息,更适于商业流程建模。
介绍XPDL是一个通用的框架,这也是XPDL的一个重要特性,这个框架可以支持开发者的特殊使用目的,而对外表现形式却相同。开发者的实现和它的外部接口可以独立分开,因为不管你如何实现的,采用什么图形描述(状态图,活动图等),只要外部接口符合XPDL 规范,那么就可以保持相同的表示形式。希望在WFMC 接口1的未来发布版本中,能够包含现版本中缺少的属性。
历史工作流管理联盟成立于1993年8月,首先定义了工作流参考模型(最终发布于1995年),概述了工作流管理系统必须具备的五个关键接口。接口1用于定义业务流程,其包括两个方面:流程定义表达语言和用于将流程定义传输到工作流管理系统/从工作流管理系统传输流程定义的编程接口。
流程定义表达式语言的第一个版本称为工作流程过程定义语言(WPDL),它发布于1998年。该过程元模型包含支持使用URL编码表示的工作流自动化所需的所有关键概念。举行了互操作性演示,以确认该语言作为沟通过程模型的方式的有用性1。
到1998年,基于XML的第一个标准开始出现。工作流管理联盟工作组1制作了一种更新的流程定义表达语言,称为XML流程定义语言(XPDL),称为XPDL 1.0。第二个版本是基于XML的交换语言,它包含许多与WPDL相同的概念,并有一些改进。 XPf 1.0于2002年由WfMC批准,随后由二十多个工作流程/ BPM产品实施,以交换流程定义。关于XPDL的工作流功能有大量的研究项目和学术研究,这实际上是当时唯一的标准语言,用于交换过程设计。
WfMC继续更新和改进流程定义交换语言。 2004年,WfMC批准了BPMN,这是一种图形化形式,用于标准化流程定义的可视化方式。 XPDL是专门扩展的,其目标是在XML中表示BPMN图中存在的所有概念。流程定义表达式语言的第三个版本称为XPDL 2.0,并于2005年10月由WfMC批准。
2008年4月,WfMC批准XPDL 2.1作为本规范的第四次修订。 XPDL 2.1包括处理新BPMN 1.1构造的扩展,以及实现的一致性标准的澄清。
2012年春季,WfMC完成了XPDL 2.2作为本规范的第五次修订。 XPDL 2.2构建于2.1版之后,引入了对添加到BPMN 2.0的流程建模扩展的支持。
基于XML的Workflow 过程定义语言工作流是一种很重要, 很有价值的技术, 在1996 年WfMC(the Workflow Management Coalition)发布的与工作流相关的术语表中把工作流定义为:业务流程的全部或部分自动化。在这个过程中, 文档、信息以及任务依据事先设定好的规则从一个人/地方传送到另外的人/地方,以进行进一步的工作, 其中这事先设计好的规则就是Workflow 的过程描述。由于在应用领域中工作流程或业务规则是需要经常变更的, 所以怎样准确、方便(灵活)的定义Workflow 过程就成为迫切需要解决的问题。WfMC 经过长期研究给出了一种Workflow 过程定义语言WPDL(the Workflow Process Definition Language)。WPDL可以在任何应用领域中使用。但是也正是由于WPDL的通用性使得它变得十分庞大、复杂, 因此到目前为止WPDL 在多数情况下还是作为一种参考语言或者是Workflow 过程定义的规范而应用。本文所提出的基于XML 的Workflow 过程定义语言就是在WPDL 的基本指导思想下, 进行分析研究后所得出的。这种过程定义语言较WPDL 简单, 但是却能满足大多数应用情况的简单建模方法。
成分描述在确定Workflow 过程定义语言规范的时候, 我们对很多种脚本语言、描述语言和高级语言进行了比较, 最后选择了XML 。XML(eXtensible Markup Language , 可扩展的置标语言), 是W3C 组织定义的一种互联网上交换数据的标准。
XML 语言是一种“更坦白的网络语言” , 使得数据在网络上的获取和交流更加灵活便利, 并可以通过包括电脑、电视和移动电话等更多的终端设备得到反映, 显示出了强大的生命力, 并有可能在未来取代目前主流的HTML 语言, 从而使人机交流界面更加自然便利。XML在互联网世界中扮演了“国际语言”角色, 它将会成为具有相互连接特性的因特网标准。此外,XML 更为互联网世界提供了定义各行各业的“专业术语”的工具。正是由XML 不可估量的发展前景,我们最终决定让Workflow 过程定义语言遵循XML 语言规范, 下面是基于这种思想设计出的Workflow 过程定义语言语法元素的DTD(Document Type Definition , 文档类型定义)描述文件2。
XML-WfPDL 语言设计WfMC 的主要目的之一是支持异构工作流管理系统与产品之间的互操作性由于Internet 和Web 的普及及标准化XML 的良好特点结构化数据显示与格式分离易表达语义等因此可利用Internet Web 及XML 来解决互操作性正是由于XML 具有不可比拟的优点基于XML 描述的过程定义语言大大扩大了WfMS 在基于B/S 结构的应用范围也必将成为工作流过程的主要描述形式3。
WfMC 统一了工作流管理系统中所涉及到的名词术语并给出了过程定义的概念过程定义是业务过程的形式化描述用来支持工作流管理系统的建模和执行的自动化过程定义包括一系列活动和活动间的关系过程的起始和终止信息以及有关个体的信息如参与者有关的应用和数据等在我们的原型环境中 涉及到了串联和并联审批一个过程模型如图1 所示一个完整的过程模型由相互之间具有联系的过程片段构成每个过程片段有自己独立自治的工作环境例如在一个部门内的审批片段由相互联系的活动构成两个活动之间的一个连接描述哪一个活动被先执行带有箭头的直线被用来描述连接在此模型中活动是最小的构建块模。
使用XPDL表示法的工具Bizagi BPM Suite
Bonita BPM
HEFLO - The Power of BPM Technology.
myInvenio
Together Workflow Editor
本词条内容贡献者为:
曹慧慧 - 副教授 - 中国矿业大学