999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向服務架構應用技術研究

2008-12-31 00:00:00胡曉慶
電腦知識與技術 2008年35期

摘要:采用面向服務架構有效地降低軟件開發的復雜性,提高軟件的復用程度,縮短軟件開發周期。但不少開發人員對于Web服務、構件等面向服務架構的相關概念和理論還不甚清楚。論文總結了目前主要的面向服務架構的應用技術,介紹了相關技術細節。

關鍵詞:面向服務架構;組件體系結構;Web Services;構件

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)35-2344-03

Application Technology Research of Services-Oriented Architecture

YANG Liang1, HU Xiao-qing2, FANG Yi2

(1.Elementary Sciences Department, Military Economy Academy, WuHan 430035, China; 2.Logistics Command Department, Military Economy Academy, WuHan 430035, China)

Abstract: SOA can bring benefits to software development, such as reducing complexity, improving reuse of software and shortening software development cycles. But still some developers are not clearly about the concept of web services, components and so on. The article summarizes main technologies of SOA and introduces details of these technologies.

Key words:services-oriented architecture; component architecture; Web services; component

1 引言

面向服務架構是一種將軟件資源作為服務的思想,把軟件的每個功能模塊視為向系統提供的一項服務。從最初的概念、理論、方法到如今的技術標準、應用案例,SOA正為越來越多的人所接受。北京市西城區電子政務的SOA成功部署、武夷山SOA的成功實施結束了SOA僅僅是概念的歷史,使國內的客戶著實感受到了SOA并不遙遠,加之標準的出臺,最佳切入點的不斷尋找,SOA在國內的推廣迎來了小小的高潮[1]。目前,面向服務架構應用技術主要有基于對象的組件體系結構、Web Servers技術和構件技術三種。

2 基于對象的組件體系結構

基于對象的組件體系結構是為了解決分布式計算環境(DCE,Distributed Computing Environment)中不同硬件設備和軟件系統的互聯、互通的問題而設計的。目前主要的有對象管理組織(OMG)的CORBA技術、Microsoft公司的DCOM技術和SUN公司的RMI技術。

2.1 CORBA

對象管理組織(OMG,Object Management Group)在1991年開發了CORBA(公用對象請求代程序理體系結構,Common Object Request Broker Architecture),把面向對象技術添加到網絡編程中。CORBA把用其他語言開發的程序以及關于該程序功能和如何調用該程序的信息包到一個包(package)中,通過定義的一系列API,通信協議和對象/服務信息模型使得該程序能夠被網絡上其他程序或CORBA組件調用。許多銷售商如Digital Equipment、HP、IBM和其它銷售商都提供CORBA服務器。但因為對象管理組織沒有定義引用執行代碼,只有一個規范,所以這些廠商的產品都不能互相操作。

2.2 DCOM

DCOM(分布式組件對象模型,Distributed Component Object Model)是一系列微軟的概念和程序接口,是COM的分布式擴展。當客戶和組件位于不同機器時,DCOM用TCP/IP協議取代COM中的本地間通信LRPC,從而對位于Internet上不同機器上的組件對象之間的相互通訊提供了透明的支持。利用DCOM,客戶端程序對象能夠請求來自網絡中另一臺計算機上的服務器程序對象。不論它們是運行在局域網、廣域網、還是Internet之上。由于DCOM使用TC/IP協議和超文本傳輸協議,因此還可以工作在企業內部或者公共因特網之外的其他網絡中[2]。

2.3 RMI

RMI允許一個Java程序調用網絡中另一臺計算機上的Java方法,就如調用本機的方法一樣。實現RMI調用的程序和被調用的方法都必須是Java代碼,即客戶端和服務器端都必須通過純Java實現。RMI目前使用Java遠程消息交換協議JRMP(Java Remote Messaging Protocol)進行通信。JRMP是專為Java的遠程對象制定的協議。因此,RMI具有Java的“Write Once,Run Anywhere”的優點,是分布式應用系統的百分之百純Java解決方案。用RMI開發的應用系統可以部署在任何支持JRE(Java Run Environment,運行環境)的平臺上。但由于JRMP是專為Java對象制定的,因此,RMI對于用非Java語言開發的應用系統的支持不足,不能與用非Java語言書寫的對象進行通信[3]。

