基于关系型数据库的WEB OA公文流转系统

摘  :工作流技术是办公自动化系统中的核心技术之一。本文根据公文流转中工作流的特点,分析了建立在关系数据库中的公文流转数据模型,并给出了基于这个数据模型的公文流转系统的实现方式。

1.引言

办公自动化是将现代化办公和计算机网络功能结合起来的一种新型的办公方式,是信息化社会的产物。OA系统的核心是工作流,由于历史原因,文档型数据库Domino。曾一度以其完善的工作流设计,统治着公文系统市场。由于Domino是非结构化数据库,与业务系统的主流关系型数据库形成异构环境,难以与其它业务系统集成。将OA工作流模型建立在关系型数据库中,不仅可以简化OA系统与其它业务系统的集成,还可以避免使用现有工作流产品带来的弊端,使OA系统更加灵活地适应不同企业的需求。

2OA公文流转中的工作流

2.1工作流的基本概念

根据工作流管理联盟(WfMC)的定义,工作流(Workflow)就是业务过程整体或部分的计算机化或自动化。在过程自动化中文件、信息或任务按照事先定义好的规则集在参与者之间传递,以达到整个业务目标或协助达到业务目标。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。工作流技术的主要特点是过程的自动化处理,这些过程包括人与基于机器的活动的结合,特别是那些与IT应用程序和工具的交互。

2.2 公文流转中工作流的特点

与一般意义上的工作流不同,公文流转系统中的工作流有自己的特点和特殊要求。公文流转就是办公文件从拟稿到归档并在各部门之间逐级审批的流转过程。

公文流转的模式一般可归纳为以下四种:直流模式,分流模式,合流模式和回流模式。

直流模式是最简单的流转模式,表示文档在人员之间一对一的传送,通常用于申请审批类流程,如一份公文信息单经部门经理批示后直接交给下一个经办人处理。分流模式表示企业中人员之间一对多的传送,比如一些通知。合流模式表示企业中人员之间的多对一的送达,如总经理分发给多个下一级部门经办人的信息单经不同的经办人员处理完成后汇总给总经理进行查看批示。回流模式表示公文流转过程中可能会出现的退回、重做等情况,从而在流程中形成回路,这种情况也十分常见。

这些基本的流进行组合可形成更复杂的流。此外,通过对以上公文流转模式的研究,可以整合和确立各个操作节点之间的关系。

3.基于关系结构的OA公文流转数据模型

3.1 OA公文流转关系模型                           

OA公文流转关系是各个操作节点(即操作步骤)之间的流程关系,一个操作节点表示一件不可再分的操作任务,如查看、批示、执行等。多个操作节点通过不同的关系联接构成公文流转工作流关系的基本流程,因此分析操作节点之间的关系对于公文流转的实现来说是必不可少的。

(1)  与型:对于公文流转中的某一节点而言,只有当其所有的前继工作节点都完成时,流程方可进入下一步,执行当前节点的操作。如某一公文需要总经理及多个副总经理批阅后,工作流才可进入下一节点,当前节点操作人才可进行操作。

(2)      或型:对于公文流转中的某一节点而言,其所有前继节点中有一个节点完成,流程既可进入下一节点,执行当前操作节点。如某一公文交由多个人执行,只要有一人完成操作,流程既可往下流,而不论其他人员是否完成。

(3)  驳回型:这是一种比较特殊的关系类型,在公文流转过程中需要回退或重做时,就要回退给相应的工作节点。

以上是根据公文流转的模式,对OA公文流转关系模型所进行的抽象分析,在实际应用中,公文流转的方式千变万化,这几种关系类型不可能抽象出全部的、各种类型的工作流关系,但基本上可概括出OA公文流转系统中需要用到的大多数工作节点之间的关系,为系统进一步的实现打下基础。

3.2 公文流转中的数据库模型

将公文工作流模型数据及运行数据存储在关系型数据库的表里,可以方便系统的开发设计和公文数据的利用。OA数据库中公文流转使用的数据表主要是公文文档表、公文操作类别表、公文流程表、流程操作信息表、子流程操作表、公文操作类别表。

公文文档表记录了有关公文的各方面信息,公文操作类别表记录了公文的类别信息,公文流程表记录了流程的基本信息,流程操作信息表记录了有关流程的具体操作步骤的信息,子流程操作表记录了每个流程所涉及到的子流程信息,公文操作类别表记录了有关公文操作形式的信息。数据库的二维关系图如下图所示。

 

图1  数据库关系模型

4OA公文流转的实现

笔者在为上海市某企业开发的OA系统中采用了本文描述的基于关系模型,以公文流转为核心的办公自动化系统。该系统的开发主要是为了实现无纸化办公,将企业内、外公文的流转处理过程,转为利用计算机来完成,这样即可以提高工作效率、监督处理过程,又可以大量减少不必要纸张的浪费。而公文流转的自动化是系统实现的关键问题所在。

4.1公文流转的流程定义

本系统实现了针对流程模板的灵活定制环境。不仅可以定制公用的流程模板,还可以将具体的流程模板与具体的企业公文信息单相对应,实现了不同信息单流程的独立定制。

