研究工作流及其相关技术的人一定知道这个组织——工作流管理联盟(简称WfMC,Workflow Management Coalition),其成立于1993年。作为工作流技术标准化的工业组织,WfMC提出的工作流系统参考模型(Reference Model)无疑为各家工作流软件厂商的系统设计规划提供了最权威的参考,乃至标准。下面就是这个参考模型:
首先,最重要的部分就是中间的工作流引擎,可以说它就是整个工作流系统的心脏,因为所有的工作流系统都要使用工作流引擎来:
1、为运行中的流程实例解释我们的流程定义——这些定义一般都是由接口1获得的。
2、组织调度流程的实例,推进工作流程的前进,这包括条件流转、分支聚合、父子流程……
3、处理工作任务的分配、接受、提交等行为。——为无论是人工干预或自动执行的任务,提供计算的支持。
4、管理调用其他的4个接口——这可能包括解释工作流程定义中的一些脚本。
工作流引擎做的工作就像心脏把血液不断的送到我们身体的各个部分一样,关于工作流引擎是如何架构和设计的,这相当复杂,不过我会在以后的文章和大家讨论。
然后,说说工作流系统“身体”的五个部分吧,也就是五个接口:
接口1——流程定义工具,前面提到过我们使用它来定义业务流程,所谓的业务流程定义一般来说就是一段XML,它遵循XPDL(Xml Process Define Language)标准或BPEL(Business Process Execution Language)标准或厂商自定义的标准等等。事实上你就可以把它理解为一个产生XML的图形化建模工具。这种图形化建模工具各个厂商的技术实现可谓五花八门,国内的一些厂商,例如西安协同采用的是java swing,joinwork使用的是flash,而我做的工作流系统使用的是ActiveX;国际上的一些开源项目,如jBPM使用的是基于Eclipse的插件,Shark Workflow使用的则是JAWE——一种基于Java技术实现的XPDL建模工具。当然,它们的目的都是——产生XML形式的流程定义。
接口2——工作流客户端应用,这很有意思,当我们的业务流程设计好了、运行起来了,那么我们——人如何与工作流引擎交互呢?这时候,工作流引擎就通过接口2,为我们提供各种各样的工作/任务列表、工作表单、流程列表以及一些查询功能。我们通过这个接口,就可以办理任务、填写表单……从而与工作流引擎沟通。
接口3——应用程序执行服务,工作流引擎通过这个接口去执行一些外部的或面向专门职能领域的应用程序,例如财务系统、报表系统等,让这些第三方系统参与进来,从而完成定义的工作流程。这看起来就像EAI(——Enterprise Application Integration)的特性,而事实上它也可以说就是Workflow EAI。同时我们也可以发现接口2和接口3的界定很模糊,难道接口2提到的工作列表不能算是外部的应用程序么?没错!这个问题确实存在,这也就是为什么荷兰工作流大师Aalst在其著作中写道“建议每个应用程序都由此‘应用程序执行服务’打开”的原因,他是在建议统一这两个接口么?我也不知道。总之,接口3在标准化方面众口不一。
接口4——与其它工作流系统的定制/交互服务,用来处理若干自治工作流系统之间的工作交换,例如案例转移、工作项外包等等。事实上,WfMC组织的初衷是想通过这个接口来连接各个不同的工作流引擎/系统,使它们在一个统一的标准下工作和交流。想法是好的,但是,由于种种原因吧,个人认为是商业利益的因素以及WfMC还没有强大到能“号令江湖,莫敢不从”的地步,所以到目前为止,接口4基本不被支持,也就是说,各大厂商的工作流产品并不能用同一种语言对话。
接口5——管理和监控工具,虽然很多工作流系统(特别是开源工作流系统)实现的最简单部分的就是这个接口,但我认为最能体现工作流系统在管理上应用价值的就是这个部分,它主要被用来搜集管理信息,这包括诸如工作流系统功能管理工具、流程实时监视和控制工具以及工作效率分析和流程覆盖面分析等各种商业智能工具,这为提升企业的管理能力、优化重组企业的业务流程、分析企业内部的工作效率瓶颈等提供了重要的量化数据支持。俗话说“工业化解放人类的体力,信息化解放人类的智力”,这个接口提供的功能不正是解放了企业领导和决策者们智力的么,而这正是信息化的初衷,工作流的最终价值所在。而传统的工作流系统在这个接口上的“短板”,正为BPM(Business Process Management)这个概念的支持者提供了攻击工作流系统的口实,BPM系统在这个接口上的强化成了很多人认为“Workflow系统”不等同于或弱于“BPM系统”的最重要原因,事实上,不过是些概念而已,如过眼云烟……
总结一下,五大接口各自强调了什么?接口1——(流程)定义;接口2——强化工作列表和应用程序集成;接口3——(外部应用程序的)参与;接口4——(不同工作流系统间的)连接;接口5——搜集管理信息。
还有一些补充观点:
接口3和接口5标准化工作进展较为缓慢。
接口3和接口4问题很多,主要是什么问题?还不就是流程和工作任务的事务、回滚(包括被动退回和主动取回的任务)问题,在这两个问题上如何处理、怎么处理好、如何保持原子性或如何进行“补偿”,都是很有些发挥空间的。
分享到:
相关推荐
通过具体案例的学习,可以更直观地理解工作流管理系统是如何运作的。 #### 十、工作流技术在企业经营过程重组中的应用 这部分内容讨论了工作流技术如何应用于企业经营过程重组(Business Process Reengineering, ...
### WfMC工作流参考模型相关知识点 #### 1. 工作流管理技术背景与定义 - **工作流管理**是一种快速发展的技术,越来越多的企业在各种行业中利用它来自动化涉及人类与机器活动相结合的过程,特别是那些涉及与IT应用...
工作流参考模型是理解工作流管理系统架构和功能的关键,它不仅提供了技术上的指导,也为实现企业级工作流自动化奠定了理论基础。通过采用标准化的方法和接口,工作流参考模型促进了不同系统之间的互操作性和流程集成...
工作流参考模型由工作流管理联盟于1995年提出,旨在为工作流管理系统(Workflow Management System, WFMS)提供一种通用的体系结构框架。该模型不仅定义了WFMS的基本组成部分,还详细描述了这些组件之间的交互方式...
工作流参考模型的主要目的是为工作流系统的开发者、用户和供应商提供一个共同的语言和框架,帮助他们更好地设计、实施和集成工作流系统。 ##### 1.3 范围 该参考模型覆盖了工作流系统的关键组件,包括但不限于工作...
### 工作流管理:模型、方法和系统 #### 一、引言 《工作流管理:模型、方法和系统》是一本深入探讨工作流管理领域的重要著作,由Wil van der Aalst与Kees van Hee合著,并于1997年首次出版。本书不仅介绍了工作流...
建议按照章节顺序阅读,以确保全面理解工作流参考模型的概念和技术细节。 ##### 1.6 参考 本文档参考了多个国际标准和技术文献,确保内容的准确性和权威性。 ##### 1.7 修订历史 文档将根据技术进步和反馈进行...
综上所述,WFMC工作流参考模型是理解和实现工作流管理系统的基础,它提供了一个完整的框架,使得开发人员可以按照统一的标准来设计、实施和管理企业的工作流,同时促进了不同工作流解决方案之间的互操作性。...
为了促进不同厂商之间的工作流系统的互操作性和兼容性,WFMC(Work Flow Management Coalition)制定了一系列标准,其中最为重要的是“工作流参考模型”。 ##### 1.2 目的 该文档的主要目标是为工作流管理系统提供...
WFMC的工作流模型理论主要包括了工作流参考模型(Reference Model)、工作流管理系统规范(Specification for Workflow Management Systems)和一系列相关标准,旨在为工作流系统的开发和集成提供统一的基础。...
首先,理解工作流系统的核心概念至关重要。工作流系统是一种自动化处理业务流程的软件,它能够根据预定义的规则和步骤协调人员、系统和信息的流动。工作流系统通常包括工作流引擎、用户界面、流程定义和监控工具等...
首先,理解工作流(Workflow)的基本概念至关重要。工作流是指一个组织内或跨组织的业务过程,由一系列相互关联的任务组成,这些任务可能涉及不同的人员、部门或系统。工作流引擎则是驱动这个过程自动化的核心组件,...
工作流参考模型是由工作流管理联盟(WFMC)提出的,旨在为工作流系统的开发和实施提供一个通用框架。 - **工作流执行服务器**:负责执行工作流实例的核心组件。 - **过程定义工具**:用于创建和编辑工作流模型。 - ...
这些视角帮助全面理解工作流的设计与实现: - **功能视角**:关注于确定需要执行的任务或活动。 - **信息视角**:强调输入与输出数据的需求及其流动方式。 - **行为视角**:侧重于活动何时执行以及它们之间的控制流...