该领域的代表规范就是工作流管理联盟( Workflow Management Coalition , WfMC )发布的。 1993 年, WfMC 的成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操作, WfMC 在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。 WfMC 给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。
详细说明 WfMC 参考模型
接口 1 早期的规范为 WPDL ( Workflow Process Definition Language )。后来,这一
接口的规范变更为 XPDL 。 XPDL 是至今工作流领域最为重要的一个标准,目前大多数工作流引擎
是依据该标准设计开发的。 XPDL 利用 XML 作为流程定义相互转换机制,在流程定义元模型中,
XPDL 语法直接与定义在其中的对象、属性相关联。元模型描述了流程定义所需要的上层实体,以
及它们的关系和属性。对于 XPDL 基本元素更加详细的介绍请参考 WFMC-TC-1025 FINAL Draf
t 。
接口 2&3 规范为 WAPI ( Workflow Application Programming Interfaces )。通过在
WFM 产品中支持这些接口,便于实现需要访问 WFM 工作流引擎功能(工作流服务)的前端应用程
序。此类应用程序的实现,可由 WFM 开发人员或 ISVs (独立软件开发商)完成。实现这些 API
调用,还有利于工作流应用程序使用该通用的 API 接口操作不同的工作流引擎。这些 API 调用,允
许 WFM 开发人员使用一个单一的最终用户接口和功能集合,而不用考虑已有的各种 WFM 工作流
产品。 WAPI 调用可用各种语言实现。最初的联盟规范将适用于 ’C’ 语言。该 API 采用 CALLS 的
形式。在特定的 WFM 产品实现中,对 CALLS 的底层实现不做任何假设。 WAPI 调用用于运行时
( run-time ),就是说,当流程正在执行或将要执行时。它们通常被用于工作流应用程序(如工
作表处理器和协同操作的应用程序等),当某一 WFM 引擎需要在 API 函数上下文内与其它 WFM
产品的工作流引擎交互时,它们也可用于 WFM 引擎。通过其函数集, WAPI 提供了一组由工作流
定制服务( Workflow Enactment Service )提供的工作流服务。 WAPI 不假设任何特定的用户
接口,更确切地说,它特别地假定了支持工作流的应用程序用户接口。该应用程序使用这些服务,
提供其自己的用户接口,实现这些接口,依赖于实现它的应用程序开发环境工具。