实际公文流转过程中,在公文正式进入流转之前,将根据具体情况选择实例化某个流程模板。实例化完成后,不但定义好了公文的流转路线和操作节点,还指明了每个操作节点的参与人员,并分别把相关信息存入公文文档表、公文流程表和流程操作信息表。

4.2基于数据库模型的公文流转过程及实现

公文流转作为办公自动化系统的核心,就是企业所涉及的公文从拟稿到归档,并在各个部门及不同办公人员之间流转的过程。在流转过程中公文可能同时处于不同的分支流程、嵌套流程中。图6给出了较常规的公文流转过程的简单描述。

 

图2 公文流转流程图

在实现公文的流转过程中,成功实现公文流转的关系模型是十分关键的,即实现各个操作节点之间的流程关系。为此,在数据库的流程操作信息表中定义了流程中操作节点对象要包含一个重要的属性以标识其之间的关系,我们命名该属性为logical,其取值可以是1或0。从企业实际应用角度进行分析,在公文流转过程中,不同情况下的操作节点的logical值要具体设定。节点的logical值设定为1,代表“与”关系,节点的logical值设为0,代表“或”关系。如图6中的“拟稿”与“审阅”节点之间的关系为“与”,“经办A”与“经办B”两节点之间的关系为“或”。

(1)“与”型关系路线流转策略和实现

公文流转过程中由“与”型关系节点构成的路线,其各个节点之间有明确的先后顺序,一个任务节点完成后才可进入下一节点的操作。把公文加入流程时,流程操作信息表中自动插入一条任务处理记录,该记录的操作顺序号为路线第一个任务,用户编号为处理该任务的用户人员编号,操作状态标记为“待办”,表示还未处理。用户人员通过查询流程操作信息表查找自己要处理的任务,找到要处理的任务之后进行处理。如果用户人员处理成功,则操作状态标记改为“完成”,然后在流转信息表中自动插入下一条任务处理记录,该记录同样说明了由谁处理,操作状态标记为“待办”。

在此类关系路线中,如果出现用户人员不同意并且需要回退的情况,则自动插入下一任务处理记录的操作会中止。操作人员可以选择回退给先前处理的某一任务阶段。然后把该任务阶段记录后面的所有任务处理记录删除,同时把该人员所处记录的操作状态重新设置为“待办”,这样公文又从该回退阶段重新再处理。

(2)“或”型关系路线流转策略和实现

公文流转过程中由“或”型关系节点构成的路线,其各个节点需各自组织控制分支流程完成任务,由分支控制人员完成分支任务后直接将公文转入主流程下一步,而不论其他节点分支是否完成。各个节点之间没有明确的先后顺序,这样即保证了各分支流程的独立进行,互不干扰,也避免了因等待其他分支的完成而延误公文流转进程。把公文加入流程时,流程操作信息表中自动添加的任务处理记录数为此任务的分支流程数,且各个分支流程的操作顺序号相同(如图7所示)。分支控制人员通过查询语句找到要处理的任务,找到之后进行处理,如果分支流程处理成功完成,则操作状态标记改为“完成”,并在流程操作信息表中自动添加下一任务处理记录,这样,当所有分支流程全部完成时,数据库流程操作信息表中下一任务记录的条数等同于该任务的所有分支流程数。

 

 

图3 流程分支数与数据库记录数相同

此类关系路线的回退有两种情况。一种情况是在并发的各个分支流程执行阶段有一人不同意并且回退,可以选择回退给单任务用户,也可以回退给分支任务的某个用户,然后把该任务阶段记录后面的所有任务处理记录删除,同时把该人员所处记录的操作状态重新设置为“待办”,这样公文又从该回退阶段重新再处理。另一种情况是在某一分支完成后,下一任务的处理人员要求回退某一分支流程,则只对需要回退的分支流程进行相同的数据库操作,由于数据库流程操作信息表中不同分支对应不同的下一任务记录,因此回退操作对其他的分支流程没有影响。

以上两类路线为最基本的公文流转路线,在实际应用中,这两类路线可以构成各种复杂的公文流转路线,因此对这两类路线的实现是实现公文流转的基础。

4.3 公文流转过程的跟踪

在OA公文流转系统中,公文流转过程的跟踪主要是对公文流转的情况进行监督,统计当前未结束的流程的信息,并提供按时间、部门等多种查询方式,起到对公文办公的督办作用。即公文起草人发送公文后,可以跟踪当前公文的审批位置(即公文到达哪一个流程节点),并查看公文的当前状态。

系统中通过流程操作信息表中公文操作状态位和公文是否已读标识位来标识公文当前状态,并通过改变数据库中的这两个字段的值来实现公文的跟踪。

5.结束语

由于工作流的多变性和复杂性,工作流一直是计算机软件业的一个难题,市场上很难找到能够完全满足不同企业的工作流产品。在办公自动化系统中,工作流更是系统的难点和核心,一个企业所涉及的公文,无论是内部公文,还是来自外部的传真件等公文文件,都要在企业的不同办公人员之间进行流转。在为上海市某企业开发的办公自动化系统中,我们采用了与其它业务系统相一致的主流数据库,将工作流及公文数据存储在结构开放的关系型数据库中,从而解决了企业中不同系统集成、信息共享等诸多问题。

posted @ 2013-01-29 21:31  盛开的雨季  阅读(1380)  评论(0编辑  收藏  举报