您的位置:首页 > 其它

第一章 工作流基本概念

2012-09-18 13:41 232 查看
1.1 什么是工作流

工作流的概念起源于生产组织和办公自动化领域,主要是针对日常生活中具有固定程序的活动而提出的一个概念,目的是通过将工作分解成一系列定义良好的任务,按照一定的规则和过程来执行任务,并对其实行监控,从而提高生产效率,降低生产成本,提高企业生产经营管理水平和企业竞争力[1] 。

按照工作流管理联盟的定义,工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行[2] 。

为了更好地理解工作流的概念,我们可以引入一个简单的应用实例:




图1.1 文件签发的工作流程

图1.1所示是一个文件签发的工作流程。

在机关和企事业单位的日常文件签发工作中,打印文稿通常需要经过文字秘书和分管领导的多次修改和审核,即带来了纸张的浪费,又受到时间和办公地点的限制。如果采用工作流过程控制技术,通过在网上实施文件的提交、审核和发布存档,则会大大提高办公效率。

从图中可以看出,文件的签发是一个相对固定的、重复性的工作过程。文件由秘书A起草,由分管领导审核,由秘书B打印分发和存档,任务在三者之间顺序进行。因此,按照工作流技术理论,我们完全可以预先定义一个文件签发的过程,这个过程包括三个既相对独立又彼此关联的任务节点,通过为各节点分配不同的角色用户,实现不同用户之间的分工与合作。工作流的过程定义和过程管理需要使用专门的工作流应用软件来进行。

通过使用工作流软件的图形化过程定义工具,我们可以按照图1.1所示方便地定义出一个符合实际需要的文件签发过程,并把这个定义好的过程予以保存。有了这个过程定义,就有了重复执行文件签发过程的固定模式。在需要时,秘书A可以选择发起文件签发过程,工作流软件将参照已经保存的过程定义模式生成一个实际的文件签发过程(过程实例),并向秘书A呈现一个任务处理界面,秘书A可以在这个任务界面中上载文件草稿,并点击按钮触发过程的继续执行。这时,按照过程的执行模式(过程定义),如果分管领导登录到系统中,将会在待处理任务列表中看到一个需要他处理的新的文件签发任务,点击该任务名称将进入文件审核处理界面,分管领导可以下载并打开文件草稿进行审核。任务处理界面中还会有两个不同的按钮,供分管领导选择审核通过或退回秘书A重新修改。如果点击了审核通过按钮,过程将执行到打印(分发)和存档任务节点,由秘书B完成该项任务。打印(分发)存档文件的完成将结束当前过程实例的完整执行。当然,如果还有新的文件需要签发,秘书A完全可以继续发起新的文件签发过程。

使用工作流过程控制可以减少手工文件签发审核中的资源浪费,克服时间和空间限制,大大提高工作效率。这还只是工作流应用的一个简单例子,对于更复杂的机关审批业务或企业生产过程,使用工作流技术的优势则要更加明显。

1.2 工作流基本概念

工作流(Workflow) 按照 WfMC的定义,工作流是一类能够完全或者部分自动执行的业务过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。

业务流程(Business Process) 在功能确定的组织结构中,能够实现业务目标和策略的相互连接的过程和活动集。

过程定义(Process Definition) 业务过程的形式化描述,用来支持系统建模和运行过程的自动化。过程可分解为一系列的子过程和活动,其中定义包括描述过程起始、终止的活动关系网络,以及一些关于个体行为的信息,具体而言,即构成过程的活动以及各活动的关系、组织成员的角色、应用中的数据结构等。

过程定义工具(Process Definition Tools) 过程定义工具被用来创建计算机可处理的业务过程描述。它可以是形式化的过程定义语言或对象关系模型,也可以是简单地规定用户间信息传输的一组路由命令。

活动(Activity) 业务过程的一个执行阶段,由执行者完成。执行者可以是人、软件系统或二者的集合。活动是过程执行中可被工作调度的最小工作单元,要求有人或机器参与。

过程/活动实例(Process/Activity Instances) 指的是一个工作流过程的具体执行。在过程实例的执行中,工作流引擎将负责解释对应的过程(和它包含的活动)定义,动态生成活动实例,并根据过程定义中的规则控制协调这些活动实例之间的执行顺序,同时完成活动之间的数据传递。

工作流管理系统(Workflow Management System, WFMS) 是定义、创建、执行工作流的软件系统。在最高层次上,WFMS应能提供以下三个方面的功能支持:建造功能,对工作流过程及其组成活动进行定义和建模;运行控制功能,在运行环境中管理工作流过程,对工作流过程中的活动进行调度;运行交互功能,指在工作流运行中,WFMS与用户(业务工作的参与者或控制者)及外部应用程序交互的功能。

工作流引擎(Workflow Engine) 工作流管理和应用系统的核心软件部分,为过程实例提供运行时环境和服务,可以形象地比作过程执行的发动机。工作流引擎接口向外部提供了支持、控制过程(实例)执行的功能。这些功能包括:解释过程定义;创建和管理过程实例,控制流程的运行状态,如开始、停止、挂起、重启等。

工作项(Work Item) 过程实例中要被参与者执行的工作,它与活动定义与活动实例相关。工作项一般需要人工的参与,它的完成将推动过程的进展。

