亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向服務的軟件架構及其在醫(yī)用超導系統(tǒng)中的應用

        2015-04-02 12:31:58田宏宇
        軟件導刊 2015年2期

        摘要:介紹了基于面向服務的軟件架構及其主要優(yōu)點,同時研究了其在醫(yī)用超導監(jiān)控系統(tǒng)中的具體應用。重點闡述了如何使用面向服務的軟件架構使軟件從功能上實現(xiàn)解耦,從而提高軟件的可重用性、可伸縮性、可靠性,并設計了具體方案。

        關鍵詞關鍵詞:SOA;面向服務;軟件架構;醫(yī)用超導系統(tǒng)

        DOIDOI:10.11907/rjdk.143763

        中圖分類號:TP319

        文獻標識碼:A文章編號文章編號:16727800(2015)002011403

        作者簡介作者簡介:田宏宇(1979-),男,江蘇泰州人,碩士,江蘇美時醫(yī)療技術有限公司工程師,研究方向為通用軟件。

        0引言

        近年來,軟件規(guī)模在不斷擴大,其復雜程度也在不斷增加。同時,隨著業(yè)務規(guī)模的快速變化,對軟件的適應性和可擴展性提出了更高的要求。這些需求體現(xiàn)在軟件架構上就是要求各模塊之間充分解耦,使模塊之間的關聯(lián)度更小。同時,要求模塊更加內(nèi)聚,使每個模塊都能擔任更專一的職責。

        結構化編程使得程序結構更加清晰,流程更易于理解。面向對象編程方法通過封裝代碼與數(shù)據(jù)來管理軟件復雜度,以真實世界的對象進行建模。隨著軟件模塊數(shù)量的不斷增長,人們需要在更大的范圍內(nèi)加強內(nèi)聚性,提高軟件的復用度,由此出現(xiàn)了基于組件的開發(fā)。組件內(nèi)的模塊通過相互協(xié)作,對外提供更豐富且通用的功能,而組件之間是高內(nèi)聚、松耦合的?;诮M件的開發(fā)更關注子系統(tǒng)的邊界和子系統(tǒng)間的通訊設計。

        近年來,隨著大數(shù)據(jù)時代的到來,人們需要通過全樣本的形式分析海量數(shù)據(jù),對多節(jié)點、分布式、異構的系統(tǒng)需求迫切。這就對軟件系統(tǒng)的可靠性提出了更高的要求,因而需要重新審視軟件的系統(tǒng)架構。

        1面向服務的軟件架構

        1.1面向服務架構

        面向服務架構(Service-Oriented Architecture,SOA)是構造分布式計算應用程序的方法,是將軟件設計成一組可互操作的服務的一套原則或方法論,將應用程序功能作為服務發(fā)送給最終用戶或者其它服務。它采用開放標準,與軟件資源進行交互并采用標準的表示方式。

        SOA將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯(lián)系起來。接口采用中立的方式進行定義,它應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言,這使得構建在這種系統(tǒng)中的服務可以一種統(tǒng)一和通用的方式進行交互[1]。

        1.2SOA實現(xiàn)原則

        在SOA中,服務通常通過3個元素來定義:①服務實現(xiàn):服務的實現(xiàn)由實際代碼、應用程序接口或包含(將通過此服務公開的)功能的其它技術資產(chǎn)組成;②服務接口:服務接口為服務的用戶提供一種基于標準的方法,用于根據(jù)它所提供的契約來訪問其功能;③服務契約:服務契約指定服務的目的、功能、約束和使用。契約細節(jié)的例子包括安全性需求、響應速度、吞吐量和可用性。

        1.3WCF——Dot Net中的SOA框架

        Windows通信開發(fā)平臺(Windows Communication Foundation——WCF)是由微軟開發(fā)的一系列支持數(shù)據(jù)通信的應用程序框架,是.NET框架的一部分,從.NET Framework3.0 開始引入。它整合了.NET2.0及之前版本的.NET Remoting、Web Service以及Socket機制,并融合有Http和Ftp的相關技術,是Windows平臺上開發(fā)分布式應用的最佳實踐方式。

        WCF可簡單歸結為4個部分[2]:①網(wǎng)絡服務協(xié)議,即用什么網(wǎng)絡協(xié)議開放客戶端接入;②業(yè)務服務協(xié)議,即聲明服務提供哪些業(yè)務;③數(shù)據(jù)類型聲明,即對客戶端與服務器端通信的數(shù)據(jù)部分進行一致化;④傳輸安全性定義。

        通信雙方的溝通方式,由合約規(guī)定;通信雙方所遵循的通信方法,由協(xié)議綁定;通信期間的安全性,由雙方約定的安全性層次規(guī)定。

        WCF的三大核心概念如下:

        (1)契約(Contract)。WCF 的基本概念是以契約(Contract) 來定義雙方溝通的協(xié)議,合約必須以接口的方式來體現(xiàn),而實際的服務代碼必須由這些合約接口派生并實現(xiàn)。合約分成了4種:①數(shù)據(jù)契約(Data Contract),訂定雙方溝通時的數(shù)據(jù)格式;②服務契約(Service Contract),訂定服務的定義;③操作契約(Operation Contract),訂定服務提供的方法;③消息契約(Message Contract),訂定在通信期間改寫消息內(nèi)容的規(guī)范。

        (2)協(xié)議綁定 (Binding)。由于WCF支持HTTP、TCP、Named Pipe、MSMQ、PeerToPeer TCP 等協(xié)議,而HTTP 又分為基本 HTTP 支持(BasicHttpBinding)以及 WSHTTP 支持(WsHttpBinding),因而TCP亦支持 NetTcpBinding、NetPeerTcpBinding等通信方式。因此,雙方必須統(tǒng)一通信協(xié)議,并且在編碼及格式上保持一致。

        WCF 的服務可以掛載于 Console Application、Windows Application、IIS (ASP. NET) Application、Windows Service以及Windows Activation Services中,但大多都會掛在 Windows Service上。

        (3)安全性層次。WCF支持傳輸層次安全性以及消息層次安全性兩種:①傳輸層次安全性:在數(shù)據(jù)傳輸時期加密,例如SSL;②消息層次安全性:在數(shù)據(jù)處理時就加密,例如使用數(shù)字簽名、散列或是使用密鑰加密法等。

        WCF具有如下優(yōu)勢[3]:①統(tǒng)一性。WCF是對于ASMX、.Net Remoting、Enterprise Service、WSE、MSMQ等技術的整合。給開發(fā)人員一個統(tǒng)一的開發(fā)接口,將同樣的業(yè)務邏輯通過不同的通訊協(xié)議綁定來發(fā)布,實現(xiàn)了高度的代碼重用;②互操作性。由于WCF最基本的通信機制之一是SOAP(Simple Object Access Protocol 簡易對象訪問協(xié)議),這就保證了異構系統(tǒng)之間的互操作性;③安全與可信賴。WSSecurity、WSTrust和WSSecureConversation均被添加到SOAP消息中,以用于用戶認證、數(shù)據(jù)完整性驗證、數(shù)據(jù)隱私等多種安全因素;④兼容性。WCF充分考慮到了與舊有系統(tǒng)的兼容性。安裝WCF并不會影響原有的技術如ASMX和.Net Remoting。

        2SOA在醫(yī)用超導系統(tǒng)中的應用

        我國高端醫(yī)療器械領域一直為大型跨國公司所壟斷。隨著近年來國家的一系列政策扶持,國內(nèi)一些公司正在加緊研發(fā)自己的高端醫(yī)療器械,尤其是超導型磁共振成像儀吸引著眾多企業(yè)的關注。

        超導磁體是一種電磁鐵,它由超導導線構成,能產(chǎn)生巨大的磁場。由于超導導線在4K的低溫下沒有電阻,因此維持磁場并不會消耗能量。通常將超導導線浸泡在液氦中以產(chǎn)生4K左右的低溫。

        制造超導磁體的一大技術難點就是如何確保液氦在磁體中不發(fā)生泄漏和蒸發(fā)。因為一旦液氦泄漏,就無法保證超導導線所需要的4K低溫,從而無法維持磁場,這一現(xiàn)象稱為“失超”。為了達到氦氣零泄漏這一理想目標,一方便要加強超導磁體的密閉性制造工藝,另一方面也要嚴格對其進行監(jiān)控。

        我國的氦氣十分貧乏,只占全球探明資源總量的0.2%,主要依賴進口。而氮氣比氦氣便宜得多,但是液氮的最低溫度只能達到62K左右,達不到4K要求。因此往往采用先用液氮將溫度降到62K,然后再用液氦將其降溫到4K這種折衷方法,節(jié)約了成本。

        需要對整個超導系統(tǒng)中的液氮、液氦的溫度、液位等多點多指標進行系統(tǒng)監(jiān)測,并對壓縮機、場強等相應設備提供反饋以增加整體系統(tǒng)的可靠性,而且在整個超導磁體的生命期(典型值為10年)內(nèi)不能出錯。

        綜合以上考慮,將整個超導軟件監(jiān)控系統(tǒng)規(guī)劃為3項主要服務:①Coordinator——核心服務,負責將底層接收到的數(shù)據(jù)轉換為格式化的有意義的數(shù)據(jù),同時負責將數(shù)據(jù)記錄到數(shù)據(jù)庫中;②Display——顯示服務,負責將Core服務提供的數(shù)據(jù)渲染成更加直觀的圖形界面,以及在系統(tǒng)出錯時進行適當?shù)膱缶?。同時在Coordinator服務狀態(tài)出錯時重啟服務;③Monitor——狀態(tài)監(jiān)控服務,負責監(jiān)控整個軟件系統(tǒng)的健康狀態(tài)以及整個超導系統(tǒng)的健康狀態(tài)。

        為了提高服務契約的可重用性,將基礎服務接口作為其它服務接口的父接口:

        (1)基礎服務接口IServiceBase:

        [ServiceContract]

        public interface IServiceBase {

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        WCFServiceStatus GetServiceStatus();

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        void Stop();

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        void Start();

        }

        IServiceBase接口為所有服務接口的父接口,增加了查詢服務狀態(tài)以及開始、停止服務的契約。

        (2)帶回調的基礎服務接口ICallbackServiceBase:

        [ServiceContract]

        public interface ICallbackServiceBase : IServiceBase {

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        void Register();

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        void Unregister();

        }

        ICallbackServiceBase進一步擴展了IServiceBase,提供了注冊與反注冊功能。如果想要在服務狀態(tài)或數(shù)據(jù)有更新時得到通知,就需要在服務處用Register注冊。

        (3)核心服務接口ICoordinator:

        [ServiceContract(SessionMode = SessionMode.Required,

        CallbackContract = typeof(ICoordinatorCallback))]

        public interface ICoordinator: ICallbackServiceBase {

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        bool QueryDeviceUsability(string deviceName);

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        void ReadValue(string deviceName);

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        void ReadChannelValue(string deviceName, int ch);

        }

        Coordinator服務實現(xiàn)了ICoordinator接口,提供了讀數(shù)據(jù)、持久化、通知等核心服務。

        (4)服務狀態(tài)監(jiān)控IStatusMonitor

        [ServiceContract(SessionMode = SessionMode.Required,

        CallbackContract=typeof(IStatusMonitorCallback))]

        public interface IStatusMonitor: ICallbackServiceBase {

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        ICollection GetLastMMUStatus();

        [OperationContract(IsInitiating = true, IsTerminating = false)]

        void Repair(string title);

        }

        StatusMonitor 實現(xiàn)了IStatusMonitor接口,以便在整個系統(tǒng)狀態(tài)出現(xiàn)更改時作出正確的響應。

        色噜噜狠狠色综合欧洲| 男女高潮免费观看无遮挡| 国产福利一区二区三区在线观看| 99精品一区二区三区免费视频| av中文字幕在线资源网| 熟女一区二区中文字幕| 亚洲加勒比久久88色综合 | 在线播放a欧美专区一区| 国产一区二区三区av免费观看| 国产女优一区在线观看| 亚洲精品无码久久久久去q| 中文在线天堂网www| 青青草针对华人超碰在线| 97超碰国产成人在线| 亚洲综合在线一区二区三区| 国产精品密播放国产免费看 | 国产精品亚洲色婷婷99久久精品| 无码a∨高潮抽搐流白浆| 成人无码网www在线观看| 91乱码亚洲精品中文字幕| 国产免费又爽又色又粗视频| 亚洲av永久无码一区| 久久国产精品超级碰碰热| 蜜桃视频一区二区三区四| 影音先锋男人av鲁色资源网| 五月天激情综合网| 日本在线播放不卡免费一区二区| 精品一二三四区中文字幕| 天堂aⅴ无码一区二区三区| 国产高清精品自在线看| 手机在线播放成人av| 久久亚洲av午夜福利精品一区| 放荡的闷骚娇妻h| 人成视频在线观看免费播放| 加勒比东京热中文字幕| 中文字幕在线播放| 日韩无码电影| 91一区二区三区在线观看视频| 亚洲一区二区三区无码久久| 天堂中文资源在线地址| 免费黄网站一区二区三区|