一种基于Activiti+Jackrabbit的文件流转系统的设计与实现
2018-02-03谷占忠
谷占忠
摘要:当前很多基层行政事业单位仍然在使用纸质的文件处理方法,但是纸质化文件处理存在着许多落后的地方,如传递效率低下、纸张消耗严重、后期保存困难等。近年来国家不断推进行政事业单位无纸化改革,提倡建设节约型机关,提高机关信息化、智能化水平。文章在分析无纸化文件流转需求的基础上,设计并实现了一套适用于基层行政事业单位的文件流转系统。系统以Activiti工作流引擎为基础,创新性地引入了Apache Jackrabbit技术,不仅满足了无纸化文件流转的要求,还达到了极高的安全存储水平。
关键词:Activiti工作流;Jackrabbit文件仓库;文件流转
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)02-0283-02
1 背景意义
随着计算机技术与互联网的高速发展,人与人之间、机构与机构之间的沟通变得越来越便捷。以往的很多交流方式都发生了巨大的变化,如纸质的信件,大多被电子邮件所取代,个人通讯随着智能设备的普及,已经可以实现完全免费的实时语音视频连接。在此背景下,却有一种交流方式往往落后半步,不能及时跟上时代的潮流,那就是行政事业单位之间以及内部进行的公务文件流转。这种现象事出有因,一是作为政府机构,公务文件往往具有较高的保密要求,直接通过互联网传递存在着较大的泄密危险;二是要取代原有纸质的文件流转方式,必须建设完善的电子文件流转系统,要推行至所有行政事业单位,不是一朝一夕可以实现的。目前,以西安市为例,政务网络的建设已取得一定的进展,可以保障文件的网络传输安全。在范围上基本实现了市级政府部门的互联,但对于二级部门和区县单位还无法全覆盖。因此,基层行政事业单位的文件的流转仍然大多采用纸质方式,文章设计并实现的文件流转系统,提供了单位内部文件电子化流转和安全传输与存储能力,对于提高基层行政事业单位无纸化、信息化水平具有重要意义。
2 系统需求分析
2.1 系统角色分析
根据基层行政事业单位的组织机构模式,以及常用的审批流程,可以得出系统的参与角色。文中系统的参与者分为以下几个角色:系统管理员,业务部门干部,业务部门负责人,办公室干部,办公室负责人,分管领导,单位负责人。其中系统管理员,负责维护单位基本信息,包括系统管理、人员管理、日志管理等等;办公室专指负责文件管理的部门,包括办公室干部和办公室负责人;业务部门指的是办公室之外的单位所有部门,包括业务部门干部和业务部门负责人,在单位文件流转中具备参与权限和审批权限;单位负责人是行政事业单位的最高负责人,具备最终审核权限;分管领导指的是领导班子其他成员,通常按照职责划分分管不同的业务部门。所有参与角色中,部门负责人可以审批本部门干部的业务,分管领导可审批分管部门业务;除会审、集体决策等特殊情况外,部门负责人和分管领导无权干涉其他部门负责人和分管领导管辖范围内的业务。
2.2 功能性需求
系统的功能性需求可分为组织机构管理、文件传阅与办理、文件起草与签发、文件归档与存储等。
2.2.1 组织机构管理
组织机构管理是系统正常运行的基础,由系统管理员独立完成。主要包括对单位的用户、角色、权限等进行维护,以及对系统后台进行调试、备份等。
2.2.2 文件传阅与办理
虽然随着政务网络的发展,行政事业单位之间的文件流转一部分可以选择网络传输,达到了无纸化要求。但是,从单位内部来说,目前还没有一个用于文件内部流转的系统,因此文件到达单位后,仍然需要进行打印,按照纸质流转的程序完成后续工作。文件的传阅与办理过程为:“办公室干部”收文后,发起传阅流程;“办公室负责人”收到传阅要求后,同意传阅则签署拟办建议,不同意则退回;“单位负责人”收到拟办要求后,同意则签署批示意见,不同意则退回;“业务部门负责人”收到批示后,签署批办意见;“业务部门干部”收到批办要求,进行业务办理;“办公室干部”收到办理结果后,对文件进行归档处理,流程结束。
2.2.3 文件起草与签发
与文件传阅与办理相同,文件的起草与签发过程也没有系统可以支持,目前仍采用纸质进行。文件起草与签发流程为:“业务部门干部”拟文,发起发文流程;“业务部门负责人”收到发文后,通过则签署初审意见,不通过则退回;“办公室负责人”收到初稿后,通过则签署核稿意见,不通过则退回;“单位负责人”收到核稿后,通过则签署签发意见,不通过则退回;“办公室干部”收到签发后,进行印发,最后进行归档,流程结束。简要流程图如下:
2.2.4 文件归档与存储
目前纸质的公务文件,按照档案管理相关规定,必须认真装订成册,存放在专用的储存室内,不仅耗费大量的人力物力,而且在后期查询利用中多有不便,也无法长时间保存。实行文件的电子归档与存储,则可以显著减少纸张的消耗,节省储存空间,节约人力物力支出,而且存储量极大提升,存放时间较长。
2.3 非功能性需求-扩展性和安全性
电子文件的存储在对纸质的优势之外,还有一些需要加以重视的地方,一是通常文件直接存放在文件系統所在服务器硬盘上,扩展性较差,随着时间增长,存储量会限制文件的归档存储能力;二是行政事业单位文件具有极高的保密要求,必须保证文件存放的安全性,对于计算机、服务器、传输线路的泄密具备较高的抵御能力。
3 系统详细设计
系统使用UML进行建模和分析设计,按照house model分为五个部分进行。其中组织视图,通过单位组织结构图进行分析;功能视图,通过系统上下文图及用例图进行分析;流程视图,通过业务流程图、活动图、时序图进行分析;数据视图,通过系统数据流图进行分析。最后,进行了类设计和数据库设计。
3.1 组织机构管理功能设计endprint
系统采用RBAC模型进行组织机构管理功能设计,主要包括用户类、角色类、权限类,以及用户角色关联类、角色权限关联类。其中用户类,字段包含用户的基本信息,如用户名、密码、姓名等,操作有增加、删除和修改等;角色类,字段包含角色名和为其分配的权限,操作有增加、删除等;权限类,字段包括权限名、权限说明和权限内容;关联类主要记录了用户角色权限等详细分配信息。此外,Activiti工作流提供了流程角色组设置,弥补了单纯RBAC在精细化控制上的不足,实现了具体到个人和节点的细致管理。
3.2 文件流转流程设计
根据需求分析结果,系统主要实现了文件传阅与办理、文件起草与签发、文件归档与存储三个工作流程。系统以Activiti工作流引擎作为系统工作流框架,Activiti是基于BPMN2.0标准的开源工作流引擎,具有嵌入便利、流程设计可视化、运行效率高、兼容性好等优点,文章使用Activiti提供的Modeler工具完成了上述工作流的具体设计,详细定义了工作流程的发起、流转、判定、结束等。
业务流程中主要设计以下类:文件传阅类、文件起草类、文件存档类,用以管理文件不同流转过程中的记录信息。同时,以上各文件类都要依赖于Activiti提供的流程实例类,该类为每项业务实例进行唯一标识。系统还包括附件类、审批意见类等,用以支持业务流程过程中的文件上传与记录审批意见。
3.3 文件存储功能设计
Apache Jackrabbit是一种适用于JCR2.0标准的开源文件仓库,其本质上是一种面向文档的数据库,具有树状结构,类似于UNIX文件系统。在文件存储时jackrabbit提供xml加密,同时在数据库中只保存文件的标识码,实际的文件内容加密存储在树状仓库的节点下,需要时再依据标识码来获取原文件。
此处以发起文件传阅流程中的文件上传为例,其实现顺序为:办公室干部登录收文,进入开始传阅页面,选择文件并点击上传,文件内容上传至文件仓库,随后生成并返回文件标识。用户提交后,新增传阅记录,同时标识值连同用户信息一起存储至附件表中,文件上传结束,流程实例开始。
3.4 扩展性与安全性设计
Jackrabbit具备分布式部署能力,本身具备扩展性。系统安全性方面采取了多种措施共同控制:一是Jackrabbit提供的xml加密传输,以及文件内容与数据库相分离的策略,极大提升了传输和存储安全性;二是系统采用RBAC模型,设置用户角色权限,采用用户名密码及验证码的方式保护登录安全;三是单位自建服务器,搭建于单位内部局域网络,与外部网络隔离连接;四是在单位对外网络连接接口设立物理防火墙,并设置路由器IP/MAC绑定,进行数据包传输控制,进一步防止意外泄密。
4 系统实现与测试
系统采用B/S结构,开发平台为Eclipse,基于Java web开发,搭载了Activiti工作流引擎和Jackrabbit文件仓库,数据库采用MySQL,浏览器环境为IE 8.0。系统实现后,首先测试了系统的组织管理功能、文件传阅与办理、文件起草与签发、文件归档与存储功能,均通过测试。然后,使用loadrunner进行了性能测试,从并发数、响应时间、处理速度、CPU使用率等方面均表现优良。测试表明,系统实现了初始设计功能目标,可满足实际应用的需求。
5 结束语
本文为基层行政事业单位提供了一种基于Activiti+Jackrabbit的文件流转系统解决方案。该系统控制方法多样,系统功能清晰,用户体验良好,具备较强的扩展性和安全性。通过文件流转系统可以有效提高事业单位的文件处理质量,降低纸张等的消耗,同时避免了文件遗漏、丢失等事故的发生,对于事业单位推进无纸化、信息化具有很大的促进作用。
参考文献:
[1] 楊恩雄.疯狂Workflow讲义:基于Activiti的工作流应用开发[M].电子工业出版社,2014.
[2] 徐金虎,宋斌,丁锐.Spring MVC+Hibernate+jQeury模式开发框架应用研究[J].自动化技术与用,2015,34(3):42-46.
[3] 魏浩.Jackrabbit以MongoDB为底层存储系统架构的设计与应用[D].电子科技大学,2015.endprint