您的当前位置:首页正文

一个面向电子审批系统的嵌入式工作流引擎的设计与应用

来源:华佗健康网
2012年第8期 文章编号:1006-2475(2012)08-0148-03 计算机与现代化 JISUANJI YU XIANDAIHUA 第204期 一个面向电子审批系统的嵌入式工作流 引擎的设计与应用 郭广丰,马占飞 (包头师范学院信息科学与技术学院,内蒙古包头014030) 摘要:在某运输政务管理电子审批平台建设中,引入工作流技术,自主研发一个嵌入式工作流引擎。通过对其审批业务 的分析,提出面向电子审批业务的工作流概念模型;在此基础上,对该工作流引擎的系统架构和数据模型作了详细设计。 基于该工作流引擎的运输政务管理电子审批平台上线后,一方面运行稳定,工作流引擎作为流程控制中心有效支撑了业 务运营,并对审批电子文书实现有效管理;另一方面,实现灵活的流程定制,审批内容可适时调整,大大降低了维护成本。 关键词:电子审批;工作流引擎;关系;嵌入式 中图分类号:TP317.1 文献标识码:A doi:10.3969/j.issn.1006-2475.2012.08.04l Design and Application of Embedded Workflow Engine for E-approval System GUO Guang—feng,MA Zhan—fei (College of Information Science and Technology,Baotou Teachers College,Baotou 014030,China) Abstract:In developing an E—approval platform for the transportation management,this paper introduces the worEflow technolo- gies and develops an embedded workffow engine.By analyzing its business,the workflow conceptual model for E—approval busi- nesses is presented;a framework of a relationship—based embedded workffow engine and its data model is designed.The work ̄qow engine has been applied to the E—approval platform for transport management,which shows tWO advantages.The E—approval plat— form runs stably,and the workflow engine not only supports business operations effectively as a work{low control center but also realizes effective management to electronic documents;on the other hand,it makes process customization more flexible,and greatly reduces maintenance costs. Key words:E—approval;work ̄ow engine;relationship;embedded 0 引 言 本项目来源于某地级市的运输政务管理的电子 审批平台,为所辖地区的运输企业、个人开展运输业 1 工作流概念模型 通过对运输政务管理中审批业务的分析 ,提 务提供一站式电子审批服务。该系统一方面要求能 够实现灵活的流程定制,以适应运政管理在不同时期 的个性化管理需求;另一方面要求达到一定的稳定性 和可靠性,以保证在系统上线后,能够有效支撑业务 运营。在该系统建设中,引入了工作流技术,自主研 发了一个工作流引擎产品。目前,工作流引擎已经在 运输政务管理业务系统中成功担当起了流程控制中 出如下工作流概念模型。 定义1 工作流是由一系列相关过程构成的集 合,过程与过程之间或相互独立,或存在数据或控制 关系。表示为wF:::(P,R),其中P是过程的集 合,P={P1,P2,…,P };R表示P上的偏序关系,R= {r1,r2,…,r },ri=<Pi,Pk>(j≠k)。 在电子审批系统中,每一个过程代表每个类审批 过程;偏序关系表示一个审批过程与其他审批过程的 依赖关系,如“拟购危险货物运输车辆审批”与“危险 货物运输车辆登记”存在着依赖关系。从时问上, 心的角色。本文将对该工作流引擎系统的设计进行 分析。 收稿日期:2012-03.28 基金项目:包头师范学院基金资助项目(BSY20091 1029) 作者简介:郭广丰(1981一),男,内蒙古和林格尔人,包头师范学院信息科学与技术学院讲师,硕士,研究方向:计算机网络应 用技术;马占飞(1973一),男,内蒙古包头人,教授,博士,研究方向:计算机网络技术与信息安全,人工智能。 2012年第8期 郭广丰等:一个面向电子审批系统的嵌入式工作流引擎的设计与应用 149 “拟购危险货物运输车辆审批”业务必须在“危险货 物运输车辆登记”之前完成;从数据来源上,“危险货 物运输车辆登记”业务的基础数据来源于“拟购危险 货物运输车辆审批”业务。 定义2工作流过程是一系列步骤组成的有序 储在一个关系数据库中,方便与业务数据进行多表联 合查询,对审批相关信息进行高效的统计和分析;另 一方面,事务的并发控制通过数据库系统所提供的机 制来实现。 参考WfMC制定的工作流参考模型[12-13],结合 电子审批业务系统的具体需求,在本文定义的工作流 集合。表示为P::=(s,A,s ,Send),其中s表示工 作流过程包含的一系列步骤的有序集合,S={S ,S , …概念模型的基础上,提出基于关系结构的嵌入式工作 流引擎的基本结构,如图1所示。工作流引擎在整个 ,s };A表示触发步骤变迁的一组动作(即工作流 过程处于某一步骤时执行某一动作,该动作执行后, 该工作流过程进入下一个步骤),A={a ,a ,…, a };Sstar ̄表示该工作流过程的起始步骤;Sena表示该工 作流过程的终止过程的集合。工作流过程可以看成 一个特殊的有向连通图,步骤S相当于节点,动作A 相当于弧,人度为0的节点有且只有一个,并且出度 为0的节点至少有1个,除此以外的其它节点的人度 和出度均至少为1。在该有向连通图中,入度为0的 节点就是定义2所定义的起始步骤s ;出度为0的 节点就是终止步骤,它们构成的集合就是终止过程的 集合S 。 定义3工作流步骤是工作流过程的组成部分, 表示为S::=(No,Name,Type),其中No表示步骤编 号;Name表示步骤名称;Type表示步骤的类型,是集 合{起始步骤,终止步骤,与分支节点,与汇聚节点, 或分支节点,或汇聚节点}中的一个元素。 定义4动作是触发步骤变迁的行为,表示为A ::=(No,Name,Sfro ,S ,Type),其中No表示动作编 号;Name表示动作名称;Type表示动作的类型,是集 合{人工动作,时间触发动作,条件判别动作}中的一 个元素;Sfrom表示动作的起始步骤,S ∈S;¥to表示该 动作实施后下一步骤,s ∈S。 2基于关系结构的嵌入式工作流引擎 系统架构设计 通过对运输政务管理的电子审批平台关键业务 的分析,工作流引擎采用基于关系结构的嵌入式框 架[2-3]。基于关系结构的工作流引擎_4 ,依托成熟 的关系性数据库技术 引,工作流引擎中的数据模型 (即机构模型和信息模型)全部通过关系结构来表 达;控制工作流引擎运作的各种程序逻辑(即控制模 型)是通过常规关系数据库管理系统中所提供的存 储过程、包以及触发器等机制来实现;同时,事务的并 发控制 1o]通过数据库系统所提供的机制来实现 。 嵌人式主要体现在与业务系统的关系方面,即与业务 系统联系紧密。基于关系结构的嵌入式工作流引擎 的流程控制、流程模型数据与绝大多数的业务数据存 审批平台上承担了流程控制中心的角色,并提供4类 接口。接口1为电子审批业务系统中业务逻辑单元 与工作流引擎的交互服务;接口2为工作流管理控制 台对工作流引擎提供监控服务,监控整个工作流引擎 的运行状态及对某些工作流实例的运行实施人工干 预;接口3为工作流管理控制台对工作流程建立模型 提供服务;接口4提供了和其他业务系统或工作流引 擎交互的Web Service远程访问服务¨ 。工作流引 擎中的数据模型均通过关系结构表示,工作流引擎的 模型数据、流程控制数据,以及电子审批业务系统的 业务数据、组织角色数据都存储在关系数据库中,其 并发控制也通过关系数据库管理系统所提供的机制 来实现。为了增强工作流引擎的服务能力和灵活性, 工作流引擎内部提供了数据访问组件、配置组件、日 志组件和定时任务组件。数据访问组件负责访问关 系数据库,对工作流引擎运行相关的组织角色数据、 流程控制、工作流模型数据进行读写;配置组件为管 理控制台修改工作流引擎的数据库配置、映射电子审 批业务系统已有的组织角色到工作流引擎提供了实 现机制,为工作流引擎支持多种关系数据库提供接 口;日志组件负责记录工作流建模日志和流程活动日 志;定时任务组件配合工作流引擎推动流程执行,与 时间约束相关的活动由工作流引擎和定时任务组件 协作完成。 电子审批业务系统 l 作流管理控制台 司 其 [1 ‘ 9:t ̄LI2 9 ¨’ 他 1二作流引擎 业 — 币 ] 务 系 统 圆匝巫圈[巫巫困匝囫圈 火系数据库 图l 工作流引擎的基本结构 3工作流数据模型 工作流引擎推动审批数据流转,主要依靠工作流 模型数据、流程控制数据、组织角色数据。工作流模 15O 计算机与现代化 2012年第8期 型数据依据本文提出的工作流概念模型建立,以关系 结构表示电子审批的流程模型,即每一类审批的步骤 码(WorkflowlD)、该动作的起始步骤的编码(From— StepID)、该动作实施后下一步骤的编码(ToSteplD)、 以及触发步骤变迁的行为等;流程控制数据以关系结 构表示与每一次审批相关的业务信息,如申报内容和 审批记录等;组织角色数据涉及企业或部门的组织结 构关系、人员及权限等信息。工作流模型数据、流程 控制数据的逻辑设计图如图2所示。另外,组织角色 数据属于电子审批业务系统与工作流引擎共享的数 据,工作流引擎对此部分数据只需拥有读的权限,通 过配置组件配置组织角色数据所在的数据表,数据访 问组件读取组织角色即可,在图2中略去。 图2工作流引擎数据库逻辑结构图 3.1工作流模型数据 与工作流模型相关的表主要有wF—WORK. FLOW、WF—D—REQUESTNOTE WF—STEP WF—AC. TION,表之间的关系已经在图2中通过不同含义的 连线标出,下面将重点对其中的一些含义作出解释。 wF_D—REQuEsTN0TE(申报单类型信息表):记 录每一种申报单的名称(RequestNoteName)、编码 (RequestNoteID)、该申报单的说明信息(Descrip— tion),以及访问该类申报单的URL地址(Detai一 1URL)。 WF—WORKFLOW(流程类型表):记录每一种流 程的基本信息,包括流程编码(WorkflowlD)、流程名 称(WorkflowName)、该流程的说明信息(Descrip. tion),以及与该流程对应的申报单的编码(Request. NoteID)。 WF—STEP(流程步骤信息表):记录流程编码 (WorknowID)、步骤编码(StepID)、步骤名称(Step— Name)、Role(申报或审批的角色)、该步骤的说明信 息(Description),以及该步骤的类型(StepType)。步 骤的类型有几种:起始步骤、终止步骤、与分支节点、 与汇聚节点、或分支节点、或汇聚节点。 WF~ACTION(动作信息表):记录动作编码(Ac. tionID)、动作名称(ActionName)、动作所属流程的编 该动作的说明信息(Description)、该动作实施后要打 印文档的名称(PrintName)、打印文档的URL地址 (PrintURL),以及该动作的类型(ActionType)。动作 的类型有几种:人工动作、时间触发动作和条件判别 动作。 3.2流程控制数据 与流程控制数据相关的表主要有wF—IN— STANCE、WF—INSTANCE—STEP,表之间的关系已经 在图2中通过不同含义的连线标出,下面将重点对其 中的一些含义作出解释。 WF—INSTANCE(工作流实例信息表):记录工作 流实例编号(InstancelD)、工作流实例名称(Instance— Name)、工作流实例所属流程的编码(WorkflowlD)、 该工作流实例的启动时间(StartDate)、该工作流实例 的结束时间(FinishDate)、该工作流实例的发起人编 号(UserID)、该工作流实例涉及的申报单URL地址 (RequestNoteURL)、该工作流实例的当前状态(Sta— tus)。工作流实例的当前状态有Initiated(已初始 化)、Suspended(挂起)、Active(活动)、Complete(正常 结束)、Terminated(异常中止)这几种状态。 WF—INSTANCE—STEP(工作流实例执行过程信 息表):记录工作流实例编号(InstancelD)、工作流实 例所属流程的编码(WorkflowlD)、当前执行过程所属 步骤(SteplD)、当前执行过程已执行的动作(Action— ID)、(已完成动作的执行人)UserID、该步骤的发起 时间(StartDate)、该动作的执行时间(FinishDate)、该 步骤输出文档的名称(PrintName),以及该步骤输出 文档的URL地址(PrintURL)、审批意见(Opinion)、 审批备注(Memo)、该步骤是否结束(IsFinshed)、(该 步骤执行人的角色)Role、(审批附加信息)Addtion。 其中Addtion字段为XML格式,以支持审批内容的非 结构化,审批意见等每一个审批业务都涉及的信息直 接存储到相应字段中(如Opinion)中,针对审批内容 的特殊部分都以XML形式存储到Addtion字段中。 4 结束语 基于关系结构的嵌入式工作流引擎作为流程控 制中心的角色,实现对审批信息流转和流程控制的有 效管理;另外,在引擎设计时,针对审批内容的非结构 化,为了保证审批内容灵活多变并可配置,相关数据 表中引入XML格式的Addtion字段用来存储审批内 容中的特殊部分,保证了审批内容可根据需求适时修 改;考虑到审批电子文书的管理,相关(下转第155页) 2012年第8期 韩勇等:用电信息采集系统主站软件设计 155 与数据转发,能够同时兼容230M无线专网、CPRS/ CDMA公网、光纤专网以及其它类型的通讯方式,实 现各通信信道的调度以及并发控制等。 [4]朱其亮,郑斌.CORBA原理及应用[M].北京:北京邮 电大学出版社,2001. 4 结束语 智能用电是中国坚强智能电网的重要组成部分, 智能用电建设的好坏直接关系到电网的能源使用效 [5] 胡钰铣,王希敏,王哲.基于TAO实时事件服务的应用 [J].舰船电子工程,2008,28(3):138.142. [6] 黎作明.基于能量管理系统的CORBA技术的应用研究 [J].广东电力,2011,24(9):80—83,86. [7] 吕雪燕,张敏,黄国兵.电能量计量计费小主站系统设 计[J].电子测试,2009(8):78—82. [8] 陈扬.基于CORBA的分布式对象技术及其在电网调度 自动化系统的应用[J].南方电网技术,2010,4(6): 78.80. 率、经济运行和有序用电,而建设用电信息采集系统 能为智能用电服务提供有力的技术支持。本文从智 能电网下的用电信息采集出发,从主站软件架构、应 用开发框架、功能模块的划分以及实现的关键技术几 个方面对用电信息采集系统的主站软件开发进行了 详细论述,旨在实现抄表及电费结算的智能化,提高 电网营销科技水平,并能指导社会科学合理用电,为 智能用电服务提供有力的技术支持。 参考文献: [9]董张卓,李宏刚,倪云峰.调度主站前置机的结构和软 件设计[J].继电器,2008,36(10):57-61. [10]邹盟军,翟志强,曹健雄.电能量计量计费系统的工程 实现[J].电力系统自动化,2003,27(1):83.85. [11]徐文,张建民,高煜,等.调度/配电管理一体化系统主 站平台设计与实现[J].电力系统自动化,2004,28 (8):80—83. [12]刘亚鹏,张征,俞婷.基于MVC多层架构的Web应用框 架设计[J].微计算机信息,2011,27(7):169.171. [1]王晓峰,李庚清.用电信息采集系统发展新趋势[J]. 电力需求侧管理,2010,12(5):59—61. [2]陈玮,沈雷.基于MVC模式的Web应用框架[J].微计 算机信息,2009,25(15):216—218. [3] 阳玉琴,吴茂昌.ASP.NET分层架构研究[J].软件导 干IJ,2O09,8(9):123.125. [13]李园,陈世平.MVC设计模式在ASP.NET平台中的应 用[J].计算机工程与设计,2009,30(13):3180—3184. [14]张宇,王映辉,张翔南.基于Spring的MVC框架设计与 实现[J].计算机工程,2010,36(4):59-62. [15]黄光芳.面向接口编程在三层架构系统中的设计及应 用[J].计算机应用与软件,2009,26(6):133 135. (上接第150页)数据表中增加了PrintName、PrintURL 等字段,用来存储审批电子文书打印相关信息,实现 了对审批电子文书的有效管理。 本文所讨论的工作流引擎已研发了基于Oracle 9i的版本,并成功应用于内蒙古包头市交通局运输 政务综合管理业务平台,该平台已投人使用一年多, 目前运行稳定,为所辖地区的运输企业、个人开展运 输业务提供一站式电子审批服务。笔者设计的嵌入 式关系型的工作流引擎与运输政务综合管理业务平 台无缝集成,一方面满足了流程定制的灵活性需要, 大大降低了维护成本;另一方面解决了审批电子文书 的有效管理问题,大大节约了运输政务业务办理的时 间,提高了办事效率。 USA:IEEE,2010,8:408-411. u Li—hua,Liu Jie.Research on com— [5] Zhou Chuan—sheng,Niponent and DAG based dynamic workflow system[c]//Pro— ceedings of 2010 First International Conference on Pervasive Computing Signal Processing and Applications. USA: IEEE,2010:1228—1231. [6] 董铁城,何彪.基于关系模式和Web的工作流管理系统的 研究[J].计算机技术与发展,21308,18(5):4043,46. [7] 方俊.基于关系数据库的工作流引擎的设计[J].计算 技术与自动化,2005,24(3):102-105. [8] 陈昌巨,刘家良,张菁.基于关系数据库的工作流引擎 设计[J].计算机应用研究,2003,20(2):120—122. [9] 黎立.基于关系数据库的工作流引擎设计[D].重庆: 重庆大学,20o5. [10] 张敬波.工作流事务模型研究[D].大庆:大庆石油学 院,2004. 何清法,李国杰,焦丽梅,等.基于关系结构的轻量级工作 盖[]郭广丰.1 丰.电子审于批项目比项目中工作流技术的应用研究_应用研究[]D ]. [11] 流引擎[J].计算机研究与发展,2001,38(2):129-137. 天津:天津大学,20o9. W玎垭C.WFMC一,I℃00・1003.The Workflow Reference Model [2] 李洪波.基于状态的可嵌人工作流系统设计[J] 机与现代化,2011(2):81_83. fR1.Hammhire:Workflow Management Coalition,1995. [3] 高鹏.一个面向电信级系统的嵌入式工作流引擎[J]. 计算机工程,2006,32(21):229-232. ng Guojun,Zheng Ying,Tang Jian,et a1.The design [4] Yaand realization of work_flow en ̄ne based on the relational 范玉顺.工作流管理技术基础[M].北京:清华大学出 [13] 版社,施普林格出版社,2001:55-57. [14] 张静,吕英男.IBM WtXS与IBM FileNet BPM关于工作流 调用Web服务的实现策略[EB/OL].http://www.ibm. com/developerworks/cn/data/library/techarticles/dm一1001 data model[C]//Proceedings of 2010 International Con— ference on Computer Application and System Modeling. zhangj/,2010431—15. 

因篇幅问题不能全部显示,请点此查看更多更全内容