2016/3/28 17:02:18 数字化校园工作流引擎设计方案与实现

系统总体设计方案:

交互关系

数字化校园一般包括教务系统、学生管理系统、科研管理系统等,各个系统实现自己相关的信息输入和管理界面,对于流转的定义和控制都通过一个统一的 DCWFlow 工作流引擎来完成。

  数字化校园工作引擎流程图

 系统框架

整个DCWFlow工作流引擎的系统框架图如:,由图形化管理界面、工作流后台、Web 服务封装构成。图形化管理平台提供了一个管理工作流引擎的图形化操作界面。DCWFlow工作流后台分成 3个主要部分:引擎支撑子系统、工作流日志采集器、数据分析器。引擎支撑子系统是 DCWFlow 的核心,实现一个工作流管理系统正常工作的所有功能,包括模板设计、工作流管理、流转控制等三个模块;工作流日志采集器负责收集引擎支持子系统中所有的操作日志;数据分析器分析系统日志,主要使用频率统计的方式提炼出基于工作流的角色和工作模式等,然后自动生成模板。工作流后台的接口访问是 DLL的,Web 服务封装模块把工作流里的 DLL 接口用 Web 服务的方式封装起来对外提供统一标准的接口。主要讨论引擎支持子系统与 Web 服务封装的实现。

  工作流系统关系

数据库设计

DCWFlow 核心数据模型主要包括办公事务表(OBusi-ness),事务操作表(OBOperation),事务实例表(OBInstance),流程实例表(OBIFlow),操作实例表(OBIOperation)等 5个实体(如图 3)。其中,OBusiness 表里存放办公事务的业务类别;OBOperation 表用于定义某类办公事务可以进行的操作以及对操作的限制,例如公文处理事务可以定义拟稿、部门审核、会办等操作,会办操作之前必须完成部门审核的约束等;OBInstance表描述一个具体的办公事务,比如一次具体的公文流转;OBI-Flow 表用于控制完成一项具体的事务实例的整个流转过程;OBIOperation 表用于选择具体完成流转的操作人(角色或用户),并存放对于事务处理的结果。DCWFlow 数据模型如图 3所示

系统框架

系统实现DCWFlow 采用 C# 语言在 Visual Studio 2005 开发完成,数据库使用 MS SQL SERVER 2005,运行于 ASP.net 2.0 的Web 之上。

工作流管理

(1)办公事务初始化

在普通用户实际进行办公业务之前,需要初始化办公事务和对应的操作,这项工作主要是通过对 OBusiness 和OBOperation 表的维护来实现的。

(2)办公事务实例管理

办公事务类型按流程、操作的变化频率特点可分成三大类:常变的、不常变、恒定。对于常变的和不常变的可以由进行办公事务的第一个发起用户设计一个全新的流程或调用流程模板后修改再设计,对于恒定的办公事务则由系统调用默认模板生成流程和操作步骤实例。

办公事务实例管理主要是通过对OBInstance、OBIFlow 和OBIOperation 等三个表的维护来实现的。

并联审批与分支选择

并联审批是指多个单位或个人能够同时对一项事务进行操作。具体实现方法是在 OBInstance 表新增一步流程后,多次循环在 OBIOperation 表进行新增操作,这些新增的操作可以并发执行。

分支选择可根据上一流程不同的结果状态,程序自动地选择一条合适的路径。具体方法是在进行流程设计的时候利用OBIOperation 表的“分支条件”字段,存放上一流程必须的结果,由这个结果来控制操作的发生。

双向流转

办公事务流程实例表通过定义流转的前趋(上一流程)和流转的后继(下一流程)实现了一个双向数据库链表,这样 DCWFlow 定义的工作流可以支持双向流转。

(1)在办公事务活动表中建立触发器。当同一分支的活动所有操作者都完成了操作的时候,流程可以自动进入下一步,当前流程状态设为2.

(2)当授权的活动操作者要求后退重审时候,事务回到上一流程,将当前流程状态重设为 0,上一流程的状态设为 1。

流转约束限制

许多工作都提出了前提和后继的限定,这种限定的实现主要借助 OBOperation 表的“限制 XML”字段。

“限制 XML”的Schema 如,其中 previous 表示该项流转的前提流程,next表示后继流程,当用户创建办公事务实例的时候需要根据这两个信息进行生成,SQL Server2005 已经支持对 XML 字段的直接查询,所以这种查询的实现是方便的。

Web 服务封装

Microsoft .net 技术对于 Web 服务的实现做了的简化,开发人员可以方便地完成对已有模块的 Web 服务封装。

应用示例与系统测试

在数字化校园系统中,公文处理是一个独立的子系统,用户在公文处理系统中录入公文、上传文件,实施界面操作,公文处理的流转后台,例如流转路径模板的选择、流转路径的修改定制以及工作步骤的自动流动等,则是通过调用通用工作流引擎 DCWFlow 的Web 服务来实现。在公文流转处理中,每次的参与人可能不同,需要每次为这样的工作生成不同的办公事务实例。


 
QQ在线咨询
销售热线
0371-53302651