3 Web Services技術

Web Service即 Web服務,是組件技術思想在Internet時代的進一步發展,是一個自包含、自描述、模塊化的應用程序標準機制,其應用可以通過Web發布供客戶端動態發現和調用。Web Service的目標是實現不同系統間跨平臺、跨編程語言的可互操作性[4],消除了傳統解決方案(如CORBA、DCOM和RMI)中跨平臺的互用性問題,是XML、SOAP、WSDL和UDDI在內的技術的集合。

3.1 SOAP

簡單對象訪問協議(Simple Object Access Protocol)是一個基于XML的、不依賴傳輸協議的表示層協議,用來在應用程序之間方便地以對象的形式交換數據。

W3C SOAP 1.2規范在服務請求者和服務提供者之間定義使用XML格式的消息進行通信。將應用程序請求放入SOAP信封中(也是XML),并從請求者向提供者發送應用程序請求,提供者發回的響應也采用相同的形式,所以SOAP也被稱為面向服務的架構協議。SOAP的優點在于它完全和廠商無關,相對于平臺、操作系統、目標模型和編程語言可以獨立實現。

3.2 WSDL

Web服務描述語言WSDL(Web Services Description Language)用來描述服務的調用方法、參數和返回值。WSDL定義了一套基于XML的語法,將Web服務描述為能夠進行消息交換的服務訪問點的集合。利用WSDL文檔,我們可以將Web服務看作軟件,這個軟件通過描述SOAP消息接口的WSDL文檔來提供服務,并使用標準的傳輸協議來進行消息傳遞。

WSDL描述包含請求消息格式、響應消息格式和發送消息的目的地,以便服務請求者能夠使用特定服務。WSDL是基于XML的,因此WSDL文檔是計算機可讀的。這樣開發環境使用WSDL將集成服務的流程自動處理到請求者應用程序。例如WebSphere Studio產生一個Java的代理對象,它能夠像本地對象一樣實現服務,但是實際上代理對象僅僅處理請求的創建和響應消息的解析。不管服務是否用Java、C#或者其它的語言實現,生成的Java代理對象都能夠從WSDL描述中調用任何的Web服務。

3.3 UDDI

統一描述、發現和集成(Universal Description, Discovery and Integration)規范是一套面向Web服務的信息注冊中心的實現標準和規范,它提供了一組公用的SOAP API,使得服務代理得以實現。UDDI為發布服務的可用性和發現所需服務定義了一個標準接口(基于SOAP消息)。UDDI實現將發布和發現服務的SOAP請求解釋為用于基本數據存儲的數據管理功能調用。

為了發布和發現其它服務,UDDI通過定義標準的SOAP消息來實現服務注冊(Service Registry)。注冊是一種服務代理,它是在UDDI上需要發現服務的請求者和發布服務的提供者之間的中介。一旦請求者決定使用特定的服務,開發者通常借助于開發工具(如Microsoft Visual Studio .NET 2005)并通過創建以發送請求并處理響應的方式訪問服務的代碼來綁定服務。UDDI注冊中心在邏輯上是集中的,在物理上是分散的,由多個根結點組成,相互之間按一定的規則保證數據的同步。當一項服務在某個根結點注冊后,其注冊信息會被自動復制到其它UDDI根結點。

4 構件技術

