面向服務(wù)的軟件體系結(jié)構(gòu)_第1頁
面向服務(wù)的軟件體系結(jié)構(gòu)_第2頁
面向服務(wù)的軟件體系結(jié)構(gòu)_第3頁
面向服務(wù)的軟件體系結(jié)構(gòu)_第4頁
面向服務(wù)的軟件體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

什么是面向服務(wù)的體系結(jié)構(gòu) 面向服務(wù)的體系結(jié)構(gòu)(SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。1面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第1頁!什么是面向服務(wù)的體系結(jié)構(gòu) 這種具有中立的接口定義(沒有強(qiáng)制綁定到特定的實現(xiàn)上)的特征稱為服務(wù)之間的松耦合。松耦合系統(tǒng)的好處有兩點,一點是它的靈活性;另一點是,當(dāng)組成整個應(yīng)用程序的每個服務(wù)的內(nèi)部結(jié)構(gòu)和實現(xiàn)逐漸地發(fā)生改變時,它能夠繼續(xù)存在。而與此相對,緊耦合意味著應(yīng)用程序的不同組件之間的接口與其功能和結(jié)構(gòu)是緊密相連的,因而當(dāng)需要對部分或整個應(yīng)用程序進(jìn)行某種形式的更改時,它們就顯得非常脆弱。

2面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第2頁!什么是面向服務(wù)的體系結(jié)構(gòu)3面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第3頁!什么是面向服務(wù)的體系結(jié)構(gòu) 對松耦合系統(tǒng)的需求來源于業(yè)務(wù)應(yīng)用程序需要根據(jù)業(yè)務(wù)的變動變得更加靈活,以適應(yīng)不斷變化的環(huán)境,比如經(jīng)常改變的政策、業(yè)務(wù)級別、業(yè)務(wù)重點、合作伙伴關(guān)系、行業(yè)地位以及其他與業(yè)務(wù)有關(guān)的因素,這些因素甚至?xí)绊憳I(yè)務(wù)的性質(zhì)。我們稱能夠靈活地適應(yīng)環(huán)境變化的業(yè)務(wù)為按需(OnDemand)業(yè)務(wù),在按需業(yè)務(wù)中,一旦需要,就可以對完成或執(zhí)行任務(wù)的方式進(jìn)行必要的更改。4面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第4頁!什么是面向服務(wù)的體系結(jié)構(gòu) 然而,現(xiàn)在的SOA已經(jīng)有所不同了,因為它依賴于一些更新的進(jìn)展,這些進(jìn)展是以可擴(kuò)展標(biāo)記語言(eXtensibleMarkupLanguage,XML)為基礎(chǔ)的。通過使用基于XML的語言(稱為Web服務(wù)描述語言,WebServicesDefinitionLanguage,WSDL)來描述接口,服務(wù)已經(jīng)轉(zhuǎn)到更動態(tài)且更靈活的接口系統(tǒng)中,非以前CORBA中的接口描述語言(InterfaceDefinitionLanguage,IDL)可比了。

5面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第5頁!構(gòu)成SOA的技術(shù)是什么

