现实中的流程存在大量的不确定性。
一、工作流设计概述
工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则、文档、信息或任务在不同的执行者之间 传递、执行。
(1)工作流
工作流是现实中的具体工作从开始到结束过程的抽象和概括。这个过程包括了众多因素:任务顺序、路线规则、时间时限约束等。
(2)流程定义
流程定义是指对业务过程的形式化表示,它定义了过程运行中的活动和所涉及的各种信息。这些信息包括
1 | 过程的开始和完成条件 |
(3)流程实例
也称为工作,是一个流程定义的运行实例。
(4)工作流管理系统
1 | 存储流程的定义 |
这个推动的依据常常称为工作流引擎。
(5)流程定义工具
使用流程定义工具来完成流程定义的工作
(6)参与者
可以是具体的人或者角色(企业内部有特别共同作用的多个人),也可以是自动化系统,甚至是其他系统。
(7)活动
活动是流程定义中的一个元素,一次活动可能改变流程处理数据的内容、流程的状态,并可能将流程推动到其他活动中去。活动可以由人来完成,也可以是系统自动的处理过程。
(8)活动所有者
决定该活动是否结束
(9)工作所有者
有权整体控制流程实例执行过程的参与者
(10)工作项
流程实例中活动的参与者将要执行的工作
二、工作流管理系统
在工作流形式化表示的驱动下,通过软件的执行而完成工作流定义、管理及执行的系统。
主要目标是对业务过程中各活动发生的先后次序及与活动相关的相应人力或信息资源的调用进行管理,而实现业务过程的自动化。
工作流管理系统的6个最基本组成:
(1)流程定义工具
提供图形化或者其他方式的界面给设计者。由设计者将实际工作流程进行抽象,并将设计者提交的流程定义转换为形式化语言描述,提供给计算机工作流执行服务进行流程实例处理的依据。
(2)工作流执行服务
1、使用一种或者多种数据流引擎,对流程定义进行解释,激活有效的流程实例,推动流程实例在不同的活动中运转。
2、和客户应用程序、其他工作流服务执行程序及其他应用程序进行交互,从而完成流程实例的创建、执行和管理工作。
3、为每个用户维护一个活动列表,告诉用户当前必须处理的任务。
4、通过电子邮件甚至是短消息的形式提醒用户任务的到达。
(3)其他工作流执行服务
大型的企业工作流应用,往往包括多个工作流管理系统。这就需要这些工作流管理系统之间进行有效的交互,避免画地为牢、信息孤岛的现象出现。
(4)客户应用程序
最终用户的界面,用户通过使用这部分软件对工作流的数据进行必要的处理,如果用户是当前活动的拥有者,还可通过客户应用程序改变流程实例的活动,将流程实例推动到另外一个活动中。
(5)被调用应用程序
对工作流所携带数据的处理程序。
(6)管理和监控工具
对流程实例的状态查询、挂起、恢复、销毁等操作,同时提供系统参数、系统运行情况统计等数据。