工作流包括以下几个要素:
实体(Entity):是工作流的主体,是需要随着工作流一起流动的物件(Object)。例如,在一个采购申请批准流程中,实体就是采购申请单;在公文审批流程中,实体就是公文。
参与者(Participant):是各个处理步骤中的责任人,可能是人,也可能是某个职能部门,还可能是某个自动化的设备;
流程定义(FlowDefinition):是预定义的工作步骤,它规定了实体流动的路线。它可能是完全定义的,即对每种可能的情况都能完全确定下一个参与者,也可能是不完全定义的,需要参与者根据情况决定下一个参与者;
工作流引擎(Engine):是驱动实体按流程定义从一个参与者流向下一个参与者的机制。
可以看出,前三个要素是静态的,而第四个要素是动态的,它将前三者结合起来,是工作流的核心组成元素。
工作流技术的发展
工作流是针对工作中具有固定程序的常规活动而提出的一个概念,关于工作 流技术的研究最早起源于上个世纪70年代中期办公自动化领域的研究工作。通 过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达 到提高生产组织水平和工作效率、降低成本的目的。工作流技术为企业更好地实 现经营目标提供了先进的手段。
工作流引擎的主要功能是 1)实例化及执行过程定义:解释企业经营过程的过程定义,根据过程执行 需要的初始条件和执行参数生成过程实例,运行过程实例并管理其运行过程。过 程模型作为企业经营过程的一个模板,可以被执行多次,也可以有多个有关这个 过程模型的实例在同时运行。 2)为过程和活动的执行进行导航:根据过程定义和工作流相关数据,为过 程实例的运行进行导航。如根据过程的进入和退出的条件启动和终止一个过程实 例;根据活动之间的关联和活动的执行条件,决定并行或串行执行后续活动;给 用户提供需要操作的工作流任务项信息;或者根据所需激活的应用程序信息启动 相应的应用程序等等。 3)与外部资源交互完成各项活动:客户应用接口和直接调用应用接口方式。 对于客户应用方式,工作流引擎通过任务项列表管理器对应用的执行进行管理。 任务项列表管理器提供任务项列表供用户进行选择,并记录监督工作项的完成情 况,由用户完成从任务项列表管理器提供的任务项列表中选择相应的任务项,并 在需要的时候调用应用工具完成相应任务的执行,在任务执行完成后,用户需要 修改相关任务项的状态,如置完成标志,供任务项列表管理器使用。对于直接由 工作流引擎启动的活动,由工作流机直接调用相应的应用来完成,这些自动执行 的应用同样需要将合适的预先定义好的应用执行完成情况反馈给工作流机。 4)维护工作流控制数据和工作流相关数据:工作流在执行过程中要维护不 同过程和活动实例的内部状态信息,以及用于协调和恢复的各种检查数据和恢复 重起信息,还包括用户传送的必要的相关数据 工作流管理源于20世纪80年代初期的表单传递系统。当时,个人计算机作 为信息处理的工具尚未普及,人们为了提高信息、收集、处理、储存、应用、传 递和共享的效率,而希望建立一种无纸化的计算机工作环境,于是一些公司建立 了自己专用的或可商品化的表单传递应用系统,这些系统通常运行在大型机或小 型机上,用于实现日常表单处理的电子化和自动化,这种系统可以看成是现代工 作流管理系统的一个雏型。 进入20世纪90年代,随着计算机的普及,计算机网络技术的迅速发展,企 业的信息化程度提高,企业信息资源越来越表现出一种异构分布、松散藕合的特 点。企业的分散性、决策制定的分散性和对日常事物活动详尽信息的需求,以及 C/S体系结构、分布式处理技术的日益成熟,都已说明了这样一个事实:集中式 信息处理的时代己经过去,实现大规模、异构、分布式执行环境,使得相互关联
的任务能够高效运转并接受密切监控成为一种趋势。在这种技术背景下,工作流 管理系统也由最初的无纸化办公环境,转而成为同化企业复杂信息、实现业务流 程自动执行的必要工具。这样的一个转变,也把工作流技术带入了一个崭新的发 展阶段,使得人们对工作流从更深层次、更广领域上对工作流展开了广泛的研究 工作。
1993年工作流管理联盟(Workflow Management Coalition,WfMC)成立,标 志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操 作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定 了一系列标准。
工作流的定义
WfMC的定义:工作流是一类能够完全或者部分自动执行的经营过程,
它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进
行传递与执行。