王迪++陈晖
摘要:随着电子校务建设的快速推进与发展,自动化与无纸化办公已成为当今社会发展的一种趋势。将工作流技术引入到电子公文流转系统中,以流程化形式规范公文流转过程管理,实现了跨部门协同工作,达到了公文流转的规范、高效。该文在分析WfMS(Workflow Management System,工作流管理系统)工作流模型和笔者所在高校的公文流转过程的基础上,按照规范流程、监控过程、柔性性能、与现有系统有机集成、跨部门协同工作、自动化、高效率等设计原则,对高校电子公文流转系统进行了分析设计,分析了高校收发文流程,分析了用户、角色、权限,设计了高校电子公文流转的工作流模型和数据库,详细设计了系统的组织模型与流程模型,并使用jBPM工作流引擎和SSH框架实现了高校电子公文流转系统。系统采用 B/S 架构, 运用主流的 Web 框架 SSH 实现 MVC 分层模式,分为表示层、数据持久化层、业务逻辑层和流程逻辑层。采用 jBPM 工作流引擎完成了工作流的定义和发布,采用工作流技术实现了公文处理中的收发文管理等基本功能。
关键词:工作流;公文流转;jBPM;SSH框架
中图分类号:TP313 文献标识码:A 文章编号:1009-3044(2014)15-3528-03
1 概述
当前,很多高校的公文流转系统仍采用传统的手工操作模式,效率低、速度慢,且容易出错,已经越来越不适应现代化办公要求;笔者所在单位宿迁学院的公文流转目前就采用手工操作模式,在实际操作过程中存在以下问题:一是手工操作模式工作任务量大;如某部门要起草一份文件,拟完稿后要交院长办公室进行审核,若院长办公室认为文件需要修改,将会把公文发还给拟稿部门,反之将公文上报有关院领导批阅,院领导批阅后再将公文返还至院长办公室,此时,院长办公室将根据院领导批示和公文处理要求对公文发布,并转发至有关部门(单位)。整个过程采用“纸张办公”,工作量大、效率低。
工作流概念源自于生产与自动化办公系统,一些企事业部门为了提高管理水平,增强竞争力,就将各项工作分解,并设定好工作任务与工作人员处于工作任务中的角色,制订执行这些工作任务所依据的程序、规则,监督与控制,从而提高效率,减少成本。
目前,市场上具有工作流管理功能的商品化软件有近上百种,这些商品化的软件已被广泛的应用到了各行各业,但这些产品在设计开发的时候却没有统一的规范、要求和标准,使得产品的设计结构,以及产品的结构规范等各不相同,差异很大,导致了工作流系统与系统之间、系统与其它系统之间的集成十分地困难 。为此,必须对工作流技术进行开放性的、标准化研究,实现产品与产品之间的互相操作,WfMC在这方面作出了努力,设计实现了系统的体系结构,如图1所示[7]。
WfMS初期的主要有关注业务流程与定义和建模的相关活动或任务,以及业务流程结果的格式化定义输出。早期,主要是通过分析与定义系统的建模,来描述现实的世界,并转化为计算机的内部业务流程定义。这个定义一般被叫作工作流模型或过程定义或过程模板。在系统的操作期,操作环境中的业务流程管理是关注的主要问题,操作中的任务活动的调度服务也必须完成。在运行时,系统的主要功能是负责解释过程定义,并根据流程实例的定义,建立流程实例,然后再在应用程序和合适的人等资源之间进行合理的调配。系统的交互功能主要是人与应用程序。通过人与计算机交互等,来共同完成业务流程的执行。此外,运行时交互功能应具有传输控制,获得一定的活动或任务的状态,以及系统在一个动作或角色的工作流管理资源之间的数据传输功能。
目前市场上面已有的开源的工作流管理系统产品很多,在这些产品中,有的只有一个工作流引擎,有的只有一个建模的工具,有一个工作流引擎的产品一般只提供一个比较灵活的工作流引擎,方便了企事业应用程序的集成,如OSWorkflow,而只有一个建模工具的产品,主要提供一个图形工具用于建模,他能够在不依靠任何逻辑应用程序的根源上,编辑与创建流程,并集成于工作流管理系统中,如IX WorkflowModeler。
jBPM是一个开放性、扩展性很强的工作流系统,是一个Java EE轻量级的工作流系统的软件包,是一个能够支持工作流程面向编程的框架。jBPM实现了一个完整工作流系统,采用了独立地语言进行流程定义,极大的方便了企事业程序应用的集成。
jBPM 工作流引擎的职责是保证能够依据流程定义去定义流程,做到节点的传输能够正确的实施,一个节点正确的传输到另一节点主要依靠过程调度的完成,jBPM调度机制提供进程的一个机制,以确保正确的执行节点。
高校电子公文流转系统是以工作流引擎为基础的,公文在系统中按照用户定义好的工作流程自动流转,电子公文流程系统应包括系统管理、角色管理,流程管理、业务管理等功能。
2 管理员可以管理用户与角色,角色与角色,角色和权限之间的关系
高校电子公文流转系统是以jBPM工作流管理系统为核心将jBPM、Struts 、Spring和Hibernate四者有效的结合起来,如图4。
MVC系统采用Struts框架,用户请求的拦截、用户请求的处理需调用逻辑业务组件等均由Struts。管理业务流程的平台由jBPM提供,主要是对流程的定义,控制业务单元间的控制流与数据流对业务逻辑层的业务单元的操作,程序应用组件或业务对象。IOC容器系统由Spring框架提供,其组件主要对管理系统组件间的关系依赖、集装箱系统管理负责,冬眠系统的持久解决方案也有Spring框架提供,还能够对数据库底层的细节进行封装和映射完整的关系数据库表与对象
参与高校电子公文流转的用户中,既有院级领导,也有各部门(单位)的负责人,还有院党委办公室和院长办公室的秘书及其他部门负责公文管理人员,他们都是参与者,只不过他们在公文流转过程中的所处角色不同,也可能属于不同的工作组。“角色” 是组织模型在工作流中的应用的最主要桥梁。在组织单元中,可能还有部门、职务等类,也会有工作组和角色类。为此,我们规划出了如图5的组织应用模型解决方案。endprint
工作流的功能包括定义并建立流程模型、设置部门及人员结构、控制工作流程等。结合高校公文流转的特点,发文和收文工作流程就构成了本系统的主要流程处理框架。用此框架来实现工作流的定义、公文处理的权限设置与分配、公文处理流程中各部门和人员的指定等功能。
通过jBPM 对具体业务逻辑操作处理类进行定义。对业务逻辑操作处理类的具体调用,主要是通过jBPM触发流程事件来予以实现,退出与进入节点是jBPM的事件节点类型,它们可以创建与完成任务和发生的转移等,当要执行工作流引擎的时候,主要是将流程的一个节点转移到它所连接的下一节点,且将会被这个节点所接受,这样,这个节点对象将会被激活,并进入事件节点,并操作相关应用程序,与此相同的是,若碰到退出的节点发生转移的时候,也会有有关程序对发生的相应事件触发进行处理,创建时发生的事件被称为任务创建事件,如若碰到一个结束的任务,则发生的事件是任务的结束事件。
发布流程指的是将在 jBPM 流程设计器里产生的流程模板文件发布到数据库当中,这样工作流引擎就可以直接对数据库进行操作,从而实现对流程的控制。
高校电子公文流转系统采用的工作流权限控制方式是目前受到广泛关注的基于角色的访问控制(Role-Based Access Control,简称RBAC)模型。在RBAC模型中,用户、部门、角色三者之间的关系很好地实现了访问控制的层次化,权限设置清晰且易于管理。从逻辑上将用户的授权分成两部分,并用角色来代替用户去作为权限行使的中介是RBAC的最基本思想。
jBPM 中提供了相应的监控平台 jbpm-console,其可以做到对工作流程的跟踪处理,通过对文档数据库任务及角色的跟踪监控,来实现工作流的访问控制冲突及锁死的问题解决。
3 总结
本课题是在高校建立电子校务的大背景下,分析高校公文流转的功能需求,运用SSH框架实现MVC分层的模式,基于jBPM 工作流引擎设计并实现了一个基于工作流的可扩展、易移植高校电子公文流转系统。该系统实现了以下功能:
1)通过工作流技术实现公文的灵活运转,实现网上办公,提高办事效率与公文流转的可靠性;
2)jBPM工作流引擎可根据用户的需要自定义工作流程,并能自动生成串行、并行、循环等可变工作流程;
3)实现了基于角色的权限管理,方便了管理人员对工作流的访问控制;
4)实现了对公文处理的监控,及时了解公文的处理情况, 并能对公文的处理进行催办、流程的更改等。
参考文献:
[1] 范玉顺.工作流管理技术基础[M].清华大学出版社,2001:28-33,54-57,150-153.
[2] 麦中凡,薛瑜.工作流管理系统:概念、内容和现状[J].计算机工程与应用,1999(24):24.
[3] 范玉顺,吴澄.工作流管理技术研究与产品现状寄发展趋势[J].计算机集成制造系统,2000,6(1):1-7.
[4] 杨子江.工作流技术及其在高校办公自动化系统的应用研究[D].重庆:重庆大学,2007
[5] 侯志松,余周,冯启高.工作流管理系统开发实录—基于JBOSS JBPM实现[M].北京:中国铁道出版社,2010.
[6] 吴志福.工作流管理系统的设计[J]. 石家庄职业技术学院学报,2011,23(6):42-44.
[7] Hai Zhuge.Component-based workflow systems development[J].Decision Support Systems.2003,35(4):517-553.
[8] Workflow Management Coalition,The Workflow Reference Model,WFMC-TC00-1003, 1995.
[9] 刘铁铭,范玉顺.基于工作流管理方式的应用协作模块分析与设计[J].计算机工程与应用,2004,27(3).
[10] 姜宾.JBPM在网络办公系统中的应用研究[D].大连:大连海事大学,2010.
[11] 胡奇.jBPM4工作流应用开发指南[M].北京:电子工业出版社,2010.endprint