目前的工作流引擎主要是基于关系的,它的数据模型直接的通过关系结构来表达;控制工作流引擎运作的各种程序逻辑(即控制模型)也是直接通过常规关系数据库管理系统中所提供的存储过程、包以及触发器等机制来实现;同时,事务的并发控制也通过数据库系统所提供的机制来实现。
从技术角度来说,使用关系结构来表达工作流引擎中的数据模型可以部分的降低工作流引擎开发过程中的技术难度和工作量,但是也存在着一些难以克服的困难,具体表现在:与工作流引擎相关的各种控制数据(包括业务活动的状态数据)存储在数据库系统中,造成数据库中表结构、表之间的关系相当复杂,不利于开发和日常维护;与此相关的数据的完整性由数据库管理系统来维护,利用数据库管理系统提供的各种DML语句来操纵工作流引擎所需的各种数据。这种方式造成流程定义维护复杂,业务逻辑控制容易出错,而且对维护人员素质要求高,同时由于没有一个良好的可视化环境,不能很好的表现当前的业务逻辑。
从开发应用系统的角度来看,轻量级的信息化建设一般是同一数据库环境,在这个条件下为开发者提供一个基于关系结构的工作流引擎,并且这个工作流引擎所提供的功能方便地嵌入到应用的开发环境中,则可以降低开发应用的难度;但是大型的应用平台(政府政务平台),尤其是国土部门的政务办公环境往往比较复杂,业务部门是GIS+ORACLE,办公自动化(0A)又是MIS+SQLServer,不同部门之间经常存在使用不同的数据库环境,系统存在着所谓异构现象(即不同数据库之间存储过程、触发器等的不兼容),对于完全基于关系结构的轻量级工作流引擎,必然存在着开发与维护的困难。
基于GIS网络的工作流模型提供给开发与应用者的是一个完全可视化的网络工作环境,用户的开发应用完全是基于GIS的,GIS所使用的数据库或者文件方式对用户是透明的,有关数据库的支持完全由GIS完成,不必考虑数据库的异构问题,用户只需要专注于了解整个业务逻辑,将自己的逻辑图通过GIS绘制在计算机上,就可以完成工作流模板(业务逻辑模型)的定制,GIS会按照空间拓扑自动进行对控制逻辑的解释。通过引入GIS的处理方式,将抽象的业务逻辑图具体化,把它变为实际的GIS网络模型,用GIS网络的思想来理解它、实现它,把业务逻辑可视化,用户在进行业务逻辑设计时,可以摆脱繁杂的与数据库有关的操作,专心于业务逻辑的分析。
网络是地理信息系统中一类独特的数据实体,它由若干线性实体通过结点连结而成。网络分析是空间分析的一个重要方面,是依据网络拓扑关系(线性实体之间,线性实体与结点之间,结点与结点之间的连结、连通关系),并通过考察网络元素的空间、属性数据,对网络的性能特征进行多方面的分析计算, “连通关系”可以解决工作流的控制问题, “结点”可以解决工作流中角色的问题,结点之间连接上的“权重”能解决工作流控制中突发事件及“特事特办”的处理问题。
网络是由若干线性实体互连而成的一个系统,资源经由网络来传输,实体间的联络也经由网络来达成。构成网络的最基本元素是线性实体以及这些实体的连接交汇点,前者称为网线,后者称为结点。网络元素间的拓扑关系是网络的重要特性。在网络中,结点是和网线紧密联系的,网线两端是结点,结点与一条或多条网线相联系。在MAPGIS网络的空间数据库中,每条网线都有其拓扑数据,记录着与它相联系的前后结点;每个结点也有其拓扑数据,记录着与它相联系的全部网线。GIS网络数据模型是真实世界中网络系统的抽象表示,具体的如:交通网、通讯网、自来水管网、煤气管网等,这些是日常生活中可以看见的网络;另外,社会生活中的流程化工作环境也能够构成一个看不见的社会工作网络,从“工作流”的角度看,它实际上就是环境内多个业务工作流的交叉、融合。
通过对GIS网络数据模型和工作流需求的深入研究,我们概括出一个抽象的、普遍适用的工作流模型。在这一模型中, “结点”代表了工作流中的不同角色(如:业务科室), “网线”代表了工作流中角色之间的联系(如:局长办公室与地籍科之间的联系),这样工作流中的流转发送就转化为了网络中的资源流动,工作流控制也就变成了网络控制,实现了将现实生活中的社会运动数学模型化,不仅简化而且可视化了业务逻辑,使业务逻辑的控制更加简便、快捷和准确,在这个基础上,使我们能更好地分析解决业务逻辑控制问题。
作为工作流中的基本元素,角色具有角色名称、事件号列表、事件名称列表等属性,“角色名称”可以和商用数据库中的角色一一对应,事件号可以和动态表单关联,用来触发表单,使用户能在“恰当”的时候使用;角色之间的联系主要具有顺权、逆权这两个从GIS网络中引入的两个概念,“顺权”表示从起始角色到终点角色的权重,反之为“逆权”,通过顺权、逆权的设置以及网络拓扑关系的控制,可以实现对案件流向特别是“特事特办”的控制。
工作流模型相关的模块包括工作流定义程序、工作流控制与监控组件(图2),工作流定义和实例数据与工作流相关数据(信息系统数据)统一存放在关系数据库中,一体化管理。MAPGIS城镇地籍管理系统使用了这种工作流技术,既实现了业务的可调整和可定制,同时也成功解决了GIS应用系统和办公自动化系统的无缝集成。
通过下面一个实际的省部级建设用地审批业务逻辑图(图3)的一部分,以及其对应工作流的构建过程,可以更好地理解“基于GIS网络的工作流模型”的运做方式,具体如下:
第一步,将图中的方框部分作为角色,图中的箭头连接线作为“联接”。
第二步,在网络工作流模板编辑器中,按业务流程图进行绘制, “联接”的绘制方向与业务逻辑图上的同向,由于利用了GIS工具,绘制过程中,角色会自动加入,并且自动维护角色与联接之间的业务逻辑(拓扑关系)。
第三步,设定角色名称、事件号列表,编辑联接的权重。
第四步,选择将角色全部添加人数据库,为每个角色分别添加用户。
至此,网络工作流模型的业务逻辑控制部分就全部完成了,它已经可以在“网络工作流模拟器”上,按照真实情况进行仿真运行,处理案件在不同角色和用户之间的流转了。这里我们可以注意到,前面所有的操作过程都是在GIS的支持下“可视化”方式建立的,它的建立过程的简便性和“可视化”程度,是采用传统工作流模型时无法达到的,而且由于采用了GIS技术,提高了可视化程度,使业务流程转变为计算机控制的工作流过程得到很大简化,也降低了逻辑控制出错的可能性。
图中“P2”角色记录了a,b,c三条进入连接,d一条出去连接,以及b连接是由角色“P1”到角色“P2”等信息,这些信息是在GIS上绘制工作流模板时自动形成的,案件就会按照它的定义进行流转。
工作流的案件历史是通过“一个模板多个实例”和“多个实例统一存储”的机制实现的,所谓“一个模板多个实例”就是所有相同类型的案件都是参照同一个模板而建立起来的不同实例,实例之间相互隔绝; “多个实例统一存储”是指,多个按同一或不同模板建立的实例在数据库中统一存储,这样便于不同业务流程之间的交叉,能够有力地促进不同业务系统间的必要融合。在案件的办理过程中,案件的流向始终是由“工作流模板”和用户自身的权重控制的,实例库只是忠实地记录案件的每个办理过程和办理状态,案件办结后,可以归人历史库,历史案件的办理过程不受任何模板变化的影响。在案件办理过程中,如果出现“工作流模板”(业务逻辑) (图4)发生变化,案件库能够不受影响的按新逻辑办理,并且能把这种业务逻辑变化记录到案件库中,以备将来查阅。
“工作流模板” (业务逻辑)和案件的安全是通过商用数据库来控制的,办理过程的安全是通过“工作流模板” (业务逻辑)控制。因此,基于GIS的工作流的安全机制是完全建立在商用数据库基础上的,并且由于加入了更加严格的业务逻辑控制,所以在通过系统访问时,要比商用数据库更加安全可靠。
用户可以用GIS提供的各种绘图工具来绘制流程图,拓扑关系(业务逻辑)由系统在绘制过程中自动维护,绘制完成后的流程立刻可以投入使用。流程通过拓扑关系,能够自动实现条件判断、循环、汇签等功能,并在流程图中用可视化方式表示出来。工作流程图修改时亦可以反显原来定义的流程。
基于GIS的工作流模型相关的主要要素有工作流模板、角色库、角色、用户。“工作流模板”通过GIS方式以可视化的形式完成业务逻辑的定制;“角色库”记录了所有角色以及角色与用户之间的关系,它是工作流中所有角色的载体,主要完成角色与用户、角色和角色之间的统一管理,是一个角色及其附属关系的集合,角色之间纵向的行政隶属关系不在角色库中管理,它是由工作宛模板来记录通过“拓扑关系”来表现; “角色”是完成类似工作的用户集合,通常表示一种横向的合作关系,它在工作流中与结点对应,通常也可以将它与传统意义上的业务科室或小组对应;“用户”指系统定义能够独立完成指定功能的客体,通常是任务的执行者,能通过工作流对相应表单进行读写操作。
“动态表单”是一个可以相对独立于工作流控制引擎的模块,它与工作流模板通过关联字段(事件号)联接。表单设计系统主要分为表单管理模块、表单生成模块、表单编辑模块、表单表现模块、表单存取模块。为了使自定义表单具有通用性和标准性,自定义表单采用标记性语言HTML)、活动服务器页面(ASP)及可扩展标记语言(XML)。
工作流控制模块与动态表单模块既需要相互独立,又能够很好的融合。充分考虑到了除自身结合之外的“MAPGIS工作流+其他厂商自定义表单”和“其他厂商工作流+MAPGIS自定义表单”两种情况。同时用户可自己定义表单布局,从已有数据库表格中选取字段进行组合,形成新的表单,并且能在工作流上使用而不用修改应用程序,与权限管理挂钩,支持对不同用户和角色,表现出来的表单允许不同。
动态表单包括表单管理模块、表单生成模块、表单编辑模块、表单表现模块、表单存取模块。动态表单支持多级子表和数据字典。
动态表单模块具有三层安全防护,第一层:操作系统的安全身份验证;第二层:商用数据库系统的安全身份验证;第三层:用户权限管理身份验证,包括真用户表验证和字段权限验证。基于MAPGIS,通过MAPGIS支持单机和网络,数据库(包括案件库、自定义表单管理表、真用户表等)采用MAPGIS的WB。基于数据库的安全机制,全新设计的用户安全管理模块,达到B2级管理。
在国土业务中,大部分业务过程都比较复杂,例如建设用地报批业务,牵涉面广,涉及到规划、耕保、地政、利用等业务部门,申报过程涉及部、省、市、县的政府及国土部门,这些业务活动发生既有顺序关系,也有并行关系,大部分都包含往复关系,相互间的依赖关系也比较复杂。在基于MAPGIS的省(部)级建设用地系统、土地利用规划系统、矿产资源规划系统和城镇地籍管理信息系统、县(市)级土地利用规划系统的开发中,成功地运用了基于GIS网络模型的工作流,在其支持下,使得我们可以将注意力集中于应用逻辑的分析。尤其在关键业务的开发过程中体现出了它的价值,很大程度地减少了开发工作量,简化了系统模型,为这些系统将来的成功实施打下了良好的基础。