基于Struts的政务信息资源目录体系的研究
来源:CIO时代 更新时间:2012-04-14

 
  引言

  自20世纪90 年代以来,国家领导小组对发展重点进行了全面部署,政务信息化在我国得到了前所未有的发展.但我国的电子政务经过多年的发展,仍然存在很多问题,尤其是政务部门间信息交换和共享困难,严重影响了电子政务整体效能的发挥,政务信息资源目录体系与交换体系的提出为解决问题找到了出路。

  本文从政务信息资源目录体系标准及我国政务的现状出发,结合现有的J2EE技术、数据库技术、LDAP技术、 计算机数据加密技术、网络安全技术 分析 了 目录体系的总体架构,提出了组成目录体系的4个子系统,包括编目系统、目录报送系统、目录管理系统及目录发布系统,并对各子系统进行了详细的设计和分析体系架构.

  1、体系架构

  整个目录体系分为4 个系统:编目系统 、目录报送系统、目录管理系统及目录服务系统。编目系统负责从不同形态的政务信息资源中抽取出元数据,生成政务信息资源目录 ;目录报送系统负责将生成的资源目录报送到目录中心, 实现目录传送; 目录管理系统实现对目录中心目录数据服务的集中管理,包括目录互访、目录管理 、系统管理等功能;目录服务系统将目录按照多种分类方式发布到政务目录中心 、网站供使用者进行浏览,并提供多种查询方式。

  目前 对于一个市级行政单位,市级政府下属多个区县级政府,各级政府又包括很多下属的政务部门, 因此,采用两层体系架构,设置市级服务中心节点和区县级服务中心节点, 各级目录节点负责管理各级政府的目录数据,数据的主要来源通过各级政务部门进行报送,由各级政府进行统 一 审查、发布和管理。 系统架构如图1 所示:

image002

  在目录体系设计中,为节省客户端应用程序的开发成本,提高整个系统的开发效率,各系统均采用了Browser/Server模式作为Web服务器,后台数据库采用Oracle9i,Servlet,Javabean等Struts组件通过JDBC直接与数据库服务器进行通信.对于安全性要求较高的目录管理系统提供了基于SSL的Web访问方式,提高了系统的安全性和可靠性. 在报送系统中,由于任意时刻可能会有很多目录数据同时提交到服务器,为了避免服务器因响应速度过慢而造成数据丢失使用了消息队列机制.

  2、系统功能设计与实现

  整个目录体系的工作流程是工作人员通过编目系统从不同形态的政务信息资源中获取元数据,生成政务信息资源目录,编目完成的目录存储在编目数据库中,其数据通过桥接功能存储到部门前置机的数据库中,目录报送系统将各部门前置机上的目录数据注册到相应的目录中心,存储到接收数据库中,目录管理系统实现对接收数据库中的目录进行自动有效性审核,合格的目录则进人发布流程, 实现目录的自动发布,不合格的目录反馈给中心管理员进行处理,管理员可以进行目录数据修改或者将目录退回给相应的政务部门,目录服务系统通过访问目录发现接口,实现目录的Web发布,用户通过网页浏览与查询实现目录的浏览与查询,系统的工作流程如图2所示:

image004

 

  2、1 编目系统

  编目系统采用了Struts框架结构进行开发。提供者手工获取数据并生成目录。编目系统布署于资源提供部门,其不但可以向目录管理中心提供目录数据还可作为部门内部资源管理工具使用。系统主要包括以下几个功能模块:(1)目录生成模块,提供者通过JSP页面录入数据,数据提交到编目服务器后经Servlet转交给相应的Javabean进行处理 ,Javabean为目录数据生成一个LDAP格式的资源ID,最终将目录数据及资源存储到编目数据库,实现对政务信息资源的手工编目功能. (2)编目管理模块,用于管理本部门内部的生成的目录数据,主要包括 目录检查、目录日常维护以及目录向前置机转储等功能(3) 配置管理模块,包括用户管理及日至管理,由于对数据的管理需要进行身份验证,系统提供了角色管理及用户管理,角色与用户之间具有多对多关系,日志是记录系统运行状态、用户操作记录的重要方法,通过Struts所提供的Log功能来实现系统日志、数据库操作日志及用户操作日志。

  编目系统主要功能是完成目录信息的录人及生成,其实现了权限验证及日至管理的功能,提高了编目系统的安全性,当系统发生异常时便于找到错误的原因及事件责任人,使错误得到尽快处理。

  2、2 目录报送系统

  目录报送系统主要完成政务部门前置机上的目录数据向目录中心的报送功能,同时为了实现报送系统与编目系统之间的松藕合,明确划分系统边界在编目系统与前置机系统之间实现信息交换桥接功能。 目录报送系统包括2个主要模块:(1)信息交换桥接,完成编目系统目录库向部门前置机中目录库的转储及实现目录中心退回的不合法目录数据向编目系统目录库的转储。(2)信息报送引擎,采用了IBM MQ作为消息中间件,负责从各个部门前置机中提取目录信息,实现目录信息在政务部门与目录管理中心之间可靠安全的自动传输。同时将不可信数据自动分发,将未通过目录管理中心审核的目录信息分发给相应的政务部门前置机。目录报送系统的流程如图3所示;