SOA服務(wù)和Web服務(wù)之間的區(qū)別在于設(shè)計。SOA概念并沒有確切地定義服務(wù)具體如何交互,而僅僅定義了服務(wù)如何相互理解以及如何交互。其中的區(qū)別也就是定義如何執(zhí)行流程的戰(zhàn)略與如何執(zhí)行流程的戰(zhàn)術(shù)之間的區(qū)別。而另一方面,Web服務(wù)在需要交互的服務(wù)之間如何傳遞消息有具體的指導(dǎo)原則;從戰(zhàn)術(shù)上實現(xiàn)SOA模型最常見的方式是通過HTTP傳遞的SOAP消息。因而,從本質(zhì)上講,Web服務(wù)是實現(xiàn)SOA的具體方式之一。6面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第6頁!如何構(gòu)建SOA系統(tǒng) 利用SOA的好處不僅僅在于它是一個軟件開發(fā)流程,而且還是一個業(yè)務(wù)開發(fā)流程。采用SOA有四個層次,您的實現(xiàn)可以跨越從創(chuàng)建特定的軟件服務(wù)到將您的業(yè)務(wù)模型全面轉(zhuǎn)換到按需系統(tǒng)的過程。7面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第7頁!如何構(gòu)建SOA系統(tǒng) 從IT專業(yè)人員的角度來看(與業(yè)務(wù)層相比),要創(chuàng)建SOA應(yīng)用程序,通常將經(jīng)歷四個階段:構(gòu)建、部署、使用和管理。 在構(gòu)建階段中,您可以定義業(yè)務(wù)模型或流程、軟件模型和SOA模型。之后,就可以創(chuàng)建一組服務(wù),這組服務(wù)可以與已發(fā)布的通用接口一起重用。在部署階段,提取創(chuàng)建的服務(wù),并把它們放在一個可執(zhí)行、可管理的環(huán)境之中。 在使用階段,根據(jù)前面所講的SOA和軟件模型來裝配應(yīng)用程序,并且測試其軟件質(zhì)量以及非功能性需求,比如性能、可伸縮性等等。應(yīng)用程序現(xiàn)在已經(jīng)準(zhǔn)備完畢并且可交付用戶。 最后的管理階段是一個長期的過程,在這個階段中,可以監(jiān)控并管理安全性和使用,以及在許多與可能已經(jīng)為SOA制訂好的服務(wù)級協(xié)定或策略相對應(yīng)的方面比較其性能。8面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第8頁!近距離審視面向服務(wù)的體系結(jié)構(gòu)9面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第9頁!近距離審視面向服務(wù)的體系結(jié)構(gòu)服務(wù)質(zhì)量方面包括:策略是一組條件和規(guī)則,在這些條件和規(guī)則之下,服務(wù)提供者可以使服務(wù)可用于使用者。策略既有功能性方面,也有與服務(wù)質(zhì)量有關(guān)的方面;因此,我們在功能和服務(wù)質(zhì)量兩個區(qū)中都有策略功能。安全性是規(guī)則集,可以應(yīng)用于調(diào)用服務(wù)的服務(wù)使用者的身份驗證、授權(quán)和訪問控制。傳輸是屬性集,可以應(yīng)用于一組服務(wù),以提供一致的結(jié)果。例如,如果要使用一組服務(wù)來完成一項業(yè)務(wù)功能,則所有的服務(wù)必須都完成,或者沒有一個完成。管理是屬性集,可以應(yīng)用于管理提供的服務(wù)或使用的服務(wù)。10面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第10頁!HTTP協(xié)議:一個典型的SOA實現(xiàn) 每一項新技術(shù)都是在一些原有技術(shù)基礎(chǔ)上發(fā)展出來的。正如XML根本思想來自于在20世紀(jì)60年代就已經(jīng)出現(xiàn)的早期標(biāo)記性語言一樣,SOA雖然近幾年才出現(xiàn),但是它所表達(dá)的觀念應(yīng)該說在網(wǎng)絡(luò)這種分布式系統(tǒng)結(jié)構(gòu)出現(xiàn)不久就已經(jīng)廣泛應(yīng)用了。例如我們最熟悉的HTTP協(xié)議就是一個非常典型的SOA架構(gòu)設(shè)計。11面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第11頁!SOA與WebServices這里值得說明的是SOA不是WebServices。根據(jù)2003年4月的報道,這個問題是這樣解釋的:“WebServices

