工作流建模-工作流概念
1、 案例:
工作流系统得基本目的是处理案例。
每个案例都有一个唯一标识,而且每个案例的生命周期都是有限的。
案例生命周期都处于某个特定状态,该状态由三个元素组成:
(1) 案例相关的属性的值
案例属性是一系列同案例相关的变量。能够用来管理案例。正是通过这些变量,才有可能指出在特定条件下某个任务可被忽略。
注:案例属性值可能随着案例的进展而发生变化。
(2) 已经满足的条件
案例属性不能说明案例的进展,但条件可以,条件被用来确定哪些任务已被执行,哪些任务还要被执行。
我们也可以把条件做一个任务被执行的前提。只有当某个案例满足了一个任务的所有条件,该任务才能被执行。
(3) 案例的内容
除了属性和条件,工作流系统通常不保存案例内容的细节。案例的内容包括在文档、文件、档案或数据库中。它不属于工作流系统得管理范畴。
2、 任务:
工作流的构建过程是通过确定任务完成的。任务是一个工作的逻辑单元,它不可分割且必须完整执行。
任务泛指一般的工作单元,并非某案例活动的一次具体执行。
工作项(work item)——案例和将要执行的任务的结合体。只要案例状态允许,工作项就被创建,也可以把工作看成是要被执行的实际工作块。
活动(ativity)——工作的实际执行。当工作从某个工作项开始时,它就成为一个活动。
注:与任务术语不同,工作项和活动都与具体案例相关。
图: 任务、案例、工作项、活动之间 的关系
3、 过程:
某种类型案例的执行方式由相关的过程来描述。
过程指出哪些任务需要被执行,以什么次序执行。
也可以把过程看做是某种案例类型的程序。
本质上过程由任务和条件构成。
可以使用已定义过程作为一过程的一部分。因此,除任务和条件外,过程也能由(零个或多个)子过程租成。每个过程又由它的任务、条件以及可能更细致的子过程组成。
过程定义了案例的生命周期。每个案例的生命周期都是有限的,都有清晰的开始和结束。
4、 路由:
过程决定了案例的生命周期,我们称之为案例的“路由”。
沿着特定分支的路由决定哪些任务需要被执行和以何种次序执行,在路由案例时,采用4种结构来路由案例:
(1) 任务的顺序执行:
它们按顺序被一个接一个的执行,前一个任务的结果是另一个任务的输入。
(2) 任务的并行执行:
两个任务能被同时或任意次序执行。且互不影响。这两个任务开始于AND-Split节点,随后重新同步于AND-Join节点。
(3) 任务的选择执行
两个或多个任务之间选择一个任务执行,选择路由开始于OR-Split节点,最后重汇合于OR-Join节点。选择路由也称为条件路由。
(4) 循环(或迭代)路由
需要多次执行某个任务,直到满足某条件时才停止执行。
5、启动:
只有当案例的状态允许时,一个工作项才能被执行,我们称之为触发。触发分为以下三类:
1. 资源驱动
2. 外部事件驱动
3. 时间信号驱动
注:如果工作项不需要外部激励并总是必须被立即执行,则不需要触发。