image006

  2、3 目录管理系统

  目录管理系统主要目的是为了构筑一个统一的数据管理平台,并对外提供服务目录管理系统包括如下接口:(1)目录数据管理接口,用于管理报送系统报送到目录管理中心的目录数据的检查、 发布、审计 ,同时还管理当前目录管理中心下属分中心节点的创建、维护、删除等,保证了整个目录体系的灵活性,(2)目录发现接口负责为目录服务系统及其他目录中心提供服务。目数据管理接口及目录数据发现接口应满足《政务信息资源目录体系 第二部分 技术要求 》的要求。 目录数据通过目录管理系统的整合构成了一个在逻辑上集中,物理上分散的统一系统 解决了在分布部署的情况下数据中心之间的互连互访问题各个目录中心内部系统可以是异构的,但必须提供目录体标准接从而实现互访。

  在目录管理系统中接收数据库是上级目录节点与下级目录节点协作的重点 ,有审核通过的目录数据才会存储到目录中心的存储数据库上并最终发布而审核未通过的数据通过SetpubDataInvalid方法将其设置为无效并分发给相应的政务部门进行处理,审核分为自动审核和手动审核两种,自动审核未通过的数据可以通过手动审核得到进一步的确认 ,也可以在手动审核阶段改动错误目录数据使其效。 信息报送系统在12h定期查收数据库中无效的目录数据,将其退回给提供者重新审核后报送。

  目录管理系统中包括接收数据库,存储数据库及发布数据库 ,对于数据的安全性要求很高 因此不仅提供了日志管理功能 ,还采用了数据备份安全策略 ,在原始数据丢失或遭到破坏的情况下,利用备份数据恢复系统使系统正常工作。

  目录管理系统部署与各级目录中心供目录中心工作人员使用,系统要求在浏览器与服务器之间建立一个安全的连接,并且需要对用户的身份进行验证 ,因此采用了SSL机制配置服务器并为每个工作人员分配SSL证书.

  2、4 目录服务系统

  目录服务系主要目的是为了向外界提供以WEB的HTTP动态网页形式为主的目录数据发布服务,目录服务系统将用户的查询发现要求提供给目录服务系统并将其返回的结果以HTTP网页的方式回馈给用户。目录服务系统提供目录查询、目录浏览及目录导航的功能,用户可以通过属性和关键字查找两种方式进行目录查询,也可以通过页面上的树型目录结构找到目录浏览找到目录信息,通过目录查询和浏览 ,根据目录树的展开状态完成正向目录导航和反向目录导航。

  目录查询是目录服务系统中最主要的功能,它以Web应用程序作为前台进行开发,采用Struts框架结构 ,用户在Web页面提交查询关键字后通过自定义SearchActionFrom类封装,然后通过Mapping找到SearchAction处理,其通过 JBSearchPubData类对数据库完成查找后,将与用户关键匹配的目录数据返回给用户,其中的JBSearchPubData是一个Javabean。

  3、关键技术及其实现

  3 、1 SSL和Tomcat的集成

  (1)安全套接字层 (SSL)是一套提供身份验证保密性和数据完整性的加密技术,SSL最常用来在Web浏览器和Web服务器之间建立安全通信通道,它也可以在客户端应用程序和Web服务器之间使用.

  (2)整个系统以Tomcat作为单独的Web服务器,为支持SSL通信 必须为Web服务器配置SSL证书,包括生成证书 、申请、提交证书申请、颁发证书 、在服务器上安装证书和将资源配置为要求SSL访问几个步骤。

  3、2 用户权限验证

  在整个目录体系的各个系统中,均使用了用户权限验证,对于不同的角色分配其对于不同模块或程序的访问权限,而用户可以属于一或多个角色,通过用户所属角色进行权限验证。用户的角色信息存储在Session中 通过 Session.getAttribute<“roleID”>获得,重要的程序模块分配其一个fuctionID. 在数据库中,存储每个角色拥有权限的全部fuctionID.用户登陆系统后,当调用某个模块时,通过checkroleAuthorication方法进行权限验证.

  3、3 目录中心节点管理

  在目录管理系统中各目录中心节点的名称需要具有唯一性,并且能够体现出各级节点的所属关系, 因此采用了以LDAP格式的编码标准,以ou作为名称前缀, 以目录中心节点的父节点名称作为BaseDN.

  4、结论

  采用Struts框架开发的政务信息资源目录系统具有灵活的可操作性,已经在几个试点城市上线使用,实验结果表明本系统较之传统的政务信息系统在政务信息的提交、报送、管理及发布等方面有着很高的效率,使用消息中间件保证了数据传输的可靠性,避免数据保存本地造成的资源浪费 ,同时SSL的使用保证了数据的安全性.本系统具有良好的可扩展性和移植性 维护成本低 在其他行业也有良好的应用前景。