基于Petri网的办公自动化系统研究

2011-04-16 09:15王亚琴
电脑与电信 2011年6期
关键词:流网办公自动化引擎

王亚琴

(南通大学现代教育技术中心,江苏南通226019)

1.引言

随着信息和通讯技术的发展对组织结构及组织中的工作带来的巨大冲击,用计算机来处理事务已成为不可替代的趋势。与此同时通讯技术成为企业组织和整个社会的信息处理系统结构中不可缺少的一部分。大多企业都开展了一定规模的信息化建设,如销售系统、SCM、MRP、财务系统、办公自动化等。然而,这类系统在功能上,往往局限于解决企业内部的具体事务层面,面向企业内部功能。在开发模式上,其开发模式通常是将业务流程硬性编码到应用系统的整体结构中,每次业务流程的修改都可能引起程序结构的大幅变动,这样就增加了系统二次开发的复杂性,同时影响了系统的灵活性和适应性;从开发和使用者角度来看,业务流程变更的滞后严重地影响了市场的响应速度,失去了市场机会和终端用户,同时对于系统集成商和软件开发商来说,业务流程不断变更,也使他们陷入系统开发和维护的困扰中。工作流技术正是顺应这一需求而产生的,它的发展目标就是实现一个高度灵活通用、可伸缩、安全可靠和可互操作的工作流管理系统,而其最重要的功能之一就是工作流建模,Petri网是一种广泛应用的建模方法。

如今,国内的研究主要集中在如何将工作流技术思想应用到具体的系统设计之中。许多科研机构近年来都开始从理论层面和应用层面着手研发WfMS的系统模型。本文就是基于对Petri网的办公自动化系统的研究。

办公自动化系统是企业应用软件体系的重要组成部分,它的总体目标是:(1)实现全公司内部联网,资源共享且保密性强,查询高效快捷,与其他分公司信息互联,提高办公效率;(2)实现企业内部各种基本办公活动的电子化,支持移动办公;(3)对文件处理的工作流转过程进行详细的跟踪记录,直观方便地了解工作流的全过程;(4)顺应企业的生产实际需要,实现部分业务、生产调度、资源调度功能,协调各个生产环节;(5)满足信息传递的随时性;(6)强大的数据收集和管理功能;(7)有多种协同工作和信息交流的手段;(8)为不同的用户提供一个统一的入口,使界面一致,操作简单。

2.系统的功能模块

如图1所示。

图1 OA系统功能模块图

3.基于角色的访问控制

(1)针对办公自动化系统用户规模较大,权限管理和验证比较复杂的情况,采用基于角色的访问控制(Role-Based Access Control,RBAC)策略来实现授权和访问控制,在应用中给用户赋予不同的角色和权限。基于角色进行授权有助于在工作流管理系统中实现任务的自动分配。

(2)角色是一个或多个权限的集合,角色层次同时也体现了权限的继承关系,上层角色拥有下层角色所包含的权限。在RBAC中,角色是用户和权限之间的中介,一方面权限与角色关联,另一方面,用户是相关角色所包含的成员。由于一个组织所拥有的角色是相对固定的,因此相对于用户——权限之间的关联,基于角色的授权机制降低了授权管理的工作量,避免了因用户的职位变动而引起的授权的改变,处理的方法就是将用户从当前的角色对应的人员集合中去掉,并给其赋予新的角色。

4.系统角色清单

表1 系统角色清单

5.OA系统中工作流网的应用

(1)收文管理系统

如图2所示:

图2 工作流模型中的收文管理系统

(2)收文管理系统的Petri网工作流模型

如图3所示:

图3 用Petri网描述的收文管理工作流模型图

用Petri网的不变量分析方法对工作流的工作流模型安全、有界以及无死锁进行研究。

1)工作流网活性验证

在此模型中,通过不变量分析方法建立状态方程来描述工作流网活性。

M=M0+CU来求解,其中设M0=(1,0,0,0,0,0,0,0)为本系统模型的初始标识;M=(0,0,0,0,0,0,0,1)为本系统模型的终止标识,其关联矩阵为:

求解(1,0,0,0,0,0,0,0)T+CU=(0,0,0,0,0,0,0,1)T,得到U=(1,1,1,1,1,1)。要求该工作流网是活的,则需要验证经过转移变迁序列从T1…T6一系列过程之后整个过程能够从初始标识又返回到终止标识。

2)工作流网有界性验证

