各级政府机关,围绕各自的行政职能,存在着很多的行政审批业务,这些行政审批业务虽在职能上存在很大差异,但从流程的角度看又存在着很多共性。与企业自动化流程控制相比,政府审批流程多为人工控制,流程的运行规则较为简单,多为串行结构,也存在一些并行分支与选择分支结构。目前,大部分机关部门,其内部审批业务的管理手段,要么是纯人工操作,要么基于不同的业务系统。即使采用工作流技术,各业务系统也是各自独立,从流程定义到用户管理都各行其是,一旦出现业务调整、机构人员变动,需要对各个系统分别进行修改。因此,从成本和效率考虑,构建统一的电子政务系统,统一管理业务和办公资源,还是很有必要的;而且,从政府审批业务的相似性来看,统一管理也存在可行性。
构建统一的政务管理系统,就是要在一个统一的平台上管理机关内部几乎所有的审批和管理业务,并统一管理和分配办公资源。要实现这一目标,就需要构建一个统一的政务系统搭建平台,以工作流引擎为核心,统一管理业务流程的定义、运行和监控。不同部门、不同用户将在这个统一的平台上完成各自不同的业务,并根据权限共享办公资源,从而实现机关业务和机关管理的有效集成。
本文将要讨论的工作流引擎不是一个独立的工作流产品,而是基于电子政务系统的内嵌的工作流模块,只追求实现统一管理部门业务的实用性要求,并不具备良好的通用性和可移植性。
2.1 基于关系结构的轻量级工作流引擎
在WfMC(工作流管理联盟)的工作流管理系统参考模型中,工作流引擎是整个工作流管理系统的核心。工作流引擎是为工作流管理系统在定义时提供支持、同时在运行时提供解释和执行服务的一组数据模型和软件,也就是说,工作流引擎是负责解释和执行工作流模型的后台工具。从前面的分析可以看出,构建统一的电子政务系统搭建平台,实际上就是实现一个统一的工作流管理平台,并在此基础上定义、运行和管理不同的业务流程。要实现这一目标,首先要考虑的就是如何在系统中引入和使用工作流引擎。
本文所研究和开发的背景是实现相关政府机关内部审批业务的统一管理,涉及的审批业务规则相对简单和固定,作者无意开发一个大而全的通用工作流管理系统,而是将工作流的开发融合到政务系统的开发过程中,从实用出发、从审批业务流程的需求出发,设计和实现一个基于特定业务规则的、能有效融合过程信息与业务数据的小型工作流管理平台。因此,从够用、灵活和低成本的原则出发,论文倾向于开发一个基于关系结构的轻量级工作流引擎。所谓轻量级工作流引擎,它不追求工作流引擎功能的完备和复杂,只是实现其中必不可少的功能和特征,即主要考虑对数据模型的定义和解释,活动之间的协调,以及任务的分配和控制等基本功能。
所谓基于关系的工作流引擎指的是工作流引擎中的数据模型(即机构模型和信息模型)全部通过关系结构来表达;控制工作流引擎运作的各种程序逻辑(即控制模型)也是通过常规关系数据库管理系统中所提供的存储过程、包以及DML数据操纵语句等机制来实现;同时,事务的并发控制也通过数据库系统所提供的机制来实现[1]。
从技术角度来说,使用关系结构来表达工作流引擎中的数据模型可以降低工作流引擎开发过程中的技术难度和工作量。具体表现在:(1)与工作流引擎相关的各种控制数据(包括业务活动的状态数据)可以存储在数据库系统中;(2)与此相关的数据的完整性可以由数据库管理系统来维护;(3)利用关系结构可以方便地定义工作流引擎中的各种数据格式和数据结构;(4)可以方便地利用数据库管理系统提供的各种DML语句来操纵工作流引擎所需的各种数据。
从开发应用系统的角度来看,在同一数据库环境下为开发者提供一个基于关系结构的工作流引擎,并且如果这个工作流引擎所提供的功能可以方便地嵌入到应用的开发环境中,则可以降低开发应用的难度。这是因为:(1)应用系统对业务数据的管理通常会采用一个常规的关系数据库系统作为后台的支撑。基于关系结构的工作流引擎可以很容易的实现与业务数据的关联;(2)应用系统的开发者往往会采用一种他们所熟悉的并且适合此数据库系统的前端开发工具来开发具体应用,这些前端开发工具一个显著特征是开发功能强大,但一般不具备工作流机制。因此,采用基于关系结构的工作流引擎可以很容易与应用的开发环境做到无缝的集成。
2.2 工作流元模型分析
2.2.1 机关审批业务的过程路由结构分析
下面以国土资源部门的业务管理需求为例进行分析,其它政府部门大多与此类似。
国土资源审批业务涉及的范围较广,包括土地、矿产、