soa面向服務(wù)的體系結(jié)構(gòu)

soa面向服務(wù)的體系結(jié)構(gòu)

ID:30790802

大?。?3.50 KB

頁數(shù):7頁

時間:2019-01-03

soa面向服務(wù)的體系結(jié)構(gòu)_第1頁
soa面向服務(wù)的體系結(jié)構(gòu)_第2頁
soa面向服務(wù)的體系結(jié)構(gòu)_第3頁
soa面向服務(wù)的體系結(jié)構(gòu)_第4頁
soa面向服務(wù)的體系結(jié)構(gòu)_第5頁
資源描述:

《soa面向服務(wù)的體系結(jié)構(gòu)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、SOA面向服務(wù)的體系結(jié)構(gòu)面向服務(wù)的體系結(jié)構(gòu)(Service-OrientedArchitecture,SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)Z間定義良好的接口和契約聯(lián)系起來。接口是采用屮立的方式進行定義的,它應(yīng)該獨立于實現(xiàn)服務(wù)的碩件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以一種統(tǒng)一和通用的方式進行交互。這種具有中立的接口定義(沒有強制綁定到特定的實現(xiàn)上)的特征稱為服務(wù)Z間的松耦合。松耦合系統(tǒng)的好處有兩點,一點是它SOA實踐指南■■?OWfUY寶*的靈活性,另一點是,當組成整個應(yīng)用程序的每個服務(wù)的內(nèi)部結(jié)構(gòu)和實現(xiàn)逐漸

2、地發(fā)主改變時,它能夠繼續(xù)存在。而另一方面,緊耦合意味著應(yīng)用程序的不同組件之間的接口與其功能和結(jié)構(gòu)是緊密相連的,因而當需要對部分或整個應(yīng)用程序進行某種形式的更改時,它們就顯得非常脆弱。對松耦合的系統(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ù)的方式進行必要的更改。雖然面向服務(wù)的體系結(jié)構(gòu)不是一個新鮮事物,但它卻是更

3、傳統(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相似。然而,現(xiàn)在的SOA已經(jīng)有所不同了,因為它依賴于一些更新的進展,這些進展是以可擴展標記語言(ext

4、ensibleMarkupLanguage,XML)為基礎(chǔ)的。通過使用基于XML的語言(稱為Web服務(wù)描述語言(WebServicesDefinitionLanguage,WSDL))來描述接口,服務(wù)已經(jīng)轉(zhuǎn)到更動態(tài)且更靈活的接口系統(tǒng)中,非以前CORBA中的接口描述語言(InterfaceDefinitionLanguage,1DL)可比了。Web服務(wù)并不是實現(xiàn)SOA的惟一方式。前面剛講的CORBA是另一種方式,這樣就有了面向消息的中間件(Message-OrientedMiddleware)系統(tǒng),比如TBM的MQsxics。但是為了建立體系結(jié)構(gòu)模型,您所需要的并不只是服

5、務(wù)描述。您需要定義整個應(yīng)用程序如何在服務(wù)Z間執(zhí)行英工作流。您尤其需要找到業(yè)務(wù)的操作和業(yè)務(wù)屮所使用的軟件的操作之間的轉(zhuǎn)換點。因此,SOA應(yīng)該能夠?qū)I(yè)務(wù)的商業(yè)流程與它們的技術(shù)流程聯(lián)系起來,并11映射這兩者之間的關(guān)系。例如,給供應(yīng)商付款的操作是商業(yè)流程,而更新您的零件數(shù)據(jù)庫,以包括進新供應(yīng)的貨物卻是技術(shù)流程。因而,工作流還可以在SOA的設(shè)計中扮演重要的角色。此外,動態(tài)業(yè)務(wù)的工作流不僅可以包括部門之間的操作,甚至還可以包折與不為您控制的外部合作伙伴進行的操作。因此,為了提高效率,您需要定義應(yīng)該如何得知服務(wù)之間的關(guān)系的策略,這種策略常常采用服務(wù)級協(xié)定和操作策略的形式。最后,所冇這

6、些都必須處于一個信任和可靠的環(huán)境之屮,以同預(yù)期的一樣根據(jù)約定的條款來執(zhí)行流程。因此,安全、信任和可靠的消息傳遞應(yīng)該在任何SOA屮都起著重要的作用。我口J以用面向服務(wù)的體系結(jié)構(gòu)做什么?對SOA的需要來源于需要使業(yè)務(wù)IT系統(tǒng)變得更加靈活,以適應(yīng)業(yè)務(wù)中的改變。通過允許強定義的關(guān)系和依然靈活的特定實現(xiàn),rr系統(tǒng)既可以利用現(xiàn)冇系統(tǒng)的功能,乂可以準備在以后做一些改變來滿足它們之間交互的需要。下面舉一個具體的例子。一個服裝零售組織擁有500家國際連鎖店,它們常常需要更改設(shè)計來趕上時尚的潮流。這口J能意味著不僅需要更改樣式和顏色,甚至還可能需要更換布料、制造商和可交付的產(chǎn)品。如果零售商

7、和制造商Z間的系統(tǒng)不兼容,那么從一個供應(yīng)商到另一個供應(yīng)商的更換可能就是一個非常復(fù)雜的軟件流程。通過利用WSDL接口在操作方面的靈活性,毎個公司都可以將它們的現(xiàn)有系統(tǒng)保持現(xiàn)狀,而僅僅匹配WSDL接口并制訂新的服務(wù)級協(xié)定,這樣就不必完全重構(gòu)它們的軟件系統(tǒng)了。這是業(yè)務(wù)的水平改變,也就是說,它們改變的是合作伙伴,而所有的業(yè)務(wù)操作基本上都保持不變。這里,業(yè)務(wù)接口可以作少許改變,而內(nèi)部操作卻不需要改變,Z所以這樣做,僅僅是為了能夠與外部合作伙伴一起工作。另一種形式是內(nèi)部改變,在這種改變屮,零售組織現(xiàn)在決定它還將把連鎖零售商店內(nèi)的一些地方出租給專賣流行

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。