技术开发 频道

图解工作流模式和实例

1. 基本概念

1.1 工作流 

    根据WFMC的定义, 工作流就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。 

    简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们 可以将整个业务过程看作是一条河,其中流过的就是工作流。 

    也可以认为工作流就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。

1.2 工作流管理系统 

    工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。


1.3 工作流模型和工作流实例


图1

    如图所示,先建立工作流流程模型后,根据模型产生工作流运行实例. 

    •流程定义:由流程定义工具(企业流程管理控制台)所定义的一个工作流过程。 

    •流程实例:流程定义运行之后转化为流程实例,一个流程定义可以产生多个流程实例。


1.4环节 

    •定义:又叫活动,节点或者任务,工作流是由一个个环节按照一定顺序组成的。 

    •环节实例:环节运行之后的一个实例。 

    •分类 

    结合具体实例,S市邮政工作流环节类别如下: 
    10 起始 20 起草 30 普通 40 分流 50 合流 60结束


图2

    •基本属性:名称;处理时限;预警时限 

    •环节人员设置:环节人员列表(集合),如下:


图3

    •环节处理动作:处理动作列表(集合),如下:


图4

1.5 参与人员 

    •定义:表示执行某个环节的资源 

    •分类: 人,组织,角色,分类,系统(或应用),动态计算(通过接口实现) 

1.6 条件线(转移线) 

    •定义:两个环节之间的连接线,表示环节之间的状态迁移。转移线上可以转移条件。 

    •分类:无条件(缺省);有条件 

    属性如下图:


图5

1.7 环节动作 

    在每个环节,动作被用户指定为自动或手动地执行。每个动作执行后,都有一个结果(result)。结果决定了工作流的流转方向。

1.8 工作事项(Work Item) 

    描述参与某个业务应用时被分配到的一项任务,这就体现了参与人员和系统交互的典型特征。

1.9 业务规则

    描述业务在运行的过程中必须要遵守的规定和原则,也是业务活动得以向另一个活动推进的规则。我们把它分为四类规则,分别是如下描述。 

    自动型——它主要描述一些只给参与人员查看业务信息的业务规则,例如通知、公文流转等等业务。该类业务不需要参与人员去审批或其它人为上的处理,只需要参与人员去查看其中的内容就足够,整个业务流程的完成是全自动的。 

    与聚合——业务活动的完成是需要参与该活动的所有人员都进行人为处理,其中有一个人员没对其进行处理,整个活动只能停在原地,等待所有人员的处理,当最后一个参与人员执行了处理工作,它才能完成。 

    或聚合——在参与某一业务活动的人员当中只要有一个对其进行处理,整个活动就可以完成。 

    投票聚合——统计参与该活动的参与人员的处理结果,当满足一定条件该活动才能完成。

2. S市邮政工作流管理系统的组成


2.1 S市邮政工作流执行服务

    工作流执行服务提供了过程实例执行的运行环境,主要完成了以下功能: 

    1) 解释流程定义,生成流程实例,并管理其实施过程。 

    2) 依据流程定义和工作流相关数据为过程实例的导航提供进入或退出的条件,并行或串行执行活动的信息,用户信息等。 

    3) 维护工作流控制数据和工作流相关数据(包括不同过程和活动实例的内部状态信息,工作流引擎用于协调和恢复的各种检查数据和恢复/重起信息等等),并能向用户传递必要的相关数据。 

    4) 与外部资源交互完成各项活动。 


    本服务从执行特点划分可以分为以下两个部分: 

    •Visual Studio 2005 Web应用系统开发模板——包括Web开发程序架构源代码、开发基础库、流程应用示例代码、组织结构开发接口、工作流引擎开发接口等。 

    •Visual Studio 2005 异步处理架构开发模板——提供异步处理调度逻辑,方便用户实现异步处理需求,如:超时提醒、告警提示、自动处理、自动启动流程等业务需求。 

