基于站群技术的市级纠风管理系统设计与实现
2013-10-17梁智学齐立磊
梁智学,齐立磊
(南阳理工学院软件学院,河南 南阳 473000)
0 引言
随着信息化技术的发展,作为电子政务系统的一部分,纠风工作也需要加快信息化建设。在国务院纠风办提出“创新政风行风评议方式方法、创新评议载体、提高评议工作科学性”的背景下,南阳市政府纠风办把电子信息化技术应用到纠风工作中,扩大纠风工作的宣传面,为广大群众提供一个阅读、互动的平台,使广大群众的投诉、意见、建议等能够得以充分地表达。
目前的纠风系统存在各部门重复建设,比如各区、各县、各市直单位、各区直单位等都需进行相应的纠风工作信息化建设,造成大量的资源浪费。同时,由于各单位在信息化建设的过程中,多由本单位自行建设,独立运行,各系统之间不能有效地互通,各部门间的资源、信息不能共享,形成了一个个“信息孤岛”。如何能够避免各部门的重复建设,实现信息共享及流通,最大限度地发挥信息资源的利用价值,切实提高纠风工作的效率,是纠风工作信息化建设需要思考解决的问题。
南阳市纠风工作涉及多个纠风参评单位和部门,如南阳市下辖的17个区县、50多家政府部门及机构、50多家公共服务行业单位、80多家医院、40多所学校以及参评的市直单位、区直单位、县直单位等。如果各个部门都进行纠风工作的信息化建设,势必会形成大量的重复建设,造成资源浪费。同时,众多部门的各自建设,将会导致各部门的信息无法共享或流转,内容无法统一管理等问题。
本文将站群技术引入到南阳市纠风管理系统的设计中,有效地避免了分散建设带来的各种问题。
1 系统功能分析
南阳市纠风管理系统由市纠风办主站和各纠风参评单位(包括各县区、各乡镇、各市直、区直、县直单位)的二级或三级子站组成。每个子站的栏目设置由主站统一管理,子站的信息内容由各参评单位独立管理,系统的权限根据角色实行分级管理,不同角色的人员具有不同的权限,总管理员可以灵活分配各种角色的具体权限。主站和子站以及子站之间可进行相关的公文传递、数据共享等。针对群众反映的各种投诉案件,主站可根据投诉的实际情况设置不同的投诉批转、处理流程,使群众反映的问题能够得到及时、有效的解决。主站和各子站主要由前台显示和后台管理两部分组成,均通过互联网实现。其主要功能如图1所示。
图1 纠风管理系统功能图
前台显示包括最新公告、本地动态、纠风简报、政务公开、结果反馈等栏目,分市、县、乡三类,供广大人民群众学习、浏览、沟通、交流、政策咨询和反映问题使用。后台管理包括部门管理、人员管理、诉求管理、新闻类别管理、新闻管理等功能,为各纠风单位提供相应的办公功能。管理员可以进行不同的前台显示模版的选择,定制前台页面显示的栏目等操作。
诉求管理是纠风管理系统的核心功能,可以分未处理诉求管理、处理中诉求管理、已处理诉求管理、对外发布诉求管理、无效诉求等。各级管理员在未处理诉求中可查看到群众反映的未处理的投诉或者转办来的投诉,进行处理,无效诉求可进行删除,也可联系投诉人补充相应的投诉材料。如果为有效诉求,管理员根据实际情况设置投诉处理流程,批转到相应的处理部门,并设置其处理时间,相应部门进行处理,并反馈处理结果至纠风办。纠风办根据其处理结果对外发布,供投诉人进行查看并进行评议。
政风行风评议是纠风管理系统设置的政风行风建设和民主评议功能。通过该功能各参评单位发布政风行风建设工作动态、服务承诺及相关内容,为政风日常评议提供依据。同时,通过该功能可以对政府部门和行业及重点岗位、学校、医院等单位进行网上日常评议和集中评议。
结果反馈是指各纠风单位对群众的投诉进行及时处理后,把处理结果通过该平台进行公布,接受群众监督,同时投诉人可以对投诉处理结果进行评议打分。
专项治理是指治理教育乱收费、治理医药购销和医疗服务中的不正之风、治理公路“三乱”等。广大群众可通过浏览这些专栏了解各项工作的动态,可以对涉及群众切身利益的热点问题发表看法。
办理排行是各县、区、纠风参评单位关于纠风工作的一个综合量化排名,主要包括对投诉处理的及时率,投诉人的满意率、投诉的总数量等指标。
其处理流程如图2所示。
图2 网上投诉办理流程图
2 基于站群技术的架构设计
2.1 站群系统概述及其特点
站群是指统一部署、统一标准,建立在统一技术架构基础之上,分级管理、分散维护,耦合程度高,信息可以实现基于特定权限共享呈送的“一群网站”[1]。
子网站群的发展大致可以有以下几个阶段[2]:
第一阶段是形成自然的网站群。这个阶段特点是个网站之间是无序的、独立的。
第二阶段是对网站在栏目、页面风格等方面进行统一的整体规划,但各网站之间存在隶属关系,且各个网站相互独立,信息不能共享。这个时候网站群的特点是风格、样式等外在统一,但信息还是孤立,无法有效地共享。
第三阶段是实施网站群的整合。因业务整合的需要将分散在不同地理位置的独立网站整合在一起,实现信息的共享。此阶段形成的网站群,内容信息还不能被充分地交换和共享,没有统一用户管理,无法做到整个网站群的联合全文检索。
第四阶段是充分利用数据共享和交换技术,以解决第三代网站群存在的缺陷。所有的网站运行实现统一的标准接口,可以统一管理、智能化。
在系统应用开发过程中,引入站群技术,可以使门户主站和各级部门的网站构成一个整体,彼此不再孤立。用户只要在门户主站登录就可以访问各个部门的站点,获得一致的信息服务。同时,在系统内部的管理上,实现统一权限分配、统一导航、统一搜索、统一站点管理等,消除“信息孤岛”,降低系统的开发、管理、维护成本。
目前,网站群系统主要包括站点管理、内容管理和权限管理3个部分,所采用的技术主要包括虚拟主机配置、动态网站技术、静态网站生成技术、身份认证技术等,同时网站群系统还要考虑与单位内部现有基础框架和应用系统的集成[3]。
2.2 纠风管理系统的架构
在进行系统的体系结构设计时,采用系统分层思想,提高系统的逻辑性和可维护性。把纠风管理系统分为4层:用户层、服务层、功能层和数据层。针对该4层体系结构,在进行技术架构设计时,根据安全、稳定、分层的思想,选取J2EE作为系统开发的平台,选择使用SSH2(Struts2+Spring+Hibernate)作为该系统的技术架构,同时综合使用JQuery、Ajax、JBPM等技术。其体系结构如图3所示。
图3 系统体系结构图
3 系统实现的关键技术
3.1 基于Open Source的SSH2框架
SSH2(Struts2+Spring+Hibernate)是目前较为流行的JavaWeb开发的开源框架,它很好地体现了项目设计时的分层思想,Struts2框架结合JQuery和Ajax技术实现纠风管理系统的用户层,Spring框架结合JBPM工作流引擎实现系统的业务逻辑层,Hibernate框架结合JBPM工作流引擎技术实现系统的数据层。利用三层开源的SSH2架构,能够增强项目的灵活性、稳定性和健壮性。
在三层架构中,Hibernate负责项目的领域模型层,Spring负责项目的业务逻辑层,Struts 2.0负责项目的表现层。本系统采用MyEclipse 7.5作为开发工具,在MyEclipse工具下整合SSH2框架较为简单,根据向导依次添加 Hibernate 3.2、Spring 2.0框架的支持,然后把 Struts 2.0 的 commons-logging-1.0.4.jar、freemarker-2.3.8.jar、ognl-2.6.11.jar、struts2-core-2.0.14.jar、xwork-2.0.7.jar五个包加入到项目的 lib下。由于 Spring 中的 cglib-nodep-2.x.x.jar与 Hibernate中的 cglib-2.2.jar相冲突,删除 Hibernate中的cglib-2.2.jar即可。配置完成后,模型层对应于包com.nyjfweb.model,业务逻辑层对应于包 com.nyjfweb.manager,其接口的实现对应于 com.nyjfweb.manager.impl,表现层由Struts 2中的Action负责管理调用。
3.2 基于JBPM的流程控制
群众诉求的及时处理是纠风管理系统的一个重要功能,而诉求的处理流程需要根据诉求的问题实际情况发生变化,比如当诉求相对较少的时候,所有诉求包括对二级部门的诉求都经过市纠风办进行转办,诉求处理部门反馈处理结果。当诉求量比较大时,二级部门的诉求单独形成另外的诉求处理流程。考虑到诉求处理的可扩展性,未来的三级部门的诉求处理也可能是新的流程。即使对于同一级部门的诉求处理,也可能会因内容的不同而采用不同的诉求工作流进行处理。
如果采用传统的工作流处理方式,把所有的工作流都定义成静态的流程,采用硬编码的形式去实现,这就造成如果项目在运行的过程中,流程发生新的变化,其修改就变得比较困难,同时工作量也比较大,开发效率也比较低,项目的可扩展性也比较差。
JBPM是一个基于Java的开源的工作流引擎[4],它支持工作流在运行时改变和扩展。在纠风管理系统中,采用JBMP工作流引擎技术,能够增加诉求处理流程的灵活性,又能为未来的扩展提供便利,同时也提高了软件的开发周期及其软件产品的灵活性。
在本系统中,使用JBPM 4.4开发的流程如下:
(1)通过MyEclipse把JBPM整合到SSH2框架中。
在工程中的lib中加入相应的JBPM的jar包,如:jbpm.jar、juel-api.jar、juel-engine.jar、juel-impl.jar、mail.jar等。修改配置文件 hibernate.cfg.xml,添加JBPM的映射配置以及缓存属性的配置。同时修改 Spring的配置文件 ApplicationContext.xml,加入如下代码:
(2)JBPM的数据库生成。
对于数据库的创建可以使用Hibernate来创建,设置 hibernate.hbm2ddl.auto,也可以手动创建数据库,执行jbpm_home/install/src/db/create下的脚本。
(3)业务流程的设计。
业务流程的设计有两种方式:(1)使用JPDL语法手工创建XML文件;(2)采用可视化的建模工具。手工方式在对复杂流程建模时存在不足,本系统基于MyEclipse 7.5,使用JBPM的可视化建模工具对系统的业务流程进行建模。
在把JBMP可视化建模工具安装到MyEclipse后,就可以进行可视化的业务流程设计工作。需要注意的是,在使用 MyEclipse 7.5+JBPM 4.4进行可视化业务流建模时,生成的XML文件对中文不支持,需要在myclipse.ini添加语句-Dfile.encoding=UTF-8 至文件尾即可解决该问题。系统中投诉处理过程的流程定义如图4所示。
图4 投诉流程定义图
利用可视化流程建模工具对投诉流程建模完成后,对应的流程定义XML文件自动生成。
(4)流程的部署发布。
JBPM的流程发布有两种方式[5]:(1)简单的方式,只发布流程定义文件;(2)完整的发布方式,是将流程文件从设计器中导出为一个zip包文件(包括流程定义文件、gpd.xml以及 processimage.jpg),然后利用应用程序将其发布到数据库中,其核心代码如下:
3.3 Ajax技术
Ajax技术是使用JavaScript技术和XML数据格式实现客户端和服务器端进行异步通信技术的一种方法。在系统中,使用Ajax技术,能够在页面无刷新的情况下实现与服务器通信,增强用户体验。同时能够利用客户端的处理能力,减轻服务器和带宽负担,减少冗余数据的现实,提高效率。
比如在用户利用该系统进行投诉时,需要对投诉单位进行选择,投诉单位为二级级联的select框。在实现此功能时,使用Ajax技术,根据用户选择的一级select框的值异步请求服务器进行对应的二级内容的查询,然后返回给客户端,客户端解析返回结果,显示到页面上。其JavaScript解析返回结果并显示到页面上的函数如下:
4 结束语
本文将站群技术引入到纠风管理系统中,有效地解决了各纠风单位的“信息孤岛”问题,实现了信息的共享。基于开源的SSH2三层架构为市级纠风管理站群系统提供了理想的架构模式。综合使用分级权限管理、JBPM工作流引擎、报表处理等技术,使系统具有灵活的权限配置、流程配置、站群模版自选、支持动态扩展、报表丰富等特点。
目前,基于站群技术的南阳市纠风管理系统已成功投入到使用中,项目运行平稳。此方案的成功开发和应用有效地提高了纠风管理工作的效率,为各级纠风管理站群系统的开发提供了一种有效的解决方案。
[1]陈向东.新一代站群系统的特点及构建实例[J].北华大学学报:自然科学版,2011,12(3):359-362.
[2]葛世海.基于J2EE站群管理平台的设计与实现[D].成都:电子科技大学,2010.
[3]张海攀,许墨.多内容管理系统的网站群系统设计与实现[J].中国教育信息化:高教职教,2011(12):69-70,82.
[4]宗传玉,刘旸,高亮,等.JBPM在OA工作流中的研究与应用[J].微处理机,2011,32(6):45-47,51.
[5]张瑞,罗金涛.JBPM工作流引擎在OA中的应用研究[J].电子设计工程,2012,20(17):26-28.
[6]邹银马,赵喆.基于S2Si+jQuery框架的科技查新平台的设计与实现[J].计算机与现代化,2012(6):212-214,220.
[7]王水,梁智学.市级公安警务系统整合的架构分析与设计[J].计算机工程与设计,2009,30(3):773-775.
[8]谭莹宇.基于Hibernate JPA和JQuery框架的数据查询研究与实现[J].计算机与现代化,2012(1):196-198.
[9]王涛,周学文.基于jQuery+Ajax框架的气象区域站实时数据监控设计[J].电脑编程技巧与维护,2012(18):76-77.
[10]陈志英.云计算下网站群架构安全性设计应用分析[J].信息通信,2012(2):174.
[11]顾炳中,叶兴茂,咸容禹,等.国土资源部门户网站群内容管理体系的设计[J].国土资源信息化,2012(1):8-14.
[12]徐晓婧,谢敏,刘畅.基于网站群理念和架构的国家土地监察网站群建设实践[J].国土资源信息化,2012(1):20-24.
[13]褚芸芸,章增安.基于SOA的学科网站群设计研究[J].中国教育信息化:高教职教,2012(2):37-39.
[14]丛培民.云计算架构下的网站群应用实践[J].计算机系统应用,2012,21(2):5-8.
[15]胡平,刘涛,李钧.基于SSH/JBPM的办公自动化系统[J].工业控制计算机,2011,24(12):85-87.
[16]杜义华,张亚.中国科学院网站群建设的系统工程方法[J].计算机系统应用,2012,21(1):17-20.