歐陽國軍 上海鐵路局社保處
社保信息管理系統升級改造研究
歐陽國軍 上海鐵路局社保處
當前,上海鐵路局社保信息管理系統基本實現了各統籌地區“多險合一”的社保綜合管理,在全局社保工作中發揮著重要的作用,但是隨著社保政策、業務流程的不斷更新變化,需要不斷對現有社保管理信息系統的系統功能、業務邏輯進行維護,而現有系統由于系統架構、編程水平等方面的原因,導致系統維護成本變高,難以滿足現階段全局社保管理工作的需求,迫切需要進行升級改造。對該系統升級改造進行了研究。
社保信息管理系統;社保政策;業務流程;升級改造
由于我局地跨山東、江蘇、安徽、上海、浙江四省一市,下屬單位眾多,不同單位的參保險種、參保地區、繳費比例、繳費上下限各不相同,為了進一步加強全局社保管理,實現全局社保信息共享,2010年以來,我局推出了現有社保信息管理系統,統一管理和維護山東、江蘇、安徽、上海、浙江統籌地區的社會保險(養老、醫療、工傷、失業、生育)以及企業年金、企業補充醫保、職工補充醫保等補充保險的信息,包括各單位、職工的參保、封存啟封、終止、繳費、待遇支付等信息,實現了全局社保信息的終端采集、集中處理、內部共享以及按需提取等功能。
為了適應近年來各地社保政策的不斷變化和社保業務經辦流程不斷更新,滿足全局社保工作的需要,迫切需要對現有社保管理信息系統進行升級改造。
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.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.1 升級改造使新系統具有更好的可適應性、可操作性和可擴展性
新系統采用更先進的系統架構設計,在保留原有數據庫架構不變的同時,采用前臺jQuery EasyUI組件庫和后臺struts2.3+spirng3.0+mybatic3.0的先進架構代替原來落后的LARVA分層架構,使新系統能夠更好地適應操作系統的更新換代和當前軟件架構的發展方向,具有更好的適應性、操作性和擴展性。
4.2 升級改造使新系統具有更好的可維護性
現有系統LARVA框架是一個集安全、標簽控制于一體的框架,但是由于其受到license的限制,維護成本高,通過采用開放的jQuery EasyUI組件庫能夠有效地降低維護成本;另外現有系統后期開發和維護人員水平不同,導致系統層次之間調用混亂,系統代碼可維護性差,通過升級改造后規范了系統代碼,簡化維護人員的工作量,使新系統更具可維護性。
4.3 升級改造使新系統具有更好的性能
原系統由于數據庫物理存儲和邏輯結構不盡合理,在處理全局大量社保數據時,效率不是很高,通過系統升級改造,對現有數據庫結構進行了優化,調整數據庫物理存儲和邏輯結構,提高數據庫效率,實現歷史存量數據的遷移存儲,有效地提高應用系統的整體性能。
社保管理信息系統是做好當前全局社保管理工作的重要信息化工具,它實現了通過鐵路內網實時處理社保業務,共享和查詢社保數據,不僅提高了社保業務處理效率,也為社保決策管理提供了及時準確的基礎數據,在全局社保工作中發揮著越來越重要的作用。通過對舊系統的升級改造,將更有利于系統自身的管理和維護,更好地服務全局社保工作。
[1]上海鐵路局社保處,中國工商銀行上海市分行.上海鐵路局企業年金理事會受托暨社保信息管理系統評審材料.2011.
[2]羅晴明,包勇明.jQuery UI開發指南.人民郵電出版社.2012.
[3]李剛.Struts 2.x權威指南.電子工業出版社.2012.
[4]陳雄華,林開雄.Spring 3.x企業應用開發實戰.電子工業出版社.2012.
責任編輯:王 華
來稿日期:2015-08-17