2.2 企业工作流建模工具 

    本工具主要用于分析,建模,描述并记录经营过程,它采用“所见即所得”的用户界面可以“形象化”地以拖拽方式建立起企业各种类型的业务流程模型图,并在后台输出一个可被工作流引擎解释的过程定义。 

    在工作流的建模期间需要参考组织和角色模型以获取相关必要信息, 工作流流程建模过程中指定完成某项活动的组织实体或角色,但不会指定具体人员。工作流执行服务负责在工作流运行环境内将组织实体或角色映射为特定的人员。 

    本功能能够启动流程,并对各环节进行权限控制。 

    通过本工具,用户可以轻松完成工作流的定义。 

2.3 组织角色权限应用系统 

    系统的基础,包括企业的组织架构,系统操作人员管理,系统权限控制等; 

2.4 企业工作流引擎 

    工作流引擎是一个为工作流实例的执行提供运行环境的软件服务和引擎。它主要提供以下功能: 

    1) 对工作流流程定义进行解释; 
    2) 控制工作流流程实例的生成,激活,挂起和终止等; 
    3) 控制工作流流程实例间的转换,包括串行和并行操作,工作流相关数据的解释; 
    4) 维护工作流控制数据和工作流相关数据,在应用或用户间传递工作流相关数据; 
    5) 提供用于激活外部应用程序和访问工作流相关数据的用户接口或界面; 
    6) 支持用户操作的接口或界面; 
    7) 提供控制,管理和监督的功能。 

2.5 工作流控制数据和相关数据

2.6 应用程序和应用数据

3. 建模实例

3.1 架构视图


图6 : S市邮政工作流构架图

3.2 活动视图

    活动视图,通常表现为活动图, 它记录了单个操作或方法的逻辑,单个用户案例,或者单个业务流程的逻辑。 

    在活动图中,用左右两段是圆弧的长方形表示活动,用较粗的横线表示活动的分发,用带有箭头的线表示活动处理的先后顺序。 

    下图为S市邮政工作流执行活动图。


图7 : S市邮政工作流执行活动图

4. 数据库模型

4.1工作流模型及其实例


图8: 工作流模型及其实例实体关系图

    实体表说明:

4.2 组织结构


图9: 组织结构实体关系图

    组织结构表说明如下:

4.3 工作流应用数据

    主要是工作流系统的元数据,限于篇幅,暂时不表。

5. 常见工作流模型分析

5.1基本时序型

    顾名思义, 在同一个流程中,只有当前驱活动(节点)完成后后继活动才能接着进行。

    模型图解:


图10

5.2 平行分支型
 
    分支成一个分支成两个或两个以上并行的分支,每个分支是并行进行的。

    模型图解:


图11

5.3 独占选择型 

    当一个活动被分叉成为一个或多个分支,根据条件仅有一个分支恰恰能够被继续运行下去,而且是按照某一被分配的逻辑条件,而其他的分支是被禁止的。 


    模型图解:


图12

    S市邮政工作流模型可以支持多种类型的工作流模型,流程模型一经设计完成,程序运行自动根据模型流转,实现了模型和实例运行的无关性。

6. S市邮政业务审批工作流过程图解

6.1 业务登记


图13

    如图所示,用户提交业务表单后不仅完成了表单的保存,而且会根据所选的下一个环节的用户为其产生一条工作事项(Work Item)并产生在“待办事项”栏目中,这样下一个环节的用户(一般为主管)便可以直接进入处理并提出办理意见。 

    这个时候,业务表单实际上已经随着业务流程流动起来了。


6.2 “待办事项”


图14

    如图所示 ,在个人工作区中点击“待办事项”处理按钮后,系统显示该业务表单和它的处理流程,页面如下图所示:


图15

    此时,本环节的用户角色,可以提交“办理意见”再提交到下一个环节,在提交到下个环节前,通常会显示用户选择页面,表示你要选择的具体的用户角色,我们可以理解为:工作流模型设计到用户角色,而实际运行中的工作流实例是必然要把环节落实到某某人的。

6.3 综合查询


图16

    如图所示,工作流尚有一个流程查询监督的功能,可以根据相关条件把符合条件的流程列出来,用户也可以点击查看处理结果,根据处理进度上的表现可以做到相关员工的绩效考核,此时,一切均凭业绩说话了。

7 小结

    本文以实际例子解析了工作流的相关概念和模型,希望能帮助大家熟悉工作流的应用和设计。

0
相关文章