基于关系数据库的公文流转系统设计与实现

时间:2022-09-18 10:22:48

基于关系数据库的公文流转系统设计与实现

摘要:根据公文流转特点,对工作流模型进行了简化。提出了一种基于关系数据库的公文工作流模型,设计并实现了一个公文流转系统。该研究已在某政府机构的办公自动化系统中取得了较好的应用效果。

关键词关键词:公文流转;工作流;关系数据库

中图分类号:TP391

文献标识码:A 文章编号:16727800(2014)002012703

0引言

工作流是公文流转系统的重要组成部分,不同于一般概念上的工作流,公文流转中的工作流具有自身特点和要求。本文提出的公文工作流模型基于关系数据库,降低了业务系统与公文流转系统集成的复杂度,减轻了复杂工作流引擎带来的系统负担,使公文流转系统能够适应不同的公文业务需求。

1工作流技术

通常把工作中具有固定程序的活动集合叫做工作流。它把工作活动细分成定义良好的角色、任务、过程和规则来完成工作的监控和执行,从而提高了工作效率和生产组织水平。国际工作流管理联盟(Workflow Management Coalition,WFMC)对工作流的概念进行了定义[1]:工作流是指在计算机支持下的整个或部分经营过程的全自动或半自动化。通常,工作流由计算机软件系统控制其执行。它包括一组活动以及活动之间的顺序关系、一系列过程和对每个活动的具体描述以及活动的启动和终止条件。通过分离应用逻辑和过程逻辑,可以在只修改过程模型而不修改具体功能的前提下改变系统功能,实现对生产经营过程部分或全部的自动化管理,合理、有效地把人、应用和信息组织在一起,实现了“在合理的时间把适当的信息传递给正确的人”的要求。

2公文流转工作流

2.1公文流转工作流定义

WMFC 给工作流做出了如下定义: 按照事先定义好的规则,文档、任务或者信息在参与者之间进行传递,从而完成整个业务过程的自动化处理。依据公文流转的特点,公文流转中的工作流包括如下4 个要素: 多人参与、同一个业务目标、每个参与者通过动作来完成自己的任务、按照一定的顺序和规则传递。公文流转通过多个参与者完成的一系列任务达到业务目标。由工作流的要素可知,在定义公文流转中的工作流时应考虑以下5方面定义:传递的公文文档定义、角色定义、活动定义、路线定义和事件定义。下面用一个公文流转过程来描述和定义公文流转中的工作流 [2],如图1 所示。

(1)活动节点:实际上代表了组成一个实际过程所需要的任务,包括不可分割的原子级任务和套嵌的公文工作流过程。公文工作流主要依靠流转过程中各个节点的实现来达到公文流转的目的。

(2)事件节点:主要是用于确认流程是否推动,如果满足条件则流程继续,否则继续等待。

(3)控制节点:用于控制相邻活动节点的先序关系。控制条件一般在活动中定义,由继续流转条件、停止流转条件、退改条件组成。继续流转条件表示进入这个活动,是这个活动被激活的前提或准备条件;退改条件表示如果活动没有满足某个特定条件,则重复执行,一直到满足继续流转条件为止。

2.2公文流转工作流分析

2.2.1公文流转工作流程

按照公文流转中节点处理的时间先后顺序,可以把工作流程分为串行和并行两类。串行流程中所有节点呈“一”字型排列,后一个节点的启动时间为前一个节点的完成时间;并行流程中两个或者两个以上节点并排排列,节点可在同一时刻工作。典型的串行流程和并行流程如图2(a)和图2(b)所示。

一般情况下,并行流程和串行流程的各种不同组合构成一个复杂的公文流程,如图2(c)所示。

2.2.2公文流转并行工作流程

传统意义上的纸制公文只有一份,在同一时间只能交给一个人来处理,因此不会有流程分支的情况。公文电子化后,突破了纸制公文只有一份的限制,使流程分支成为可能。但是,公文系统业务要求保留每个处理过程的修改痕迹,如果将同一份电子文档交给多人同时修改,不仅会造成文档修改时的逻辑混乱,也会带来文档的存取问题。同一时间一份文档只能交给一个人处理和修改,某一用户处理和修改文档时,文档是被锁的,其它用户要使用此文档,必须等到该用户处理完毕。针对以上问题,本文提出了文档版本的思想来实现公文流转中的并行工作。

用户A对公文拟稿后,点击提交按钮,进入公文流转流程,流程流转到步骤2。此时,系统自动在工作流表中插入一条记录,FLOW_STATE状态为1,表示流程正在流转,公文电子文档被保存到公文文档表中。同时在工作流步骤表中插入步骤1和步骤2两条记录:步骤1为文件起草,FLOWSTEPS_STATE为2,表示公文已处理;步骤2为B处理过程,FLOWSTEPS_STATE为1,表示公文待处理。在工作流人员表中插入对应步骤1和步骤2的两条记录:步骤1的执行者为A,FLOWPERSON_OPTION字段为提交;步骤2的执行者为B, FLOWPERSON_OPTION字段为未知,表示还未处理。在工作流事件表中插入步骤1的执行事件,事件为提交。流程流转到步骤2后,B用户可选择的事件有同意、退还、否决。如果B用户同意,则流程进入步骤3,在工作流步骤表中插入步骤3的记录,同时把步骤2的状态改为2,步骤3的状态标为1。在工作流人员表中插入步骤3的执行者记录为C,同时更改B的FLOWPERSON_OOPTION为提交。如果用户B退还,则流程回到步骤1,同时删除步骤1后的所有记录,把步骤1的状态改为1,表示公文待处理。如果用户B否决,则流程终止流转,并把公文流转表中的FLOW_STATE改为终止。

4.2同一任务多人处理策略

在同一任务多人处理流程中,一个任务可能需要多个执行者参与,没有明确的先后顺序(即并行流程)。某任务的多人处理流程如图6所示。

用户A对公文拟稿后,点击提交按钮,进入公文流转流程,流程流转到步骤2。此时判断出步骤2的任务为两个人处理,在工作流人员表中对应于步骤2插入两条记录,执行者分别为B和C,同时生成文档版本b和文档版本c,存入公文文档表,分别由FLOW_ID、FLOWSTEPD_ID和FLOWPERSONS_ID三个字段进行约束。待用户B和C都提交后,流程流转到步骤3。 D用户综合B和C的修改意见,生成版本d。

4.3系统实现

本文采用以上技术,研制开发了一套以公文流转为核心的办公自动化系统。该系统基于B/S结构,以IIS 为Web服务器。系统的开发平台为ASP. NET,关系数据库为Oracle9i,通过数据模型实现对数据库的访问。系统界面如图7 所示。

5结语

本文提出了一种基于关系数据库的公文流转系统实现方法,采用与其它业务系统相一致的主流数据库将工作流及公文数据存储在结构开放的关系数据库中,大大降低了公文流转系统与其它业务系统集成的复杂度,同时减轻了复杂工作流引擎带给系统的负担。

参考文献:

[1]Workflow Management Coalition.Workflow management coalition terminology and glossary,WfMC TC 1011[S].Brussels:WfMC,1996.

[2]刘大召,谢红薇. 一个基于工作流技术的OA系统[J].光电子技术与信息, 2004,17(4):7071.

[3]田芳.工作流运行和调度算法研究[J].青海大学学报:自然科学版, 2004, 22(1):4041.

上一篇:海洋经济WebGIS系统设计与实现 下一篇:基于非交换代数结构的改进MOR密码体制研究