政务数据中心的建设和管理走向标准化、规范化、科学化、信息化已经成为政务数据中心面临的一项十分紧迫而重要的任务。
通过建立政务数据中心的运维管理系统能够使工程服务管理、政务项目管理、运维故障管理、设备资源管理、机房值班与巡视管理、查询与统计管理、合同与文档管理、工作计划与安排管理、系统后台维护管理等工作科学化、信息化、规范化、高效化。主要体现在以下两个方面:一方面是提高管理水平,及时掌握和了解信息资源的利用情况,动态掌握和了解政务项目的立项和审核,以及执行情况,随时掌握和了解工程服务申请和进展情况等;另一方面是提高工作效率,通过网络工作平台,实现跨区域、跨部门的网上办公,大大增加和机关部门之间的沟通能力,通过邮件和短信通知功能,大大减少口头沟通次数,而且有利于改善服务支持,迅速准确地进行服务供需的动态分析,为政府机关提供更加优质的服务。
运维系统总体架构
政务数据中心是南京市电子政务的重要基础设施。它包括三个体系和三种服务,即运行管理体系、安全保障体系、标准规范体系和技术服务、资源服务、管理服务。而政务数据中心运维管理系统就是为保障和实现数据中心职能的有力可靠的支撑平台。
整个运维管理采用了典型的J2EE三层架构体系,即表现层、业务逻辑层、数据持久层。J2EE体系结构提供中间层集成框架来满足高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对应用程序集成强有力支持,简化和规范多层分布式应用系统的开发和部署,开发者只需要集中精力编写代码来表达应用的商业逻辑和表示逻辑,至于其他系统问题,如内存管理,多线程,资源分布和垃圾收集等,都将由J2EE自动完成。遵照J2EE的三层设计模式,使用ExtJs作为表现层的框架,使用Hibernate作为ORM持久层的框架,使用Spring Security作为系统权限控制的安全框架,数据服务层使用MySQL数据库存放数据,而Spring是作为核心框架来管理和调度系统中所有的业务逻辑组件、DAO组件、表现层组件。Spring框架的作用贯穿三层,通过IOC容器将层实现无缝整合。
运维系统功能与服务
根据南京市政务数据中心运维管理和日常工作的要求,运维系统由工程服务管理、政务项目管理、运维故障管理、设备资源管理、机房值班与巡视管理、查询与统计管理、合同与文档管理、工作计划与安排管理、系统后台维护管理等子系统组成。例如其中工程服务管理用于政务数据中心为全市机关提供多种服务类别的在线申请和办理管理。这些服务类别包括:服务器使用申请、域名申请、网络接入申请、数据库空间申请、存储备份申请、移动办公接入申请、办公系统申请、负载均衡申请、应用软件服务申请、短信网关申请、电子邮箱申请等内容。基本涵盖了政府部门的电子政务建设需求,并实现在线申请,网上审批,网上派工,实施后的登记,验收后的登记,反馈意见的登记,实现了申请和办理的全部工作流程的动态跟踪和考核;设备资源的管理主要是对政务数据中心所管辖的信息资源和设备进行精细化管理,这些资源和设备包括服务器(托管和独立)的管理,IP地址资源的占用情况的管理,存储设备和存储设备分组的管理,虚拟设备以及虚拟集群的管理。应用系统及其占用资源情况的管理,安全设备登记管理、网络设备登记和使用情况管理、托管设备登记管理等;查询和统计管理则提供了对所有入库的数据进行复合条件的查询,并以图形和表格显示出来;系统后台维护管理主要是对系统用户进行管理,对基础库进行维护,同时对权限进行动态管理,使得不同角色的用户使用不同的菜单进行工作;机房值班与巡视管理主要内容是自动生成值班表、轮休表,便于统计和考核,机房出入登记申请、审核、统计以及日常的巡检记录等登记入库,所有报修故障和处理结果登记入库便于回溯和故障知识的积累;工作计划与安排管理主要内容是将年度工作计划,突发任务等各种性质和类别的工作任务分解安排到个人,个人填写工作进度和完成情况,从而主管人员可以动态掌握工作进展,同时个人工作完成任务的效率也可为总结和考核提供量化数据。
三层结构确保系统稳定
整个系统可分为数据库持久层、业务逻辑层和表现层。
在数据库持久层,采用Hibernate框架实现对象与关系的映射。它提供的ORM功能简化了数据库的访问,在JDBC层提供了更好的封装,通过Myeclips工具的逆向工程功能将数据库表转换成POJO类,这样以对象的方式操纵数据库,更加符合面向对象的程序设计思路,无须开发者编写繁琐的SQL语句,执行冗长的多表查询,使用Hibernate支持的QBC语句,按OOP方式对数据库表对象进行操纵,而无须写具体的繁琐的字段名。Hibernate为底层的DAO对象的实现提供支持,而且对于数据库的移植也非常方便,只要修改配置,无须修改代码,降低了异构系统的代价。
在业务逻辑层采用Spring作为MVC框架,大大简化企业级应用开发,同时给复杂问题提供强大的、非侵入性解决方案,Spring提供的IoC容器管理所有的业务逻辑组件,DAO组件,各组件以松耦合的方式组合在一起,组件于组件之间的依赖正是通过Spring的依赖注入管理的。DAO对象都采用面向接口编程的方式,从而降低系统异构的代价。Spring框架为模型、视图、控制器之间提供了一个非常清晰的界限,各部分耦合极低。而且完全基于接口,真正实现了视图无关。Spring2.5的注解功能,大大简少了基于XML的配置工作量,例如无需配置通过注解就能将javaBean实例化。
在表现层采用了ExtJs3.2框架。ExtJs是基于Web的富客户端的AJAX框架,用于创建前端用户界面和,通过AJAX框架我们采用JSON数据交换格式与后台实现异步更新和交互,JSON是一种轻量级的数据交换格式,易于阅读和编写,同时也易于解析和生成。JSON是完全独立于语言的文本格式,因此成为数据交换的理想格式。ExtJs还提供了大量的现成的窗体控件,它提供的表格、树型、布局等控件使得开发B/S结构系统如同开发C/S结构系统一样方便,大大减少了美工人员的工作量。因此使用ExtJs前端开发工具是搭建管理类型网站的首选。而且ExtJs框架也可以自定义组件,通过ExtJs中的Ext.extend()继承函数可以实现自定义组件的派生和扩展。例如可以自定义一个crud的基本组件,包括列表和分页功能,然后在这个基本组件的基础上进行继承以适应不同的数据表的具体要求,从而达到精简程序结构,减少编程工作量的目的。