構件是計算機軟件中的一個模塊化的構造塊。OMG UML[OMG01]規范中將構件定義為“系統中某一定型化的、可配置的和可替換的部件,該部件封裝了實現并暴露一系列接口”[5]。它的基本理念是把軟件開發過程中會重復用到的部分封裝起來,等到有新的同樣的需求時再調用。被封裝的對象類、類樹、一些功能模塊、軟件架構、文檔、分析件、設計模式等都可視為構件。構件是對象概念的延伸和發展,相比由對象構成的系統而言,由構件構成的系統具有大粒度和小數量的特點。

4.1 構件技術的優點

在面向構件的軟件開發中,一個應用軟件不是用多少行的代碼來描述的,而是用多少個構件來描述的,如同汽車整裝,每個汽車零件就相當于一個構件,整裝過程中只關心這些零件是如何組裝的,而不用關心這些零件是如何生產的。因此,與傳統軟件開發方法比較,基于構件技術的軟件開發方法具有以下幾個方面的優勢:

即插即用性。構件是獨立的功能模塊,封裝了內部的實現過程,只暴露構件的接口,因此可以方便地集成到系統框架中。當構件發生變化或更換為其它構件時,系統不用從頭編寫代碼、編譯和連接,只需按照接口將構件重新組裝即可,降低了軟件開發的難度,提高了軟件開發的速度和效率。

接口標準化。構件通過標準化的接口實現構件間的消息傳遞,克服了不同硬件平臺、操作系統、數據庫系統等異構環境的引起的復雜性。同時,接口和編碼分離完成,構件的編碼被封裝在構件內部,構件裝配時只需要知道構件的接口,而不必關心編碼的細節。

4.2 構件的分類

通過對應用系統的分析,可以將構件分為以下三類:

通用基本構件:是應用系統的通用的構成成份,如用戶注冊登錄構件、數據加密解密構件等,它們廣泛存在于各種軟件系統中。

領域共性構件:是某一領域范圍內應用系統的共性構成成份,如財務領域內的憑證處理構件、財務分析構件、科目管理構件等。它們廣泛存在于某個或某些領域的應用系統中。

業務專用構件:是應用系統的特有的構成成份,如輔助決策構件,由于不同的單位根據本單位的實際情況采用不同的決策策略,因此這些專用構件往往只在某一個或很少的幾個應用系統中出現。

4.3 基于構件的系統開發

目前,構件技術的研究內容有兩個方面:可復用構件的開發和基于構件的系統開發。根據本文的主題,此處主要討論基于構件的系統開發。

基于構件的系統開發是指通過選擇/開發構件然后組合構件來集成應用系統的過程。主要是依照分析、設計、實現等軟件開發的基本步驟, 圍繞著構件的分析、構件的獲取、和構件的組裝等活動展開[7]。

4.3.1 系統分析

基于構件的系統分析過程中,不僅要完成常規的系統分析任務,更重要的是注重系統共性的識別和捕獲,抽取系統中的共性部分和可變部分,抽象出系統的通用構件和專用構件。

4.3.2 構件獲取

構件獲取就是獲得系統開發所需構件的過程,它包括現有構件的獲取和新構件的設計開發兩個方面。有些構件可以從互聯網上直接下載、通過系統開發積累、購買其它公司的商業構件等手段獲取。對于沒有的構件就必須通過設計開發來獲得。

4.3.3 構件集成

獲取了系統必需的構件之后,就要開始進行構件的集成組裝了。構件的組裝是以系統的整體結構為框架,通過構件之間的互操作將構件集成在一起,形成整個應用系統。構件集成常用的方法主要有過程調用和數據共享的方法。

5 結束語

作為面向服務軟件體系結構的先驅,基于對象的組件體系結構在金融、通信領域取得了廣泛的應用,但同樣存在著對系統同構性要求高、穿透防火墻困難和不同組件之間的互操作性差等問題。Web Services技術側重通過網絡實現服務的共享和調用,適用于大數據量低頻率的訪問。目前Microsoft、IBM等公司都推出了支持Web Services技術的軟件開發平臺。構件技術從提高軟件復用程度出發,重點考慮如何開發、使用復用性好的構件進行軟件開發。目前國內商業化的構件軟件開發的平臺是普元公司的普元EOS。

