王 健 楊仕甫 羅學(xué)剛 何 東
(1.成都理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院,四川 成都 610059;2.中國石油川慶鉆探工程有限公司井下作業(yè)公司,四川 成都 610059;3.攀枝花學(xué)院數(shù)學(xué)與計算機學(xué)院,四川 攀枝花 617000)
SOA在內(nèi)鏡追溯系統(tǒng)中的應(yīng)用
王 健1楊仕甫2羅學(xué)剛3何 東3
(1.成都理工大學(xué)計算機科學(xué)與技術(shù)學(xué)院,四川 成都 610059;2.中國石油川慶鉆探工程有限公司井下作業(yè)公司,四川 成都 610059;3.攀枝花學(xué)院數(shù)學(xué)與計算機學(xué)院,四川 攀枝花 617000)
論文主要對內(nèi)鏡追溯系統(tǒng)進(jìn)行論述,結(jié)合面向服務(wù)架構(gòu)特點與實際系統(tǒng)需求設(shè)計出一種面向服務(wù)的數(shù)據(jù)中心系統(tǒng)。系統(tǒng)采用.NET平臺的WCF服務(wù)技術(shù),HTTP協(xié)議以及DES加密技術(shù),不僅在軟件結(jié)構(gòu)層面達(dá)到面向服務(wù)目的,同時保證了系統(tǒng)通信的安全性。在軟件詳細(xì)設(shè)計階段,利用了面向?qū)ο蠹夹g(shù),定制服務(wù)契約,抽象服務(wù)接口,在保證系統(tǒng)橫向伸縮性良好的同時完成解耦。目前系統(tǒng)已經(jīng)完成,并得到了很好的實際應(yīng)用。
面向服務(wù);WCF;服務(wù)接口;DES;HTTP協(xié)議
隨著近年高新技術(shù)產(chǎn)業(yè)的快速發(fā)展,帶動了其它行業(yè)的智能化、自動化、信息化發(fā)展趨勢。相應(yīng)的軟件產(chǎn)品研發(fā)的復(fù)雜性逐漸增加,在進(jìn)行大型應(yīng)用系統(tǒng)的設(shè)計時,需要考慮到更高的可擴(kuò)展性、伸縮性、可維護(hù)性、跨平臺等特點。然而在當(dāng)下流行的面向?qū)ο缶幊棠P椭校S著系統(tǒng)的復(fù)雜性提升,面向?qū)ο蟮鸟詈隙纫灿厪?fù)雜,這給軟件開發(fā)效率和軟件維護(hù)帶來巨大負(fù)擔(dān),而SOA系統(tǒng)的特點正好解決了對象之間的耦合度過于復(fù)雜的問題。雖然基于SOA的系統(tǒng)并不排除使用面向?qū)ο蟮脑O(shè)計來構(gòu)建單個服務(wù),但是其整體設(shè)計卻是面向服務(wù)的。由于它考慮到了系統(tǒng)內(nèi)的對象,所以雖然SOA是基于對象的,但是作為一個整體,它卻不是面向?qū)ο蟮摹?/p>
本文主要是論述如何通過面向服務(wù)的架構(gòu)特點,設(shè)計一種面向數(shù)據(jù)中心的內(nèi)窺鏡追溯系統(tǒng)。根據(jù)數(shù)據(jù)流向抽象接口,使系統(tǒng)整體靈活性更強,可維護(hù)性更高。
內(nèi)鏡追溯系統(tǒng)是針對現(xiàn)有醫(yī)院的內(nèi)窺鏡對其管理、清洗、消毒以及使用流程的信息化。主要包括:內(nèi)鏡管理,醫(yī)護(hù)人員管理,病人管理,內(nèi)鏡清洗流程記錄,內(nèi)鏡信息追溯,工作量統(tǒng)計等功能。追溯系統(tǒng)的自動化處理,可以節(jié)約人力成本,自動驗證內(nèi)鏡清洗結(jié)果是否合格,確保清洗流程更加標(biāo)準(zhǔn);系統(tǒng)的信息化管理,可以提高信息處理效率,有利于數(shù)據(jù)報表分析,進(jìn)而提高工作效率,對于內(nèi)鏡追溯信息的查詢也更加方便;系統(tǒng)的軟件結(jié)構(gòu),結(jié)合了面向服務(wù)的特點,服務(wù)即功能,再以數(shù)據(jù)為中心,信息流作為數(shù)據(jù)流,使系統(tǒng)結(jié)構(gòu)具有低耦合、易擴(kuò)展、穩(wěn)定性強等特點。
3.1 面向服務(wù)架構(gòu)(SOA)簡介
面向服務(wù)的體系結(jié)構(gòu),是一種組件模型,它將應(yīng)用系統(tǒng)的不同功能單元進(jìn)行獨立封裝組裝成服務(wù),再對服務(wù)之間定義良好接口和契約。服務(wù)接口是采用中立的方式進(jìn)行定義的,它獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。SOA系統(tǒng)的服務(wù)接口可以采用可擴(kuò)展標(biāo)記語言作為基礎(chǔ)對其行描述(如:WDSL),以使系統(tǒng)服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。面向服務(wù)特征包括:
可重用:一個服務(wù)創(chuàng)建后,可以在多個業(yè)務(wù)流程和應(yīng)用中進(jìn)行使用。
松耦合:服務(wù)提供者和服務(wù)請求者之間是沒有關(guān)系的,服務(wù)請求者只需要將每個服務(wù)提供的功能模塊進(jìn)行定制或者繼承,而不需要關(guān)心服務(wù)提供者的平臺、語言、技術(shù)細(xì)節(jié);同時服務(wù)之間也是相互獨立的,他們的關(guān)系僅存在于基礎(chǔ)接口的使用。
開發(fā)標(biāo)準(zhǔn):服務(wù)通信基于公開的W3C標(biāo)準(zhǔn),Web服務(wù)定義的SOAP、WSDL以及WS-*協(xié)議。
伸縮性:服務(wù)平臺搭建之后,如果需要添加其它服務(wù),只需要提供服務(wù)公開的接口即可,不會干擾現(xiàn)有服務(wù)單元。如果需要移除某些服務(wù)單元也不會對其它服務(wù)單元產(chǎn)生影響。3.2 面向數(shù)據(jù)中心的服務(wù)
根據(jù)實際項目需求結(jié)合面向服務(wù)特點,設(shè)計了一種以數(shù)據(jù)流作為業(yè)務(wù)流,數(shù)據(jù)提取作為服務(wù)模塊,數(shù)據(jù)類型作為接口約束的面向數(shù)據(jù)結(jié)構(gòu)。服務(wù)請求者可以按照具體需求對數(shù)據(jù)提取模塊進(jìn)行定制,請求者只需要根據(jù)數(shù)據(jù)類型,添加引用接口,就可以獲取相應(yīng)數(shù)據(jù)。結(jié)構(gòu)實現(xiàn)方式主要使用WCF技術(shù)以及部分的Web服務(wù)技術(shù),采用了請求-響應(yīng)和半雙工混合的工作模式。當(dāng)請求者需要訪問數(shù)據(jù)的時候,只需要加載WCF服務(wù)引用即可調(diào)用數(shù)據(jù)服務(wù)接口,在請求者與服務(wù)之間的通信交互時,加入過濾層以保護(hù)交互數(shù)據(jù)的安全性。系統(tǒng)具體架構(gòu)如圖1所示:
圖1 系統(tǒng)架構(gòu)圖
服務(wù)請求是指通過添加服務(wù)引用,實例化接口對象,根據(jù)接口契約進(jìn)行數(shù)據(jù)請求的通信過程。服務(wù)請求者(B/S、C/ S)首先根據(jù)服務(wù)接口地址進(jìn)行訪問,訪問數(shù)據(jù)采用DES加密,經(jīng)過身份驗證有效后,系統(tǒng)會將接口自描述的元數(shù)據(jù)信息公布給請求者,同時會返回一條攜帶身份認(rèn)證公鑰的響應(yīng)信息,公鑰用于請求者身份驗證,以便于請求者不用每次使用用戶名和密碼進(jìn)行驗證,增加了安全性,公鑰的有效時間可以自由設(shè)定,初始為20分鐘。在請求者獲取服務(wù)接口信息以后可以添加服務(wù)引用,根據(jù)具體需求接口描述,請求者創(chuàng)建服務(wù)引用對象實例向服務(wù)端請求數(shù)據(jù)。服務(wù)請求通信標(biāo)準(zhǔn)采用HTTP協(xié)議,工作模式采用單工/半雙工混合模式。具體的數(shù)據(jù)請求過程參見圖2:
圖2 數(shù)據(jù)請求流程圖
服務(wù)請求者根據(jù)服務(wù)接口請求數(shù)據(jù),服務(wù)接口具有自描述、可定制、相互獨立等特點。接口模塊包括身份驗證、用戶管理、內(nèi)鏡管理、數(shù)據(jù)提取、追溯數(shù)據(jù)更新等。
5.1 身份驗證
對請求者身份有效性確認(rèn),將請求者提供的賬號信息進(jìn)行安全性過濾。安全性過濾首先要對得到的請求進(jìn)行SQL注入過濾,再進(jìn)行DES解密獲取明文,將明文和密碼進(jìn)行有效性驗證,如果身份確認(rèn),數(shù)據(jù)中心會生成一個全局唯一公鑰KEY作為會話密鑰返回給請求者。請求者在獲得密鑰后,再對數(shù)據(jù)中心發(fā)出數(shù)據(jù)請求時,只需要在信息頭部加入公鑰KEY即可。但注意公鑰KEY的有效時間有限,失效以后請求者要重新獲取才可進(jìn)行數(shù)據(jù)請求。
5.2 用戶管理
擁有最高權(quán)限的用戶才可以進(jìn)行用戶信息管理。用戶信息管理分為醫(yī)院醫(yī)護(hù)人員信息管理和病人信息管理。醫(yī)護(hù)人員信息指的是醫(yī)護(hù)人員身份基本信息,就診工作量統(tǒng)計;病人信息管理包括病人基本資料,病人病史,就診醫(yī)生,就診結(jié)果以及就診數(shù)量的統(tǒng)計??剖抑魅慰梢愿鶕?jù)問診醫(yī)生的問診數(shù)量對其工作進(jìn)行可視化地、有效地評估,可以根據(jù)病人就診的數(shù)據(jù)統(tǒng)計圖來確定病人就診高峰時段,以便更合理地安排問診醫(yī)生和問診時間。
5.3 內(nèi)鏡管理
內(nèi)鏡信息管理是對內(nèi)鏡基本信息,內(nèi)鏡狀態(tài)的管理。內(nèi)鏡基本信息包含了內(nèi)鏡類型,內(nèi)鏡串號,鋼印號,維修次數(shù),使用年限,損壞程度,使用量統(tǒng)計等資料信息。
5.4 數(shù)據(jù)提取
數(shù)據(jù)提取分為清洗數(shù)據(jù)、追溯數(shù)據(jù)、內(nèi)鏡報表、醫(yī)護(hù)人員工作量統(tǒng)計等功能。追溯數(shù)據(jù)由清洗數(shù)據(jù)和檢查室數(shù)據(jù)共同組成,清洗數(shù)據(jù)來源于清洗工的清洗操作步驟,檢查室數(shù)據(jù)是醫(yī)護(hù)人員對病人進(jìn)行檢查診療的數(shù)據(jù),這部分?jǐn)?shù)據(jù)包括醫(yī)護(hù)人員信息、病人信息、診療結(jié)果,將這兩種信息關(guān)聯(lián)在一起就組成了追溯數(shù)據(jù),追溯方法可以分別按照內(nèi)鏡、醫(yī)生、病人三種角色進(jìn)行追溯。檢查室數(shù)據(jù)在某些情況下由第三方系統(tǒng)提供,在這部分需要公布第三方數(shù)據(jù)接口,第三方系統(tǒng)會通過數(shù)據(jù)接口定時將檢查室數(shù)據(jù)寫入系統(tǒng)視圖,在請求者每次提取追溯數(shù)據(jù)時,會自動加載視圖數(shù)據(jù)。清洗工作量會在每次進(jìn)行清洗內(nèi)鏡后自動入庫并完成工作量統(tǒng)計,醫(yī)護(hù)人員工作量也是通過檢查室內(nèi)部生成報告的數(shù)量自動統(tǒng)計。內(nèi)鏡報表是對內(nèi)鏡使用情況的統(tǒng)計,包括內(nèi)鏡的使用頻率、內(nèi)鏡在儲存柜中的狀態(tài)、內(nèi)鏡損壞情況。
5.5 工作量統(tǒng)計
根據(jù)內(nèi)鏡使用情況,清洗工清洗內(nèi)鏡數(shù)量,醫(yī)生問診數(shù)量等信息統(tǒng)計工作量。
5.6 數(shù)據(jù)更新
由于在清洗流程中會出現(xiàn)流程誤操作或者操作數(shù)據(jù)不正確的情況,所以需要提供數(shù)據(jù)修改功能。部分服務(wù)接口設(shè)計如圖3所示:
圖3 部分接口設(shè)計結(jié)構(gòu)圖
此系統(tǒng)已經(jīng)投入使用,設(shè)計思想基本滿足用戶需求。系統(tǒng)具有易維護(hù)、可擴(kuò)展、安全性高、服務(wù)穩(wěn)定等特點。用戶可以根據(jù)自己的需求對客戶進(jìn)行權(quán)限分配,功能模塊之間相互獨立,在添加需求服務(wù)模塊時不會對正常運行系統(tǒng)有所影響,服務(wù)托管于Web服務(wù)器上,穩(wěn)定性相對較高,服務(wù)間通信采用加密及身份驗證技術(shù)提高了信息的安全性。
[1]梁愛虎.SOA思想、技術(shù)與系統(tǒng)集成應(yīng)用詳解[M].北京:電子工業(yè)出版,2007.
[2]蔣金楠.WCF全面解析[M].北京:電子工業(yè)出版,2012.
[3]毛新生.SOA原理·方法·實踐[M].北京:電子工業(yè)出版,2007.
[4]張海藩.軟件工程導(dǎo)論.北京:清華大學(xué)出版社,2003.
[5]Juual Lowy.WCF服務(wù)編程.北京:機械工業(yè)出版社,2008.
[6]普雷斯曼.軟件工程.北京:機械工業(yè)出版社,2006.
SOAApplication in Endoscopic Traceable System
Wang Jian1Yang ShiFu2Luo Xuegang3He dong3
(1.College of Computer Science and Technology,Chengdu University of Technology,Chengdu 610059,Sichuan; 2.CNPC Chuanqing Drilling Engineering Company Limited Downhole Service Company,Chengdu 610059,Sichuan; 3.School of Mathematics and Computer Science,Panzhihua University,Panzhihua 617000,Sichuan)
act】The article introduces the endoscopic traceable system and combines with the service-oriented structural characteristics and the system requirement to design a real service-oriented data center system.The system adopts WCF technology of.NET platform service,HTTP protocol and DES encryption technology.It not only can achieve the purpose in service-oriented on software structure layer,but also ensure the safety of communication system.In the software detailed design stage,it makes full use of objectoriented technology,customizes service contract and abstracts service interfaces to guarantee the system transverse expansion very well and completes the object directly decoupling.The current system has been completed,and obtains very good practical application.
service-oriented;WCF;service interface;DES;HTTP protocol
TP311.52
:A
1008-6609(2015)03-0034-03
王健,男,吉林四平人,碩士,研究方向:計算機應(yīng)用技術(shù)。
四川省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項目,項目編號:201311360030。