工作流引擎技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1 工作流引擎技术
工作流概念的提出是人们注意到了隐藏在业务处理的过程控制的共性,并从业务处理操作中分离出过程逻辑单独加以研究,从而可以实现过程优化配置和重组。但是,多年来,不同的研究者和产品供应商从不同的角度给出了工作流的定义。下面分别从工作流定义及工作流相关术语进行解释,并分析工作流应用中所遇到的多种模式,提出了工作流参考引擎、处理模型、体系结构等。
1.1.1工作流定义
WfMC给出的工作流的定义[21]:工作流(Workflow)是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。
工作流是指业务领域的流程,它描述了业务过程中的各个要素以及要素之间的关系。
业务过程则是对工作流的抽象,通过对业务过程中各要素的描述形成过程定义。过程定义是过程自动化的基础数据,它通过工作流引擎进行管理。
下面将对工作流引擎技术中涉及到的一些基本概念给出其定义。这些概念包括:工作流引擎、业务过程、过程定义、活动、自动活动、人工活动、实例、过程实例、活动实例、工作流参与者、工作项、工作项列表等。
1.工作流引擎
工作流引擎是一个软件系统,它定义、创建和管理工作流的执行,并且运行在一个或多个工作流引擎之上。工作流引擎能够解释过程定义、实现与工作流参与者的交互并且调用各种外部IT工具和应用。
2.业务过程
一个包含一个或多个相关程序或活动的集合,这些程序或活动共同实现一个业务或决策目标。通常地,业务过程存在于一个定义了职能角色和业务关系的组织结构中。
3.过程定义
过程定义是对业务过程的描述,这种描述形式支持诸如建模、通过工作六管理系统执行等操作的自动化处理。过程定义有活动和它们之间的关系组成,这些活动和关系形成了一个网状结构,并且还包含过程开始和结束条件和各活动的详细信息,如活动参与者、相关应用和数据等。
4.活动
活动是对一份工作的描述,它是过程中的一个逻辑步聚。一个活动可以是
手工活动或计算机支持的自动活动,并要求人和/或机器资源配合过程执行。
5.实例
实例是一个过程或活动的一次执行。每个实例代表一个过程或活动的一个特别执行线索,它们都有自己独立的内部状态和外部特征。
实例包括过程实例和活动实例,其中活动实例必须运行在一个过程实例中。
6.工作流参与者
工作流参与者是处理由活动实例表示的一份工作的资源,工作通过工作项列表呈现给参与者。
7.工作项
在一个过程实例中的一个活动实例以待处理的工作项表示。
8.工作项列表
工作项列表与具体的工作流参与者关联,它是工作项列表拥有者和工作流引擎之间的一个接口。
1.1.2工作流模式分析
工作流引擎规格[16,20,21]主要涉及四个方面:(1)控制流方面,通过不同的结构描述活动的执行次序,如顺序、分支、并发、同步等;(2)数据方面,规范业务数据和在活动间流转的数据和变量;(3)资源方面,描述与工作流相关的组织结构,主要表现为基于职责的人员和设备角色;(4)操作方面:描述活动执行的基本动作,这些动作通常映射为应用系统的某个功能。控制流是体现一个工作流引擎效力的最重要的方面,而数据则依附于控制流,资源和操作则是控制流的辅助元素。因此,对控制流规格的研究是实现一个工作流引擎的最重要的因素,如果要扩展工作流规格以适应新的业务需求,则必须对控制流进行深入研究和分析。
根据WfMC[16,20,21,40,41]的定义,工作流控制流结构常见的有六种,并将其定义为工作流原语,见图2.1:
因果
循环
图2.1 工作流原语
但是,仅仅定义这几种原语是不够的,在实际流程处理中,在这几种原语中衍生出来的变化多种多样。由于工作流技术还不太成熟,对控制流技术规格的研究还没有统一的标准。W.M.P. van der Aalst对这方面进行了较全面的研究,在文献[38]中给出了20个工作流模式的详细描述,但是,由于控制流规格描述的是业务过程的通用模型,而业务过程的复杂性决定了流程模型的复杂性,因此,还有很多适用于特定场景的流程模式该文献没有给出,如在办公自动化领域普遍存在的回退模式、传阅模式等。回退模式不仅在办公自动化系统中存在,在其它基于流程的应用系统中也广泛存在。
1.起点模式
有单起点和多起点模式,单起点模式相当比较简单,即整个流程只有一个起点,而多起点模式则存在着多种模型,见图2.2。
图2.2 起点模式图
流程运转模式有多种,主要分析流程运转阶段的活动走向问题。
2.顺序模式
图2.3 顺序模式图
顺序模式中的活动具有严格的先后顺序,必须前一个活动结束后才能开始
下一活动,如图2.3所示。
3.并行分支模式
图2.4 并行分支模式
并行分支模式是指过程中将一个单一控制线索分离成多个并行控制线索的点,这样就允许活动同时执行,如图2.4所示中的活动A。
4.同步模式
图2.5 同步模式
同步模式是指过程中多个并行的活动汇聚为一个控制线索的点,这样实现多个线索的同步,如图2.5所示中的活动A。
5.唯一选择模式
图2.6 唯一选择模式
唯一选择模式是指过程中通过决策和控制数据可以从多个分支中选取其中之一的点,如图2.6所示中的活动A。
6.简单汇聚模式
图2.7 简单汇聚模式
简单汇聚模式是指过程中两条或多条分支汇聚到一点,这种汇聚并不要求同步,只要某个分支到达即可,如图2.7所示中的活动A。
7.多选模式
图2.8 多选模式
多选模式是指过程中通过决策和控制数据可以从多个分支中选取其中一条或多条的点。如图2.8所示中的活动A。
8.同步汇聚模式
图2.9 同步汇聚模式
简单汇聚模式是指过程中两条或多条分支汇聚到一点,这种汇聚要求同步,就是只有等到所有分支都到达后才激活该点的一个实例:如果存在多个路径的汇聚,则要求同步;如果只存在一个汇集路径则不需要同步。如图2.9所示中的活动A。
9.多汇聚模式
图2.10 多汇聚模式
多汇聚模式是指过程两条或多条分支汇聚到一点,这种汇聚不需要同步,对于到达的每个分支都激活该点的一个实例。