是技術(shù)規(guī)范,而SOA是設(shè)計原則。特別是WebServices中的WSDL,是一個SOA配套的接口定義標(biāo)準(zhǔn):這是WebServices和SOA的根本聯(lián)系?!睆谋举|(zhì)上來說,SOA是一種架構(gòu)模式,而WebServices是利用一組標(biāo)準(zhǔn)實現(xiàn)的服務(wù)。WebServices是實現(xiàn)SOA的方式之一。用WebServices來實現(xiàn)SOA的好處就是可以實現(xiàn)一個中立平臺,來獲得服務(wù),而且隨著越來越多的軟件商支持越來越多的WEB服務(wù)規(guī)范,可以取得更好的通用性。12面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第12頁!什么是面向服務(wù)的體系結(jié)構(gòu) 雖然面向服務(wù)的體系結(jié)構(gòu)不是一個新鮮事物,但它卻是更傳統(tǒng)的面向?qū)ο蟮哪P偷奶娲P?,面向?qū)ο蟮哪P褪蔷o耦合的,已經(jīng)存在二十多年了。雖然基于SOA的系統(tǒng)并不排除使用面向?qū)ο蟮脑O(shè)計來構(gòu)建單個服務(wù),但是其整體設(shè)計卻是面向服務(wù)的。由于它考慮到了系統(tǒng)內(nèi)的對象,所以雖然SOA是基于對象的,但是作為一個整體,它卻不是面向?qū)ο蟮?。不同之處在于接口本身。SOA系統(tǒng)原型的一個典型例子是通用對象請求代理體系結(jié)構(gòu)(CommonObjectRequestBrokerArchitecture,CORBA),它已經(jīng)出現(xiàn)很長時間了,其定義的概念與SOA相似。

13面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第13頁!構(gòu)成SOA的技術(shù)是什么

SOA本身應(yīng)該是“如何將軟件組織在一起”的抽象概念。它依賴于用XML和Web服務(wù)實現(xiàn)并以軟件的形式存在的更加具體的觀念和技術(shù)。此外,它還需要安全性、策略管理、可靠消息傳遞以及會計系統(tǒng)的支持,從而有效地工作。您還可以通過分布式事務(wù)處理和分布式軟件狀態(tài)管理來進(jìn)一步地改善它。