參考文獻:

[1] SOA[J].軟件世界,2007,(24):13.

[2] 中科永聯.RMI[EB/OL].[2007-06].http://blog.csdn.net/feihoo88/archive/2007/01/31/1499255.aspx.

[3] 中科永聯.RMI[EB/OL].[2007-06].http://blog.csdn.net/feihoo88/archive/2007/01/31/1499255.aspx.

[4] 高昊江,張宜生,劉凡,等.面向Web服務的企業信息系統集成開發技術研究與應用[J].計算機工程與科學,2004.26(6):106

[5] Pressman R S.軟件工程:實踐者的研究方法[M].6版.鄭人杰,馬素霞,白曉穎,等,譯.北京:機械工業出版社,2007:229

[6] 孫奇平.基于SOA架構和構件技術的軟件開發方法應用[J].福建廣播電視大學學報,2007(1).

[7] 季彤,饒若楠.基于構件的銀行綜合業務系統的研究和實現[J].微型電腦應用,2007,23(1).

[8] 黃于鑒,苗放,周宇鵬.基于構件的辦公自動化系統的設計與實現[J].電腦知識與技術,2007(4).

主站蜘蛛池模板: 少妇精品在线| 亚洲第一成网站| 欧美在线视频a| 999国产精品永久免费视频精品久久| 一区二区三区四区日韩| 国产色婷婷| 老司机久久精品视频| 国产福利影院在线观看| 国产男人天堂| 亚洲成a人片| 国产精品免费入口视频| 谁有在线观看日韩亚洲最新视频| 国产精品福利导航| 四虎影视无码永久免费观看| 国产成人精品日本亚洲77美色| 亚洲av日韩综合一区尤物| 无码一区18禁| 久久久久人妻一区精品| 亚洲无线国产观看| 看看一级毛片| 无码国内精品人妻少妇蜜桃视频 | www.日韩三级| 成人永久免费A∨一级在线播放| 亚洲国产黄色| 午夜视频www| 免费高清毛片| 国产玖玖视频| 国产色婷婷| a在线观看免费| av一区二区人妻无码| 日韩精品亚洲人旧成在线| 91精品国产情侣高潮露脸| 色哟哟国产精品一区二区| 人妻丰满熟妇AV无码区| 国产第一页第二页| 一边摸一边做爽的视频17国产| 国产国产人在线成免费视频狼人色| 国产浮力第一页永久地址 | 在线观看无码a∨| 超级碰免费视频91| 极品尤物av美乳在线观看| 手机在线看片不卡中文字幕| 亚洲成人www| 性欧美在线| 亚洲成a人片77777在线播放| 无码免费的亚洲视频| 国产第二十一页| 亚洲AV免费一区二区三区| 97在线国产视频| 91小视频在线观看免费版高清| 国产成人亚洲欧美激情| 国产一区二区色淫影院| 天堂va亚洲va欧美va国产| 亚洲国产清纯| 免费毛片在线| 欧美一区二区啪啪| 国产99精品久久| 99ri国产在线| 国产哺乳奶水91在线播放| 狠狠色丁香婷婷综合| 国产成年女人特黄特色毛片免| 欧美高清三区| 国产精品无码作爱| 久久精品国产免费观看频道| 久久99这里精品8国产| 久久这里只有精品8| 最新国产麻豆aⅴ精品无| 国产成人综合日韩精品无码首页| 日韩午夜伦| 三上悠亚精品二区在线观看| 免费观看精品视频999| 97久久精品人人| 国产精品妖精视频| jizz在线观看| 99草精品视频| 综合天天色| 欧美日在线观看| 素人激情视频福利| 人妻无码一区二区视频| 国产网站在线看| 在线精品视频成人网| 农村乱人伦一区二区|