基于关系数据库的工作流管理系统设计与实现
2020-12-09陈红燕王新何学洲
陈红燕,王新,何学洲
(1.江苏省地质勘查技术院,南京210049;2.中国地质调查局发展研究中心,北京100037)
1 引言
在管理信息系统中,工作流是其业务上的重要功能。一般概念上的工作流技术,把工作活动细分为角色、任务、过程和规则,其定义过于严格、复杂,降低了管理效率。本文提出自定义工作流模型,基于关系数据库,降低了业务系统与工作流系统集成的复杂度,减轻了复杂工作流引擎带来的系统负担,使得工作流系统能够适应不同的管理业务需求。
2 工作流技术
2.1 工作流定义
国际工作流管理联盟(Workflow Management Coalition,WFMC)对工作流的概念给出了定义[1]:工作流是指在计算机支持下的整个或部分经营过程的全自动或半自动化。按照事先定义好的规则,文档、任务或者信息在参与者之间进行传递,从而完成整个业务过程的自动化处理。由此,在定义工作流时应考虑以下5方面的定义:传递的业务信息定义、角色定义、活动定义、路线定义和事件定义。
整个工序或流程就是一个过程,每个子任务就是一个节点。工作流节点分为活动节点、事件节点和控制节点3种类型。活动节点:表示一件不可再分的操作任务,如查看、批示、执行等;状态节点:代表流程中任务点的完成状态;控制节点:用于控制流程任务点的推进,包括继续流转条件、终止流转条件以及退改条件3种。
2.2 工作流分析
按照工作流转中节点处理的时间先后顺序,可以把工作流程分为串行和并行2类。串行流程中,对于其中某一节点而言,只有当其所有的前继工作节点都完成时,流程方可执行当前节点的操作,否则,无法推进;但对于并行流程,一般情况下,对于其中某一节点,若其所有前继节点中有一个节点完成,流程即可执行当前节点的操作;但并行流程也存在特殊情况,对于其中某一节点而言,若其前继几点有一个节点未完成,则流程不可推进。如一个出国团组分为几个出访计划,审批单位要分别对其中每个计划进行审批,若其中一个计划未审批通过,则该团组的出访计划则不可推进。通常,一个系统会同时包含串行流程和并行流程。
3 工作流数据库模型
3.1 数据库概念模型
概念模型是对真实世界中问题域内的事物的描述,是按用户的观点对数据和信息建模[2]。构建概念模型,需要从场景中提取各种“对系统目标有用”的概念。
综合分析管理系统功能需求和数据库设计特点,将工作流数据库模型抽象为4个实体:流程信息、流程实例、实例节点以及连接条件。其中,流程信息相当于一个流程的字典表,对流程名称、节点进行规范,流程实例是跟具体业务相关联的流程信息,实例节点主要用来描述流程实例的节点信息,连接条件是对流程信息表中对应节点之间连接条件的定义,连接条件决定了流程的节点走向,由同一流程节点出发,条件不同,与其连接的子节点也不同。本工作流系统对应的概念模型如图1所示。
图1数据库概念模型E-R图
3.2 数据库关系模型
图2数据关系模型图
4个实体:流程信息、流程实例、实例节点和连接条件之间的关系如图2所示。流程条件表(LC_LCTJB)通过外键(LCBH)关联到流程信息表(LC_LCXXB),其对应关系为n∶1,即一条流程信息可对应多条流程条件记录;流程实例信息表(LC_SLXXB)通过外键(LCSLBH)关联到流程信息表(LC_LCXXB),其对应关系为n∶1,即一条流程信息可以对应多条流程实例信息记录;流程实例节点信息表(LC_SLJDXXB)又通过外键(LCSLBH)关联到流程实例信息表(LC_SLXXB),其对应关系为n∶1,即一条流程实例信息可对应多条实例节点信息记录。
4 基于数据库模型的工作流系统实现
笔者在为中国地质调查局开发的外事管理系统中采用了本文描述的基于关系数据库的工作流技术。该系统实现了国际合作计划报批公文自动化编报功能,支持人员名单、出访行程、申报表等相关信息的在线编辑与审核,辅助中国地质调查局有效管理、监督外事信息处理过程。实现工作流程图如图3所示。
图3工作流程图
4.1 流程实现策略
当出访任务以单个计划为单位时,系统采用串行流程,而当出访任务以团组为单位,一个团组包含多个计划时,系统采用特殊情况的并行流程。
系统的流程驱动引擎基于关系数据库实现。流程模板,即流程信息表(LC_LCXXB)定义了流程中的节点信息,连接条件表(LC_LJTJB)定义了流程节点间的连接关系和流转条件。流程模板和流程条件共同定义了流程逻辑模型。
业务系统中的业务数据通过业务编号在实例信息表中与流程进行关联。每创建一个流程会在实例信息表中新增一条数据记录,该记录关联业务数据、流程模板、流程实例3项内容。同时,在实例节点信息表中创建与流程实例相关联的实例节点信息,流程每走到某个节点便会在实例节点信息表中新增一条相应数据。通过这种机制实现了流程数据的存储与管理。
该系统的流程驱动采用数据库存储过程实现,定义了数据管理接口和流程管理接口,实现了流程的创建、驱动和管理。系统后端只需传输转换前端的参数,然后调用数据库存储过程即可。
4.2 系统实现
系统实现功能效果如图4所示。左侧方框内即公文申报审批流程列,该列中的每项都代表工作流中的一个节点,下划线字体超链接代表可操作的活动节点,其他字体代表状态节点。
图4工作流管理系统效果图
5 总结与展望
本文主要描述了基于关系数据库的工作流设计及系统实现的过程。系统已经部署到中国地质调查局外事管理服务器中,在公网上为其及其所属29家单位提供24h不间断服务。系统设计的工作流管理功能很好地支撑了地调局各类出访计划的申报、审批、汇交等工作,实现外事管理工作流程的标准化、规范化,大大提高了外事工作人员的工作效率。
但本工作流模型还有很大的提升空间,后期还将研究实现模型的组件式封装,使得流程的定义、管理和执行都可以自动化进行,提高外事管理系统的智能化,以期更为有效地辅助外事工作人员的管理工作。