工作列表(Work Items List) 与业务过程的某个参与者相关的一系列工作项的集合。工作列表的生成需要工作流引擎和工作流列表处理程序共同参与。

图1.2显示了工作流基本概念之间的关系:



图1.2 工作流基本概念之间的关系
1.3 工作流模型

工作流过程依赖于一个形式化的工作流模型来描述工作流节点之间的控制流和数据流。工作流模型由4部分组成,它们分别是过程模型、组织模型、资源模型以及工作流相关数据。过程模型用来定义工作流的过程逻辑,它包括组成工作流的所有活动以及活动之间的依赖关系。它是整个工作流模型的基础与核心,其它模型均为其提供支持。组织模型用来定义企业人员的组织结构,它包括几种不同形式的组织元素以及每种组织元素内部的递阶层次关系。组织模型的主要任务是为企业人员执行工作流提供柔性的组织定义,为过程模型提供“人”的支持。资源模型用来定义企业资源的组织结构,它包括几种模式的资源容器元素以及容器内部的递阶层次关系,直至最终的原子级资源个体。资源模型的主要任务是为企业人员执行工作流提供“物”的支持。工作流相关数据用来定义工作流执行过程中需要用到的数据,它包括简单的数据类型与复杂的企业对象。它主要用于各种条件的判断,以实现工作流引擎对不同活动的选择性路由。工作流相关数据为工作流的执行提供了“信息”的支持。

路由关系和原语集:WfMC已经确定了用来描述工作流路由关系的原语集。用这些原语可以描述任何可能发生的工作流。这些原语是Sequential Routing、AND-split、AND-join、Parallel Routing、OR-Split、OR-join和Iteration。




图1.3 WfMC所定义的路由关系模型
图1.3描述了WfMC所定义的路由关系:

①顺序路由:一个任务接着另一个任务被顺序的执行。在图(a)中任务B在任务A已经完成之后和任务C开始之前执行。

②与分支:为了表达与分支路由,需要增加一个AND-split逻辑节点。逻辑节点并不代表真正需要执行的活动,它只是为了表示节点之间的逻辑关系而设立的。在图(b)中,当任务A完成后,AND-split为真,任务B和任务C可以并行执行(可以同一时刻执行,也可以先后执行)。

③与连接:在图(c)中,AND-Join使得只有在任务A和任务B都完成后,任务C才可以执行。

在一个与分支节点引出的所有分支路径要在一个对应的与连接节点汇合。参考图(d)。

④并行路由:图(d),任务的执行逻辑参照与分支和与连接。

⑤条件路由(或分支和或连接):在图(e)中,任务A完成后,任务B或者任务C只能有一个被执行;任务D在任务B或任务C完成之后就可以执行。

⑥循环路由(Iteration):有时需要执行一个任务多次。在图(f)中任务B被执行一次或多次。
1.4 工作流管理系统参考模型
为了统一工作流的相关标准,工作流管理联盟(WfMC)提出了有关工作流管理系统的一些规范,定义了工作流管理系统的结构及其应用、管理工具、和其它工作流管理系统之间的编程应用接口等,图1.4是WfMC给出的工作流管理系统参考模型。



图1.4 WfMC的工作流管理系统参考模型

系统各部分的功能如下:

1、过程定义工具:主要功能是为用户提供对业务过程进行分析建模的手段,并生成可被计算机识别和处理的过程定义。

2、工作流执行服务:它借助一个或多个工作流引擎来激活并解释过程定义,并同外部应用程序进行交互,来完成工作流过程实例的创建、执行和管理,并通过控制条件的计算控制过程在各活动之间的游历(以及数据在活动之间的传递),并生成有关的工作项,通知用户进行处理等,为工作流程的进行提供了一个运行环境。

工作流执行服务一般有一个工作流引擎来提供,在大型WFMS中,工作流的运行控制可能需要多个工作流引擎共同完成,例如某个跨区域、跨部门的过程可能会包含多个子过程,这些子过程可能是由不同的工作流引擎来提供运行和控制环境,这就需要实现多工作流引擎之间的互访互连。

3、客户应用程序:与工作流引擎交互,以获得引擎服务和过程控制的功能。典型的客户应用程序是用户任务列表处理程序。

4、被调应用程序:指工作流执行服务在过程实例的运行过程中调用的、用以对应用数据进行处理的应用程序。在过程定义中包含有这种应用程序的详细信息。被调应用程序可能是应用代理,也可能是本地过程调用、远程调用等。

5、工作流管理监控工具:其功能是对过程实例的状态进行监控和管理,包括挂起、恢复、取消过程实例,以及用户、角色、资源控制等。

WfMC为以上功能的实现分别提供了接口规范,从而为工作流产品的技术实现提供了统一的标准,方便不同产品的互访,可以有效提高工作流产品的通用性和灵活性[2][3][4] 。

本文中引用的参考文献:
[1] 范玉顺,罗海滨,等. 工作流管理技术基础. 北京:清华大学出版社,2001.
[2] Workflow Management Coalition. WFMC-TC-1011. Terminology & Glossary. Winchester: WfMC, 1999.2

[3] Workflow Management Coalition. WFMC-TC-1003. Workflow Reference Model. Winchester: WfMC, 1995.1

[4] Workflow Management Coalition. WFMC-TC-1025. Workflow Process Definition Interface-- XML Process Definition Language. Hingham, Massachusetts:WfMC, 2002.10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: