• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 醫療電子 > 設計應用 > NET Remoting 在醫療保險采集系統中的應用與研究

    NET Remoting 在醫療保險采集系統中的應用與研究

    作者: 時間:2012-06-04 來源:網絡 收藏

    以往北京醫療遠程訪問采用DCOM(分布式組件對象模型)技術。隨著系統版本的更新,采用DCOM技術的系統暴露出了大量的缺陷,如部署困難以及新舊版本更新時容易產生DLL地獄問題。. 是DCOM的一種升級。它提供了一種允許對象通過應用程序域與另一對象進行交互的框架,并擴展了通過遠程訪問對象實現分布式應用程序的模型。

    本文引用地址:http://www.czjhyjcfj.com/article/198972.htm

    1 . 結構及原理 1.1 本地過程調用原理

    本地過程調用是通過棧實現的。系統調用過程前首先將過程的參數壓入到棧中,在過程被執行時將棧中的參數取出作為過程的本地變量,并將其返回的結果壓入棧中,這樣就完成了一次過程的調用。如圖1所示。

    1.2 遠程過程調用原理

    不同的應用程序是無法共享同一個線程棧的,因此不同的應用程序之間的過程調用應當采用基于消息的調用機制。在客戶端通過代理對象將過程調用信息封裝到一個消息對象中,再根據需要將這些消息對象轉化成某個格式的數據流發送到遠程對象所在的應用程序域中。當經過格式化的消息到達服務器后,首先從消息中還原出對象,之后在遠程對象所在的應用程序域中構建出相應的過程調用棧,此時就可以按照傳統的基于棧的過程調用機制完成過程的調用,返回結果的傳遞則按照之前的方法反向重復一遍。如圖2所示。

    1.3 . 體系結構

    .NET Remoting 服務器應用程序域由傳輸通道、序列化格式器,服務端對象組成,客戶端應用程序域由客戶端對象、代理、傳輸信道、序列化格式器組成。客戶端代理負責在客戶端處理基于棧的參數傳遞模式到基于消息的參數傳遞模式的轉換。格式化器負責將消息對象轉換成可在網絡上傳輸的數據流,并將其發送到服務器。透明代理是遠程對象的精確副本,真實代理接受透明代理創建的消息并將其通過信道傳遞到遠程對象。.NET Remoting 體系結構如圖3所示。

    1.jpg

    2 應用.NET Remoting 開發分布式系統模型

    分布式程序由若干個可以獨立執行的程序模塊組成,它們分布于一個分布式處理系統的多臺計算機上被同時執行。它有兩個特點:分布性和通信性。開發分布式系統首先是系統應用層次的劃分,N層應用程序將數據庫服務、業務邏輯與用戶界面分開。這樣不僅實現了不同功能模塊的分布式執行從而提高了系統得可擴展性同時也在保證客戶端功能的前提下,為用戶提供一個簡潔的界面因此在應用程序修改時只需要對應用服務器進行修改,而不用修改客戶端應用程序,從而簡化了應用系統的開發、更新和升級工作。應用.NET Remoting 開發N層分布式系統模型如圖4所示。

    圖4 .NET Remoting開發分布式系統模式

    3 北京醫療數據的開發 3.1 北京醫療數據體系結構

    醫療保險數據采集系統主要實現各區、街道及公司的參加醫療保險人員的信息采集。系統由數據采集客戶端、數據處理服務器、數據存儲服務器及安全服務器四部分組成如圖5所示。系統各部分的功能如下:

    (1) 數據采集客戶端:各街道、區的主要負責人通過數據采集客戶端匯總本地區的參加醫療保險人員的基本信息。

    (2) 業務處理服務器:匯總的人員信息通過業務處理服務器完成數據的處理。如在人員信息修改時完成數據的更新、報盤。

    (3) 數據存儲服務器:完成數據的存儲與一致性校驗。

    (4) 系統安全服務器:保障數據采集系統的安全。

    圖5 醫療保險數據采集系統體系結構

    3.2 .NET Remoting在數據采集系統中的應用

    3.2.1 異構數據庫訪問

    圖6 數據訪問結構

    異構數據庫訪問包括兩個層:訪問邏輯層、數據庫訪問層。訪問邏輯層負責完成數據訪問時用到的標準SQL語句的編碼并調用數據訪問層中的方法及通過應用.NET Remoting 技術對外提供遠程對象。數據訪問層負責完成異構數據庫的訪問。這樣的設計結構在很大程度上實現了異構數據庫的統一管理與訪問。如圖6所示。

    3.2.2 實現遠程對象

    訪問邏輯層中的對象通過.NET Remoting技術實現為遠程對象。實現方法如下:

    namespace Capinfo.Bjmedicare.DataCollection.SqlService

    {

    public class ParamService :MarshalByRefObject,IParamService

    { //實現數據訪問邏輯的方法

    public DataSet GetParameterDataSet(string tableName)

    {…

    配置文件:

    service>

    wellknown mode=SingleCall type=Capinfo.Bjmedicare.DataCollection.SqlService objectUri=CommonService.rem/>

    /service>…

    3.2.3 客戶端訪問

    客戶端訪問遠程對象通過兩個層訪問。ServiceFactory 層實現遠程對象的激活,并返回遠程對象的引用。Facade層采用界面模式包裝ServiceFactory層返回的遠程對象并通過自身定義的方法統一調用遠程對象的方法訪問數據庫從而為業務邏輯層提供服務。如圖7所示。

    圖7 客戶端訪問遠程對象結構

    4 結束語

    通過本文的介紹可以看出.NET Remoting 技術具有很強的靈活性和可擴展性。它提供新的解決分布式系統的方法。在實現醫療保險數據采集系統中,應用.NET Remoting 避免了應用DCOM帶來的部署及版本更新時遇到的問題,提高了系統得可靠性、可擴展性及易于維護。總體上取得了較好的效果。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 安阳市| 博客| 永年县| 玉林市| 孝感市| 新泰市| 滁州市| 临颍县| 宜良县| 贡嘎县| 波密县| 台东县| 怀仁县| 闻喜县| 泸州市| 密山市| 光山县| 青冈县| 赤峰市| 渭南市| 通河县| 广水市| 衡山县| 浠水县| 齐河县| 三穗县| 开江县| 双牌县| 闽清县| 津市市| 大同市| 泸水县| 麻栗坡县| 漯河市| 花莲县| 界首市| 永城市| 尼勒克县| 垣曲县| 应城市| 屯门区|