社保信息管理系统升级改造研究
2015-03-28欧阳国军上海铁路局社保处
欧阳国军 上海铁路局社保处
社保信息管理系统升级改造研究
欧阳国军 上海铁路局社保处
当前,上海铁路局社保信息管理系统基本实现了各统筹地区“多险合一”的社保综合管理,在全局社保工作中发挥着重要的作用,但是随着社保政策、业务流程的不断更新变化,需要不断对现有社保管理信息系统的系统功能、业务逻辑进行维护,而现有系统由于系统架构、编程水平等方面的原因,导致系统维护成本变高,难以满足现阶段全局社保管理工作的需求,迫切需要进行升级改造。对该系统升级改造进行了研究。
社保信息管理系统;社保政策;业务流程;升级改造
1 引言
由于我局地跨山东、江苏、安徽、上海、浙江四省一市,下属单位众多,不同单位的参保险种、参保地区、缴费比例、缴费上下限各不相同,为了进一步加强全局社保管理,实现全局社保信息共享,2010年以来,我局推出了现有社保信息管理系统,统一管理和维护山东、江苏、安徽、上海、浙江统筹地区的社会保险(养老、医疗、工伤、失业、生育)以及企业年金、企业补充医保、职工补充医保等补充保险的信息,包括各单位、职工的参保、封存启封、终止、缴费、待遇支付等信息,实现了全局社保信息的终端采集、集中处理、内部共享以及按需提取等功能。
为了适应近年来各地社保政策的不断变化和社保业务经办流程不断更新,满足全局社保工作的需要,迫切需要对现有社保管理信息系统进行升级改造。
2 现有系统概述、架构和存在的问题
2.1 现有系统概述
现有系统采用三层体系结构的B/S(浏览器/服务器)架构,将操作中心下移,管理职能上移,业务操作上以“站段→地区社保中心→路局(社保处)”三级管理的网络操作模式,实现基层操作、中心审核、路局监管,管理上充分体现路局直管站段管理体制的要求。数据库采用集中式数据库技术,通过构建集中的数据管理,实行远程点对点通信,后台采用Oracle数据库系统,建立全局人员信息共享的数据平台。将全局数据存储在社保处数据库服务器中,各下属单位在客户端完成相应的业务数据录入、提交、查询等操作,通过内网直接访问服务器,实现数据实时、动态更新,业务实时控制,数据共享的需求。现有系统运行以来,改变了以往社保管理模式,实现各统筹地区“多险合一”的社保综合管理,通过网络实时处理社保业务,有效提高日常工作效率。
2.2 现有系统设计架构和存在主要问题
2.2.1 现有系统设计架构
现有社保系统的设计架构是早期的公司开发的一套以SPRING为基础的LARVA分层架构,采用MVC模式,将应用分为三层:View Layer、Control Layer、Model Layer(如图1所示)。
图1 Larva分层架构示意图
View Layer:
负责客户端的展现部分,其中组件控制由框架自动完成,jsp页面展现部分需要开发人员自行实现。
Control Layer:
负责页面的初始化控制和事件响应,其中框架提供了page flow engine,java Form及事件响应方法需要开发人员实现。
Model Layer:
有三个对象,Pojo、Service和Dao。Pojo是对各层在数据传递的数据的一个封装;Service把对数据库的调用操作封装起来,提供统一的接口给事件响应类调用,Pojo作为调用时传输的实例;Dao中封装了对数据库操作。在Model这一层,框架提供了事务控制机制,service以方法为边界,将多个数据库访问操作封装在一起作为一个事务提交或回滚。
2.2.2 现有系统存在的主要问题
(1)现有系统开发平台依赖于已经过时的WINDOW XP操作系统。当前铁路社保系统是采用早期的公司开发的一套以SPRING为基础的LARVA平台架构,同时整合早期的IBATIS等一些常用的开源框架,分别负责前端展示、业务逻辑控制和数据访问操作的一个解决方案,包括LARVA标签库、标签控制器、页面流引擎,安全控制,数据库访问,数据导入导出等,系统依赖于IBM RAD6.0开发平台,此平台完全依赖于WINDOW XP操作系统,目前这个操作系统微软公司已经不提供技术支持和BUG更新服务。
(2)现有系统开发平台受到license的限制,维护成本高。前端LARVA框架是一个集安全、标签控制于一体的框架,但是由于其受到license的限制,不能完全发挥出其优势,针对隐藏字段,标签表的单元格不支持容纳多个标签,对多选框的操作处理缺乏灵活性等不能进行扩展。SPRING只负责整合业务逻辑层的数据和接口,导致系统层次不是很清晰,没有统一的接口管理。
(3)现有系统代码可读性差,维护困难。现有系统后期开发和维护人员水平不同,导致系统层次之间调用混乱,系统代码良莠不齐、可读性差。
为了适应近年来各地社保政策的不断变化和社保业务经办流程不断更新,满足全局社保工作的需要,迫切需要对现有社保管理信息系统进行升级改造。
3 系统升级改造
3.1 需求分析
针对现有系统的特点,对于其好的方面,比如审核流程独立于业务流程,数据导入导出模版的应用、存储过程包等,可以在保留其设计思想的基础上,优化和升级相关的代码和jar包,也可以直接采用部分现有系统的代码(如存储过程包),以保证系统升级改造后的顺利过渡;对于现有系统中存在的问题,可以在下面几个方面对系统进行升级改造,以适应操作系统的更新换代和当前软件架构的发展方向,简化开发和维护人员的工作量,使得系统具有更好的可适应性、可操作性,可扩展性和可维护性。
(1)根据现有系统中存在的各个数据表使用IBATIS的升级版本Mybatis3.0和相关工具自动映射生成一套适用于Java编程语言的数据对象模型、数据查询标准和数据操作接口。对象模型作为数据传输对象,在不同业务层次之间进行调用,同时考虑数据展示的特殊需求,对其进行扩展,更好的为前端服务。数据查询标准负责相关SQL查询条件的生成,数据操作接口实现数据的增删改查操作。
(2)将前端LARVA框架变更为轻量级的Struts2开源框架。该框架是在Struts1的基础上以WebWork为核心,采用拦截器的机制来处理用户的请求,使得业务逻辑控制器能够与Servlet API完全脱离开,通过Java反射机制将浏览器数据自动映射到ACTION的实例对象和相关调用方法,可以结合采用XML和申明的方式完成早前繁琐的配置工作,使得开发人员专注于业务处理。
(3)采用SPRING负责整合Struts2框架、Mybatis3.0框架和业务逻辑层业务处理。Spring功能非常的强大,它的控制反转/依赖注入机制,能够省去再次书写工厂模式的工作,实现对控制类、业务逻辑类、数据访问类、以及JNDI或者JDBC数据源的托管;Spring对AOP支持可以简化用户权限控制、事务处理方面的工作量;Spring security登录验证框架的应用简化了开发人员自己设计和开发权限控制代码,开发人员仅需要进行相关的配置并实现相关的服务接口即可完成。根据实际需要也可以将WEBSERVICE服务整合进来,与外部系统实现数据交互。
(4)将前期系统中分散的复杂SQL调用,集中统一到同一配置文件,通过公共的数据操作接口进行处理。简单的SQL应用通过Mybatis3.0生成的数据操作接口统一处理。实现部分界面和功能的整合。
(5)优化数据库结构,调整数据库物理存储和逻辑结构,提高数据库效率,实现历史存量数据的迁移存储,构建合理的数据库,提高应用系统的整体性能。
3.2 系统设计方案
系统的改造设计方案:
(1)原有的业务流程维持不变,如果现有流程不能满足当前业务需求的,可以进行修改。
(2)公共的信息接口不允许修改,但允许地方对特殊需求的字段进行新增和修改。
(3)对前端页面重新开发和设计,对后台架构进行优化和重新整合。
(4)对部分数据库表进行优化和补充字段,特别是对影响性能的历史表进行表空间的迁移。
(5)重新开发通用的数据导入导出模块和银行接口加密模块。
3.3 系统架构设计
系统架构分为前台,后台,与数据库。数据库ORACLE10i保持不变,前台JSP采用jQuery EasyUI组件库,后台采用struts2.3+spirng3.0+mybatic3.0,开发语言是Java6.0以上版本,开发工具采用Eclipse或者相关工具。应用服务器采用Tomcat6.0以上版本(系统架构见图2)。
图2 系统架构图
(1)jQuery EasyUI组件库:处于系统架构的表现层,和LARVA标签库不同,LARVA标签库由后台SEVERLET解析,需要与后台交互的信息更多。而jQuery EasyUI一个浏览器端WEB组件库,完全由浏览器端解析标签,因此减轻了服务器端压力。其除了拥有传统的输入框组件,增加了树形下拉列表,树形表单等常用组件,还集成了AJAX框架,能够轻松实现无跳转更新页面和动态加载数据,是一个更易维护的轻量级标签库。
(2)Struts2.3控制器:处于系统架构的控制层,根据业务功能将页面呈现给用户,既可以处理传统方式提交的参数,还可以处理以JSON格式封装的数据,通过调用JSON类库,轻松将参数数据转换成java数据传输类对象,实现在各个层之间的调用。
(3)Spring3.0容器:在架构图中是出现在业务逻辑层,在这里我们的Struts2.3、Mybatis3.0等组件都是委托给spring容器管理的,实现了系统各层之间的无缝连接。Spring的AOP、事务控制、权限控制,WebService都比较容易整合进来,并且实现简洁方便。
(4)Mybatis3.0持久控件:负责数据的持久化,根据数据库关系表能够生成一套面向表的数据对象模型、数据查询标准和数据操作接口。生成的记录集可以和对象模型同步拓展,数据查询标准负责相关SQL查询条件的生成,数据操作接口实现数据的增删改查操作,还可以定制复杂的SQL语句和存储过程配置在同一文件中,方便查询和调用。
4 效果分析
4.1 升级改造使新系统具有更好的可适应性、可操作性和可扩展性
新系统采用更先进的系统架构设计,在保留原有数据库架构不变的同时,采用前台jQuery EasyUI组件库和后台struts2.3+spirng3.0+mybatic3.0的先进架构代替原来落后的LARVA分层架构,使新系统能够更好地适应操作系统的更新换代和当前软件架构的发展方向,具有更好的适应性、操作性和扩展性。
4.2 升级改造使新系统具有更好的可维护性
现有系统LARVA框架是一个集安全、标签控制于一体的框架,但是由于其受到license的限制,维护成本高,通过采用开放的jQuery EasyUI组件库能够有效地降低维护成本;另外现有系统后期开发和维护人员水平不同,导致系统层次之间调用混乱,系统代码可维护性差,通过升级改造后规范了系统代码,简化维护人员的工作量,使新系统更具可维护性。
4.3 升级改造使新系统具有更好的性能
原系统由于数据库物理存储和逻辑结构不尽合理,在处理全局大量社保数据时,效率不是很高,通过系统升级改造,对现有数据库结构进行了优化,调整数据库物理存储和逻辑结构,提高数据库效率,实现历史存量数据的迁移存储,有效地提高应用系统的整体性能。
5 结束语
社保管理信息系统是做好当前全局社保管理工作的重要信息化工具,它实现了通过铁路内网实时处理社保业务,共享和查询社保数据,不仅提高了社保业务处理效率,也为社保决策管理提供了及时准确的基础数据,在全局社保工作中发挥着越来越重要的作用。通过对旧系统的升级改造,将更有利于系统自身的管理和维护,更好地服务全局社保工作。
[1]上海铁路局社保处,中国工商银行上海市分行.上海铁路局企业年金理事会受托暨社保信息管理系统评审材料.2011.
[2]罗晴明,包勇明.jQuery UI开发指南.人民邮电出版社.2012.
[3]李刚.Struts 2.x权威指南.电子工业出版社.2012.
[4]陈雄华,林开雄.Spring 3.x企业应用开发实战.电子工业出版社.2012.
责任编辑:王 华
来稿日期:2015-08-17