工作流定义,就是人们常常说的给业务系统建模。在做业务系统建模之前,先要理解几个概念
工作流:根据给定的规则集,部分或全部实现一个流程的自动化,在这个过程中,文档,信息,或者任务在参与者之间传递。
工作流引擎:实现业务流程的规则抽象,模型的建立,解释,以及为流程实例提供运行环境,并解释执行流程实例。
工作流管理系统:就是定义、创建和管理工作流执行的系统。
一个业务流程,其生命周期可能是几分钟,几天,甚至几个月等等,这主要根据其复杂度以及每一个成员活动的延续时间的长短来决定。同时,每个业务流程的实现方式也大不相同。有的流程在一个工作组范围内实现的;有的流程却需要在整个企业范围内来实现。尽管如此,从另外一个层面来看,工作流管理系统都由三大功能模块来构成:
业务流程建模:
通过使用一种或多种系统工具,分析、建模和定义,把一个业务流程从现实世界转化成一个形式化的,计算机可以处理的流程模型或者叫流程模版。这个过程就是工作流定义或者说是工作流建模。
业务流程运行:
流程控制功能相当于现实世界与模型世界的桥梁。它解释已经定义好的模型,也就是说根据模型来调度一个流程中不同的任务并且激活相应的人或者IT应用程序。这种流程控制功能实际上就是流程引擎的软件模块来完成的。在运行阶段,一个流程的任务通常是由参与人员通过使用一定的信息处理工具或流程控制软件激活一定的应用 程序来完成的。因此工作流管理系统需要与完成不同任务的用户、IT工具或应用程序交互。
业务流程的监控:
传统结构的应用系统,总是以树形菜单的形式来组织各个功能模块,系统的各个主要应用模块或子系统之间存在树形的支配或被支配的关系。而应用工作流思想设计的应用系统在全局上,用户看不到这种模块间的支配关系,新系统是网状关系,主要业务处理模块之间没有从属和支配关系,只有前驱和后续关系。每个模块,每次的运行轨迹也会被工作流系统记录下来,因此新的系统可以监控到每个业务流程各个模块处理的先后顺序,运行轨迹等等。
给业务系统建模,做好工作流的定义,即整理和精确了解业务处理过程的先后顺序,做好前驱和后续的关系,就可以利用流程设计器可视化的给业务系统建模。开发人员不必去关心“我完成任务后由谁接着做”的问题,这些在流程建模后,后续的流转都交给工作流系统去完成,只要关心如何做好自己的业务处理工作。业务处理工作,通常是用自定义表单工具来可视化完成,使得工作流管理系统更加智能化。
如下面这个费用报销的流程:
报销金额<=1000元,就行政审核一下,交财务审核,大于1000元的,就需要 部门经理和总经理都审核通过,再由财务审核。最后报销人查看报销结果,结束流程。