14面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第14頁!構(gòu)成SOA的技術(shù)是什么 既為了建立所有這些信息的適當(dāng)控制,又為了應(yīng)用安全性、策略、可靠性以及會計方面的要求,在SOA體系結(jié)構(gòu)的框架中加入了一個新的軟件對象。這個對象就是企業(yè)服務(wù)總線(ESB),它使用許多可能的消息傳遞協(xié)議來負(fù)責(zé)適當(dāng)?shù)目刂?、流甚至還可能是服務(wù)之間所有消息的傳輸。雖然ESB并不是絕對必需的,但它卻是在SOA中正確管理您的業(yè)務(wù)流程至關(guān)重要的組件。ESB本身可以是單個引擎,甚至還可以是由許多同級和下級ESB組成的分布式系統(tǒng),這些ESB一起工作,以保持SOA系統(tǒng)的運(yùn)行。在概念上,它是從早期比如消息隊列和分布式事務(wù)計算這些計算機(jī)科學(xué)概念所建立的存儲轉(zhuǎn)發(fā)機(jī)制發(fā)展而來的。15面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第15頁!如何構(gòu)建SOA系統(tǒng) 個層次是最簡單的,因為它只需創(chuàng)建單獨的服務(wù)。 在第二個層次中,您不僅可以創(chuàng)建服務(wù),而且可以開始將業(yè)務(wù)功能集成到SOA中。這涉及多個層次的集成,其中包括應(yīng)用程序集成、信息集成、流程集成和整個系統(tǒng)的集成。 第三個層次涉及將您的企業(yè)IT基礎(chǔ)設(shè)施轉(zhuǎn)換到SOA模型,而采用SOA的第四個層次集中于轉(zhuǎn)換您的業(yè)務(wù)模型,以使之成為隨需應(yīng)變的模型。16面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第16頁!近距離審視面向服務(wù)的體系結(jié)構(gòu) 面向服務(wù)的體系結(jié)構(gòu)提供了一種方法,通過這種方法,可以構(gòu)建分布式系統(tǒng)來將應(yīng)用程序功能作為服務(wù)提供給終端用戶應(yīng)用程序或其他服務(wù)。其組成元素可以分成功能元素和服務(wù)質(zhì)量元素。 面向服務(wù)的體系結(jié)構(gòu)的元素:體系結(jié)構(gòu)堆棧分成兩半,左邊的一半集中于體系結(jié)構(gòu)的功能性方面,而右邊的一半集中于體系結(jié)構(gòu)的服務(wù)質(zhì)量方面。17面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第17頁!近距離審視面向服務(wù)的體系結(jié)構(gòu)功能性方面包括:傳輸是一種機(jī)制,用于將來自服務(wù)使用者的服務(wù)請求傳送給服務(wù)提供者,并且將來自服務(wù)提供者的響應(yīng)傳送給服務(wù)使用者。服務(wù)通信協(xié)議是一種經(jīng)過協(xié)商的機(jī)制,通過這種機(jī)制,服務(wù)提供者和服務(wù)使用者可以就將要請求的內(nèi)容和將要返回的內(nèi)容進(jìn)行溝通。服務(wù)描述是一種經(jīng)過協(xié)商的模式,用于描述服務(wù)是什么、應(yīng)該如何調(diào)用服務(wù)以及成功地調(diào)用服務(wù)需要什么數(shù)據(jù)。服務(wù)描述實際可供使用的服務(wù)。業(yè)務(wù)流程是一個服務(wù)的集合,可以按照特定的順序并使用一組特定的規(guī)則進(jìn)行調(diào)用,以滿足業(yè)務(wù)要求。注意,可以將業(yè)務(wù)流程本身看作是服務(wù),這樣就產(chǎn)生了業(yè)務(wù)流程可以由不同粒度的服務(wù)組成的觀念。服務(wù)注冊中心是一個服務(wù)和數(shù)據(jù)描述的存儲庫,服務(wù)提供者可以通過服務(wù)注冊中心發(fā)布它們的服務(wù),而服務(wù)使用者可以通過服務(wù)注冊中心發(fā)現(xiàn)或查找可用的服務(wù)。服務(wù)注冊中心可以給需要集中式存儲庫的服務(wù)提供其他的功能。

18面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第18頁!實現(xiàn)面向服務(wù)體系結(jié)構(gòu)的技術(shù)代表HTTP協(xié)議:一個典型的SOA實現(xiàn)SOA與WebServices19面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第19頁!HTTP協(xié)議:一個典型的SOA實現(xiàn) HTTP協(xié)議滿足了SOA的三個基本特點:(1)獨立的功能實體作為服務(wù)器端的WEB服務(wù)器總是非常穩(wěn)定地按照自己的內(nèi)在邏輯運(yùn)行,響應(yīng)外部的請求,管理自己的資源和數(shù)據(jù)。(2)大數(shù)據(jù)量低頻率訪問對于一個HTTP請求來說,客戶端與服務(wù)器端之間訪問的邊界就是一個請求,一個響應(yīng),沒有任何其它的信息往返。對于客戶端來說,它發(fā)出的請求只是簡單的告訴Web服務(wù)器它所需要的網(wǎng)頁的位置;(3)基于文本的消息傳遞迄今為止兼容性最好的系統(tǒng)可能就是HTTP協(xié)議支撐的大部分的web應(yīng)用了,這里的關(guān)鍵就是所有內(nèi)容都是以格式化的文本方式傳遞的,而由于不同的操作系統(tǒng)上對于相同的HTML的解釋遵循相同的規(guī)范,因此不同操作系統(tǒng)下仍然能夠看到一致的用戶界面。20面向服務(wù)的軟件體系結(jié)構(gòu)共21頁,您現(xiàn)在瀏覽的是第20頁!結(jié)束語 SOA的概念并非什么新東西,SOA不同于現(xiàn)有的分布式技術(shù)之處在于大多數(shù)軟件商接受它并有可以實現(xiàn)SOA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論