摘 要:本文在對傳統醫保系統的深入分析基礎上,針對傳統醫保系統存在的開發效率低下、系統集成困難等一系列的問題,提出面向服務體系架構的解決方法。利用其松耦合、異構性、動態性、可重組等特點,達到使系統軟件靈活適應各個地方,各個時期,不同醫保制度的目的,并在此基礎上設計實現了基于SOA架構的區域醫療系統核心平臺。
關鍵詞:面向服務體系松耦合可重組醫療系統核心平臺
中圖分類號:TP31文獻標識碼:A文章編號:1674-098X(2011)01(a)-0211-02
1 引言
由于我國參保人數眾多,醫保業務不斷變化,醫保險種不斷擴充,因而一套架構完善、功能齊全、適用性強的醫保系統變得極為重要。另外,隨著城市醫保工作的不斷推進,醫保中心所提供的醫保系統與各醫院的信息系統之間會有大量的信息需要交換,如何將兩者有機地結合在一起,使之既符合醫保改革的需求,又適合醫院管理的實際,成為一個突出問題。而傳統設計大多架構僵硬、可擴展性差。同時傳統方式會造成投入大、周期長等問題[l]。另外,技術和業務不能很好的分離造成軟件開發效率低下。并且沒有提供統一的開放性設計架構和接口標準,系統集成方式大部分采用緊耦合方式,降低了應用系統的靈活性,增加了整個系統維護的難度。
因此本文在分析傳統醫保系統存在的問題的基礎上,提出面向服務架構的方法,利用其服務組件架構服務組合的特點,解決其開發效率低下、系統集成困難等一系列的問題。
2 基于SOA架構的醫保系統提出
社會醫保的全面實施,是一項復雜的社會系統工程,它涉及到企業、醫療、醫療管理等機構,涉及職工個人在投保、就醫、補償等多個環節,涉及到大量信息管理、復雜的計算方法及遠程數據傳遞。由于參保人數多,參?;颊叩木歪t費用結算關系復雜,醫療保險制度又處在不斷發展和完善的過程中,只要醫保政策一變化,相關軟件就必須作相應的修改,而SOA的思路可以為醫院端與醫保系統的聯網整合提出一個良好的解決方案。
面向服務架構SOA是以業務驅動的[2],以業務為核心的軟件體系架構。SOA是包含運行環境、編程模型、架構風格和相關方法論等在內的一整套新的分布式軟件系統構造方法和環境,涵蓋服務的整個生命周期。面向服務架構具有松耦合、異構性、可重用等優點,這些優勢能夠對醫保軟件集成中忽視業務流程集成,集成平臺缺乏靈活性和適應性、擴展性差等問題提出很好的解決方案。
考慮到醫保系統的應用背景和發展趨勢,綜合分析了醫保系統的特點以及系統松耦合、粗粒度、方便管理和運行效率等要求,設計了分層的面向服務體系結構實現社保功能。如圖1所示。
在圖1架構體系中,總體上分為表示層、服務層、業務邏輯層、持久化層。表示層利用技術JSP+DOJO庫,服務層利用SCA的JSON-RPC綁定溝通前后服務,服務組件層則由SCA業務組件完成業務邏輯,持久化層采用SDO技術持久化數據。本文主要設計研究SCA服務部分。
3 SCA服務的設計
3.1 SCA技術研究
SCA及服務組件架構,是一種簡化SOA中的應用程序開發和實現的新技術,它提供了一套可構建基于面向服務的應用系統的編程模型,其核心概念是服務(service)及其相關實現(implemention)。SCA將業務功能作為一系列的服務構件composite提供,并由這一系列的服務構件組裝起來的解決方案來滿足特定業務需求。另外支持對原有業務流程的提取與包裝,借助其服務及相關實現將現有IT資產轉化為可重用服務,適應不斷變化的業務需求。
3.2 SCA實現醫保組件
SCA設計模型將醫保系統各個業務功能模塊構建成一個個服務,由配置文件composite文件對各個服務進行配置。這些服務共享系統靜態數據(如基礎檔案等)和動態數據(如基金征繳、結算數據等)。原子服務之間無控制與依賴關系,但構件服務可對外提供服務(service)和引用(reference)其他服務,保證了服務具備優良的可重用,可組裝,與可替換性。而且,一旦業務發生變化,只需替換相應的服務(即改變配置文件composite的配置)即可,不會對系統的其它部分產生影響。
SCA組件的建立方法,確定了SCA組件對這些組合的應用既包括為應用而新創建的特定服務構件(本文為JAVA類),也包括從已存在系統和應用的業務邏輯包裝成的服務構件(已有的JS文件及WEB資源等其他實現方式的資源),這些業務邏輯作為服務構件的一部分被復用。并提供了可以采用各種通訊和服務訪問技術及包容各種實現技術的業務級接口。
最后在服務層利用SCA的JSON-RPC綁定技術實現前后臺的數據傳輸與回調,使SCA服務在前臺界面反饋。
4 分析與實現
結合醫保系統的應用背景、需求和發展趨勢,分析設計了具有表示層、服務層、業務邏輯層、持久化層四層的面向服務體系架構的醫保系統。在表示層技術實現用JSP+JS,采用dojo庫作為界面輔助開發庫。在服務層利用SCA的JSON-RPC綁定技術實現前后臺的數據傳輸與回調。利用JAVA反射機制從數據庫中根據業務編號提取類名與方法名映射實例。
采用JAVA實現作為服務組件的實現技術,采用SCA綁定,JSON-RPC綁定及WS綁定作為服務組件的綁定技術以對外提供服務。以藥品信息管理為例,以下是composite文件部分配置代碼:
…
Druginfo類的部分實現代碼:
@Reference
protected SysSDO sysSDO=new SysSDO();
public ClientCommandupdateDrug(DataStores datastore) throws Exception{
CommitResult Result =DataObjectInterfaceImpl.convert2DataObjects(datastore);
…
5 結語
以服務組件技術實現面向服務架構的醫保系統為基礎進行了一系列的研究工作。SCA以服務封裝技術實現了語言無關的服務組件編程模型,分離應用的業務邏輯和IT邏輯,構建了易于更改和部署的應用,提高IT部門的效率,縮短開發周期。以JSON-RPC服務和Web Service作為SOA的實現實例,實現了系統內部與異構系統間的方便靈活集成。本文初步研究實現了在醫保領域構建與部署SOA應用。
參考文獻
[1] 王志東,楊云,劉志基.J:SOA架構的軍隊后勤信息系統綜合集成研究[J].國防技術基礎,2009,5:41~46.
[2] 王紫瑤,南俊杰,段紫輝,等.SOA核心技術及應用[M].北京:電子工業出版社,2008.