有界性的验证的可转化为求解方程∃Y〉0,CY≤0的问题。而在本模型中,Y仅有零解满足以上条件。这样的工作流网模型不是有界的,因此需要对该工作流模型进行一些改进,让它变成有界的。图4是改进后的模型。

图4 改进后的模型

(3)发文管理系统

如图5所示:

图5 工作流模型中的发文管理系统

(4)发文管理系统的Petri网工作流模型

图6 用Petri网描述的发文管理工作流模型图

通过工作流网的思想对图6进行分析,得出该模型的性能如下:

1)如果把变迁t*添加于该模型的终点位置o和源位置i中间,即't*={o}且t*'={i},则所得到的该Petri网模型是强连通的。

2)模型中的每个节点都在从起始i到终止o的一条路径上。

3)该模型运行在执行过程中每个任务都能执行到,即没有死锁现象发生。

通过以上理论分析可知该模型虽然是符合工作流网定义的正确的模型,但在实际情况中却出现了逻辑上的错误。在变迁B即校对修改的执行过程中出现了并行结构的“与连接”,出现了两个输入位置'B=(C1,C6),要求库所C1,库所C6都存在令牌时,变迁B才能发生。而实际的情况是库所C1有令牌存在,即文件起草结束,或者库所C6中有令牌存在,即文件未通过,两种情况有一种发生都应该进入校对文件和修改状态。因此对上面模型进行修改,用Petri网的不变量分析方法进行工作流网有界性验证时得到改进后的工作流模型,如图7所示。

图7 改正后的工作流模型

5.工作流引擎的分析设计和应用

从设计上来看,一个好的工作流引擎必须具备的特征有:(1)引擎核心模块与向整个系统提供的接口界面之间的交互尽可能简单,实现松散耦合;(2)引擎核心内部则应尽可能地加强内聚;(3)易于实现外围功能的扩展。工作流引擎实质上是一个状态转换引擎,它是根据不同的外部事件(如启动流程、完成任务等)来修改数据库中工作流实例的状态数据,进而实现过程和活动的状态切换。

工作流引擎包括控制模型及数据模型两部分。控制模型是工作流引擎的核心,负责任务的调度、任务指派、依赖检查及转发控制。工作流引擎的控制模型可以将组织模型和信息模型有机地结合在一起,它根据业务规则对业务过程中的各项活动进行导航和任务分配。调度中心接受应用程序中对流程的控制请求(如流程实例化、获取任务项、结束任务等),它根据具体的请求调用相应的功能模块处理用户的请求,调度中心可以看作是一个多线程的并发服务器。

实际应用中,工作流引擎模块是作为整个系统的一部分与业务系统整合起来的,工作流管理系统通过调用相关子系统中的软件组件来实现特定的功能,同时可以根据需要读写数据库。在办公自动化系统中,人工活动由用户控制执行,执行时需要调用相关的外部应用程序,而自动活动则由工作流引擎直接调用,或通过工具代理来启动外部应用。在流程模型中建立任务与相应外部程序的映射关系,工作流执行时由工作流引擎来调用它们实现流程运转。在将工作流引擎子系统整合到Web应用中时,由系统的显示层与用户进行交互,它把用户的请求转发给工作流引擎控制中心,工作流引擎在进行处理后将结果通过显示层返回给用户,工作流引擎的处理对用户来说是透明的。

本文运用了Petri网建模技术,分析了办公自动化业务流程,研究了工作流引擎的过程建模机制和控制模型设计,但在以后的设计中,系统的功能模块化还有待加强,还要进一步深入分析工作流模型的性能。

[1]杜江,张玉英.Petri网在OA系统工作流中的应用.佳木斯大学学报(自然科学版).2008,09:656-658.

[2]张亚娟.基于Petri网的工作流建模技术的应用研究.2008.

[3]叶许红,颜钢锋.基于Petri网的办公自动化工作流建模.计算机工程与应用.2003,06:228-229.

猜你喜欢
流网办公自动化引擎
工作流网频繁子网挖掘研究进展①
利用Excel进行流网的简单绘制
浅谈办公自动化系统的设计与应用
蓝谷: “涉蓝”新引擎
土地“三权分置”效应初显多地政府欲借土流网“东风”
办公自动化系统软件教学探索
办公室自动化、办公自动化与OA
城市轨道交通多层排流网投入运行研究
无形的引擎
基于Cocos2d引擎的PuzzleGame开发