版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第12章面向服務(wù)應(yīng)用的體系結(jié)構(gòu)12.1引言
12.2應(yīng)用的體系結(jié)構(gòu)
12.3面向服務(wù)應(yīng)用的體系結(jié)構(gòu)的例子
12.4討論本章主要敘述SOAA(面向服務(wù)應(yīng)用的體系結(jié)構(gòu))。SOAA類似于傳統(tǒng)的軟件體系結(jié)構(gòu),但由于它是面向服務(wù)的,所以具有自身的特性。特別地,SOAA可以是動(dòng)態(tài)的,也就是說,在運(yùn)行時(shí)使用已存在的服務(wù)可以組合和再組合應(yīng)用。本章首先介紹SOAA的基本構(gòu)成,并給出幾種大家熟知的基于SOA的應(yīng)用的體系結(jié)構(gòu)。
和傳統(tǒng)軟件相比較,SOA軟件具有以下特征:
①基于標(biāo)準(zhǔn)的互操作性;
②通過發(fā)現(xiàn)服務(wù)進(jìn)行靜態(tài)和動(dòng)態(tài)組合;
③動(dòng)態(tài)管理和編排。12.1引言對運(yùn)行的服務(wù)必須進(jìn)行控制并提供一些可用機(jī)制。一個(gè)是基于策略計(jì)算的策略管理服務(wù),更具體地說,在開發(fā)期和運(yùn)行期可以指定、檢查和執(zhí)行策略。另一個(gè)是編排,一個(gè)中心控制器協(xié)調(diào)過程的執(zhí)行并負(fù)責(zé)服務(wù)的運(yùn)行調(diào)度,服務(wù)是分布式的,跨越互連的網(wǎng)略,例如ESB(企業(yè)服務(wù)總線)。
正如第1章所說,有一些SOA的變種。例如,SOA允許工作流、數(shù)據(jù)、協(xié)作模板、用戶接口、測試腳本等的發(fā)布和發(fā)現(xiàn),如圖12.1和圖12.2所示。
圖12.1SOAA關(guān)注SOA的應(yīng)用部分圖12.2使用體系結(jié)構(gòu)模版的基于本體的動(dòng)態(tài)組合SOA有以下變種:
(1)發(fā)布工作流和協(xié)作模板:典型的例子是CCSOA(以客戶為中心的SOA),它的體系結(jié)構(gòu)如圖12.3。除了在SOA中發(fā)布服務(wù)規(guī)范,CCSOA還發(fā)布工作流和應(yīng)用協(xié)作規(guī)范,并且可以發(fā)現(xiàn)、匹配和訂閱。
(2)發(fā)布數(shù)據(jù):典型的例子是DCSOA(以數(shù)據(jù)為中心的SOA),它的體系結(jié)構(gòu)如圖12.4所示。在DCSOA中,允許數(shù)據(jù)提供者在數(shù)據(jù)中介發(fā)布他們的數(shù)據(jù)。用RESTful服務(wù)可以很好地實(shí)現(xiàn)DCSOA。圖12.3CCSOA的體系結(jié)構(gòu)
圖12.4DCSOA的體系結(jié)構(gòu)
程序或計(jì)算系統(tǒng)的體系結(jié)構(gòu)就是系統(tǒng)的結(jié)構(gòu)。通常,它包含組件及組件間的關(guān)系。最通用的體系結(jié)構(gòu)是層次體系結(jié)構(gòu),這種結(jié)構(gòu)是處于外層的進(jìn)程和服務(wù)調(diào)用內(nèi)層的進(jìn)程和服務(wù)。其他常用的體系結(jié)構(gòu)包括以數(shù)據(jù)為中心的體系結(jié)構(gòu),虛擬機(jī)體系結(jié)構(gòu)以及調(diào)用返回體系結(jié)構(gòu)。12.2應(yīng)用的體系結(jié)構(gòu)
SOA應(yīng)用有自己的體系結(jié)構(gòu)和體系結(jié)構(gòu)風(fēng)格。IBM為WebSphere應(yīng)用提出了一個(gè)五層體系結(jié)構(gòu)模板,如圖12.5所示:表示層、業(yè)務(wù)流程共同設(shè)計(jì)層、服務(wù)層、企業(yè)構(gòu)件層和運(yùn)行系統(tǒng)層。這個(gè)體系結(jié)構(gòu)也包括兩個(gè)支持機(jī)制,集成化體系結(jié)構(gòu)以及服務(wù)質(zhì)量、安全、管理和監(jiān)控。這兩個(gè)機(jī)制應(yīng)用到每一層。這種體系結(jié)構(gòu)風(fēng)格實(shí)際上類似于傳統(tǒng)的企業(yè)體系結(jié)構(gòu),它們經(jīng)常是層次化的體系結(jié)構(gòu)。
圖12.5IBMWebsphere的層次化的SOAA
其他大家熟知的體系結(jié)構(gòu)包括微軟的WF項(xiàng)目、SAP的NetWeaver和不同企業(yè)的SOA應(yīng)用,如企業(yè)SOA和面向服務(wù)的企業(yè)。表12.1概括了這些工作。表12.1SOAA的例子在傳統(tǒng)的軟件設(shè)計(jì)中,軟件部署后體系結(jié)構(gòu)就不能改變。在SOA中,基本的構(gòu)建塊是服務(wù)。服務(wù)被連接到類似總線的通信中樞,例如ESB。服務(wù)間的通信通過控制中心控制,它也被連接到通信中樞,如圖12.6所示。這種體系結(jié)構(gòu)用于描述IBMWebSphere的體系結(jié)構(gòu)以及其他SOAA樣式。
圖12.6通用的面向服務(wù)應(yīng)用的體系結(jié)構(gòu)控制中心通常有一個(gè)組合管理員,它通過工作流規(guī)范指定和控制應(yīng)用配置。應(yīng)用配置/工作流規(guī)范定義了服務(wù)如何被連接在一起去實(shí)現(xiàn)指定的應(yīng)用以及消息在服務(wù)間如何傳輸。對于這種體系結(jié)構(gòu),用戶可以用不同的體系結(jié)構(gòu)甚至不同的體系結(jié)構(gòu)風(fēng)格組合應(yīng)用。
這種新方法允許新的服務(wù)加入到系統(tǒng)中,此外,通過簡單地改變工作流規(guī)范而不改變基本的SOA框架,就可以用已存在的服務(wù)組合新的應(yīng)用。
由于SOA的動(dòng)態(tài)性,基于SOA應(yīng)用的體系結(jié)構(gòu)具有不同于傳統(tǒng)軟件體系結(jié)構(gòu)的以下特征:動(dòng)態(tài)體系結(jié)構(gòu)、動(dòng)態(tài)再組合、嵌入在運(yùn)行的基礎(chǔ)設(shè)施體系結(jié)構(gòu)中的生命周期管理。12.2.1動(dòng)態(tài)體系結(jié)構(gòu)和動(dòng)態(tài)組合
傳統(tǒng)的軟件體系結(jié)構(gòu)是固定的。換句話說,一旦通過組件和組件間的連接,部署了體系結(jié)構(gòu),就不能改變。圖12.7通過一個(gè)簡單的例子說明了這一點(diǎn)。
圖12.7傳統(tǒng)體系結(jié)構(gòu)的例子在這個(gè)例子中,使用了四個(gè)組件,其中構(gòu)件1可以和構(gòu)件2,3,4通信。同樣,構(gòu)件2可以和構(gòu)件1,構(gòu)件4通信。體系結(jié)構(gòu)的拓?fù)浣Y(jié)構(gòu)在設(shè)計(jì)的時(shí)候就確定了,應(yīng)用部署后,體系結(jié)構(gòu)很難改變。例如,應(yīng)用部署后,如果用戶發(fā)現(xiàn)星型結(jié)構(gòu)能更好地滿足用戶的需求,為了交付新的應(yīng)用,應(yīng)用構(gòu)件者就需要返回到設(shè)計(jì)階段,重新設(shè)計(jì)、實(shí)現(xiàn)、部署。
如圖12.6所示,在SOA中,控制中心通常有一個(gè)組合管理員,它通過工作流規(guī)范指定和控制應(yīng)用配置。應(yīng)用配置/工作流規(guī)范定義了服務(wù)如何連接在一起構(gòu)成用戶希望的應(yīng)用以及消息如何在服務(wù)間傳輸。使用這種體系結(jié)構(gòu),用戶可以用不同的體系結(jié)構(gòu)甚至不同的體系結(jié)構(gòu)風(fēng)格組合應(yīng)用。對于有四個(gè)服務(wù)的簡單系統(tǒng),可組合成的體系結(jié)構(gòu)如圖12.8所示。
這種方法允許在不改變應(yīng)用的前提下為應(yīng)用添加新的服務(wù)。此外,通過簡單地改變工作流規(guī)范而不改變基本的SOA框架,可用已有的服務(wù)組合新的應(yīng)用。
圖12.8不同應(yīng)用體系結(jié)構(gòu)配置12.2.2動(dòng)態(tài)再組合
SOAA的另一個(gè)獨(dú)一無二的特征是它能夠動(dòng)態(tài)再組合一個(gè)應(yīng)用。不同于動(dòng)態(tài)組合,動(dòng)態(tài)再組合指的是運(yùn)行時(shí)SOA應(yīng)用能改變他自己的體系結(jié)構(gòu),包括替換服務(wù)或者改變互聯(lián)服務(wù)的體系結(jié)構(gòu)的拓?fù)浣Y(jié)構(gòu)。動(dòng)態(tài)組合指的是SOA應(yīng)用使用一組相同的服務(wù)組合成具有不同拓?fù)浣Y(jié)構(gòu)的應(yīng)用的體系結(jié)構(gòu)。動(dòng)態(tài)組合發(fā)生在系統(tǒng)建模和組裝階段,而動(dòng)態(tài)再組合發(fā)生在目標(biāo)應(yīng)用部署后。動(dòng)態(tài)組合與動(dòng)態(tài)再組合的不同之處在于動(dòng)態(tài)再組合的建模和組裝實(shí)際上是當(dāng)已有的應(yīng)用正在運(yùn)行時(shí)進(jìn)行重新建模和重新組裝。傳統(tǒng)的容錯(cuò)計(jì)算在應(yīng)用中使用冗余模塊,實(shí)際上就是用復(fù)制模塊代替已失敗的模塊。它類似于動(dòng)態(tài)再組合。然而,傳統(tǒng)的容錯(cuò)機(jī)制在一個(gè)固定的體系結(jié)構(gòu)中。換句話說,如果系統(tǒng)體系結(jié)構(gòu)不是很好時(shí),它可以替換一個(gè)失效的模塊,但不能動(dòng)態(tài)改變應(yīng)用的體系結(jié)構(gòu)以消除可靠性問題的根源。然而,通過SOA應(yīng)用的動(dòng)態(tài)再組合,兩者都成為可能。為了進(jìn)行改變,僅僅只需改變應(yīng)用配置或工作流規(guī)范,則目標(biāo)應(yīng)用立即被組裝、部署和管理。
雖然動(dòng)態(tài)組合是SOA的一個(gè)關(guān)鍵特征,但因?yàn)閯?dòng)態(tài)再組合在運(yùn)行時(shí)對已存在的應(yīng)用快速更改,并且對再配置管理的影響很小,所以給SOA帶來了更高的靈活性。12.2.3嵌入在運(yùn)行基礎(chǔ)設(shè)施中的生命周期管理
SOAA還有一個(gè)特征是為了促進(jìn)動(dòng)態(tài)軟件組合,而嵌入在運(yùn)行基礎(chǔ)設(shè)施中的生命周期管理。在這種方式下,SOA應(yīng)用的開發(fā)基礎(chǔ)設(shè)施和運(yùn)行基礎(chǔ)設(shè)施被集成為一個(gè)統(tǒng)一的SOA基礎(chǔ)設(shè)施。
(1)開發(fā)基礎(chǔ)設(shè)施一般包括建模、分析、設(shè)計(jì)、體系結(jié)構(gòu)、代碼生成、驗(yàn)證和確認(rèn),例如測試和模型檢查。
(2)運(yùn)行基礎(chǔ)設(shè)施一般包括代碼部署、代碼執(zhí)行、策略實(shí)施、監(jiān)控、通信和系統(tǒng)重新配置。
SOA環(huán)境將包含上面兩個(gè)基礎(chǔ)設(shè)施的特征。IBMSOA基礎(chǔ)體系結(jié)構(gòu)由以下幾個(gè)階段組成:建模、組裝、部署和管理。此外,為了引導(dǎo)和監(jiān)督目標(biāo)SOA應(yīng)用,將執(zhí)行運(yùn)行監(jiān)控活動(dòng)。四個(gè)階段的活動(dòng)按照循環(huán)方式執(zhí)行。
(1)建模:收集需求并建立應(yīng)用模型,用一組服務(wù)表示系統(tǒng)。
(2)組裝:根據(jù)建立的模型,設(shè)計(jì)者或者創(chuàng)建需要的服務(wù)或者從服務(wù)中介查找現(xiàn)有的服務(wù)以開發(fā)應(yīng)用。
(3)部署:配置運(yùn)行環(huán)境滿足應(yīng)用的需求,同時(shí)部署應(yīng)用到環(huán)境中并運(yùn)行。
(4)管理:應(yīng)用部署后,提供應(yīng)用使用的服務(wù)并進(jìn)行監(jiān)控,收集必要的信息,以幫助預(yù)防、隔離、診斷、修復(fù)運(yùn)行時(shí)可能發(fā)生的任何問題。
(5)監(jiān)管和過程:整個(gè)過程需要使用國際標(biāo)準(zhǔn),組織中的任何人都要遵守過程。
IBMSOA的基礎(chǔ)生命周期把開發(fā)活動(dòng)(建模和組裝)和運(yùn)行活動(dòng)(部署和管理)集成為一個(gè)單一的過程,如圖12.9所示。
圖12.9IBMSOA基礎(chǔ)生命周期基礎(chǔ)生命周期也是一個(gè)模型驅(qū)動(dòng)的應(yīng)用開發(fā)過程。這個(gè)具有監(jiān)管和過程的環(huán)形過程和目標(biāo)SOA應(yīng)用一起交付給用戶。當(dāng)需要改變應(yīng)用體系結(jié)構(gòu)時(shí),用戶只需重新制定系統(tǒng)模型,應(yīng)用將被重新組裝,重新部署和重新監(jiān)控。
微軟在它的WF項(xiàng)目中也采用了這種方法,WF也具有建模、體系結(jié)構(gòu)、代碼生成、代碼部署和代碼執(zhí)行的能力。在WF中,SOA設(shè)計(jì)者從服務(wù)池中選擇服務(wù)并指定體系結(jié)構(gòu)說明服務(wù)間如何通信。體系結(jié)構(gòu)框圖完成后,不需要知道模塊服務(wù)的細(xì)節(jié),設(shè)計(jì)者就可以執(zhí)行它,查看應(yīng)用是否按照預(yù)想進(jìn)行工作。稍后,通過改變模型或者體系結(jié)構(gòu),就可以容易地改變應(yīng)用。另一個(gè)采用這種方法的應(yīng)用是PESOI(處理嵌入式的面向服務(wù)的基礎(chǔ)設(shè)施),它把開發(fā)和運(yùn)行基礎(chǔ)設(shè)施集成到被開發(fā)的應(yīng)用中。這種方法有廣泛的SOSE支持。在開發(fā)和運(yùn)行時(shí),有自動(dòng)化工具支持SOSE活動(dòng),這些工具快速檢查正確性和應(yīng)用中的服務(wù)的質(zhì)量。當(dāng)開發(fā)應(yīng)用時(shí),相關(guān)的SOA應(yīng)用開發(fā)基礎(chǔ)設(shè)施被嵌入到目標(biāo)應(yīng)用并交付給用戶。一個(gè)可能的PESOI體系結(jié)構(gòu)如圖12.10所示。
圖12.10PESOI參考體系結(jié)構(gòu)圖12.11說明了用PESOI參考體系結(jié)構(gòu)開發(fā)的應(yīng)用體系結(jié)構(gòu)模板。用來組合預(yù)想應(yīng)用的服務(wù)被連接到通信中樞以及中心控制器的服務(wù)上。為服務(wù)建模能幫助用戶建立目標(biāo)應(yīng)用的體系結(jié)構(gòu)模型、過程模型和策略模型。通過V&V服務(wù),驗(yàn)證和確認(rèn)這些模型。動(dòng)態(tài)組合管理器根據(jù)模型從服務(wù)庫中挑選合適的服務(wù)組合預(yù)想應(yīng)用。
圖12.11PESOI應(yīng)用體系結(jié)構(gòu)系統(tǒng)組裝和部署完成后,數(shù)據(jù)收集服務(wù)將一直監(jiān)控應(yīng)用服務(wù)。分析服務(wù)分析收集到的運(yùn)行數(shù)據(jù)。如果故障處理?xiàng)l件被觸發(fā),就調(diào)用動(dòng)態(tài)工作流規(guī)范服務(wù)修改系統(tǒng)組合規(guī)范以適應(yīng)改變了的環(huán)境。如果在運(yùn)行時(shí)無法解決問題,通過模型化服務(wù)檢查或更改系統(tǒng)模型的方式讓用戶參與進(jìn)來。
本節(jié)給出幾個(gè)大的計(jì)算機(jī)企業(yè)或社區(qū)提出的或?qū)嵤┑拿嫦蚍?wù)應(yīng)用的體系結(jié)構(gòu)的例子。12.3面向服務(wù)應(yīng)用的體系結(jié)構(gòu)的例子12.3.1IBMWebSphere的體系結(jié)構(gòu)
WebSphere集成化參考體系結(jié)構(gòu)旨在提供一組服務(wù)幫助在企業(yè)環(huán)境里進(jìn)行業(yè)務(wù)集成。關(guān)鍵的集成功能如圖12.12所示。
圖12.12WebSphere參考體系結(jié)構(gòu)此體系結(jié)構(gòu)的核心在于連接服務(wù),它提供了支持和實(shí)例化ESB的基礎(chǔ)設(shè)施。連接服務(wù)提供了三個(gè)主要的服務(wù):傳輸服務(wù)、事件服務(wù)和仲裁服務(wù)。
(1)傳輸服務(wù)為消息傳遞提供了位于有線和無線網(wǎng)絡(luò)之上的連接層,確保消息傳遞獨(dú)立于通信協(xié)議。
(2)事件服務(wù)為企業(yè)系統(tǒng)提供了事件驅(qū)動(dòng)的能力,因此系統(tǒng)能夠?qū)ψ鳛闃I(yè)務(wù)過程一部分的事件做出響應(yīng)。
(3)仲裁服務(wù)協(xié)調(diào)服務(wù)間的通信,進(jìn)行消息傳輸、消息路由和服務(wù)綁定。
連接到連接服務(wù)上的兩類服務(wù)如圖12.13所示。
圖12.13ESB體系結(jié)構(gòu)
(1)業(yè)務(wù)邏輯服務(wù):伙伴服務(wù)、業(yè)務(wù)應(yīng)用服務(wù)、應(yīng)用和信息資源。
(2)控制服務(wù):交互服務(wù)、過程服務(wù)和信息服務(wù)。
在三種類型的業(yè)務(wù)邏輯服務(wù)中,伙伴服務(wù)支持外部環(huán)境,例如外部伙伴、銷售商和供應(yīng)商,到傳統(tǒng)系統(tǒng)的集成,它也進(jìn)行不同協(xié)議和技術(shù)間的數(shù)據(jù)轉(zhuǎn)換。業(yè)務(wù)應(yīng)用服務(wù)支持把J2EE運(yùn)行環(huán)境集成到業(yè)務(wù)組件中。應(yīng)用和信息資源支持與第三方應(yīng)用,例如ERP、CRM、異質(zhì)數(shù)據(jù)源例如XML和RDBMS的交互??刂品?wù)把人員、業(yè)務(wù)過程和信息集成在一起。為了開發(fā)和運(yùn)行業(yè)務(wù)流程,控制服務(wù)恰當(dāng)?shù)目刂破髽I(yè)的業(yè)務(wù)數(shù)據(jù)和交互流。交互服務(wù)以恰當(dāng)?shù)母袷较蛴脩艚桓缎枰臄?shù)據(jù)和功能。過程服務(wù)管理流和服務(wù)的交互。應(yīng)用和信息服務(wù)提供了聯(lián)合、復(fù)制、查詢、分析和轉(zhuǎn)換數(shù)據(jù)源的功能。
圖的左邊是開發(fā)服務(wù),它提供了一個(gè)支持全部軟件生命周期的開發(fā)平臺(tái),這個(gè)生命周期包括需求分析、建模、模塊開發(fā)、測試以及代碼維護(hù)。
業(yè)務(wù)創(chuàng)新和優(yōu)化服務(wù)提供了業(yè)務(wù)流程持續(xù)改進(jìn)的基礎(chǔ)設(shè)施。
IT服務(wù)管理提供了安全、目錄、系統(tǒng)管理和資源虛擬化。例如,安全和目錄服務(wù)包括跨越企業(yè)的身份鑒定和授權(quán)。
最后,基礎(chǔ)設(shè)施服務(wù)封裝了計(jì)算平臺(tái)和資源相關(guān)性。通過這些服務(wù),用戶不必優(yōu)化服務(wù)質(zhì)量,例如吞吐率、可用性和性能等。
應(yīng)用服務(wù)在WEbSphere參考體系結(jié)構(gòu)的右邊,它們可以利用參考體系結(jié)構(gòu)提供的服務(wù)。12.3.2企業(yè)服務(wù)總線
在SOA環(huán)境中,ESB(企業(yè)服務(wù)總線)定義了一組支持模塊(服務(wù))集成和通信的標(biāo)準(zhǔn)。本質(zhì)上,ESB提供了支持不同SOAA的能力,它是SOA應(yīng)用集成的基本模塊。
圖12.13是一個(gè)典型的例子——Sonic軟件的SonicESB實(shí)現(xiàn)。ESB在建立企業(yè)SOA應(yīng)用中非常流行,它為應(yīng)用和服務(wù)提供了通信中樞和工作流控制。事實(shí)上,通過業(yè)務(wù)容器和適配器,各種應(yīng)用和服務(wù)都可插入ESB。
服務(wù)托管在服務(wù)容器中,一個(gè)服務(wù)容器托管一組服務(wù)并把它們與外部資源綁定。
ESB中的服務(wù)不局限于Web服務(wù),還包括建立在J2EE、.Net及遺產(chǎn)組件上的服務(wù),這些服務(wù)直接部署在ESB中。
通信中樞提供了安全可靠的通信。通過通信中樞,可以訪問其他網(wǎng)絡(luò)上的服務(wù),這些服務(wù)提供了統(tǒng)一的名字空間和聯(lián)合的安全環(huán)境。
為了實(shí)現(xiàn)上面的目標(biāo),ESB需要具備以下特征:
(1)統(tǒng)一路由、消息和獨(dú)立于協(xié)議和平臺(tái)的數(shù)據(jù)交換機(jī)制;
(2)企業(yè)服務(wù)的管理和監(jiān)控能力,通過這種能力允許組織管理和監(jiān)控服務(wù);
(3)處理業(yè)務(wù)服務(wù)和工作流;
(4)圖形化的快速的SOAA開發(fā)和集成能力,即通過易用的圖形化環(huán)境創(chuàng)建、編輯和服務(wù)集成,開發(fā)SOA企業(yè)應(yīng)用。
(5)快速自動(dòng)的應(yīng)用生成和數(shù)據(jù)集成技術(shù),一旦指定了模型和計(jì)算邏輯信息,SOA應(yīng)用將被集成并被部署到相關(guān)領(lǐng)域。12.3.3SAP的NetWeaver
SAPNetWeaver提供了和傳統(tǒng)應(yīng)用的集成,例如SAPR/3、mySAP和微軟的.Net平臺(tái)和IBM的WebSphere平臺(tái)上的SOA應(yīng)用的集成。
NetWeaver提出了“ESA(企業(yè)服務(wù)體系結(jié)構(gòu))”概念,它為過程模型和服務(wù)應(yīng)用提供了體系結(jié)構(gòu)框架?;旧?NetWeaver/ESA可以被視為:
(1)當(dāng)前應(yīng)用或新的SAP應(yīng)用的運(yùn)行和集成平臺(tái);
(2)互操作和集成平臺(tái),關(guān)注和IBM的WebSphere以及微軟的.Net技術(shù)的互操作性。
NetWeaver的體系結(jié)構(gòu)如圖12.14。圖12.14SAPNetWeaverNetWeaver通過W3C、WSI(Web服務(wù)互操作)組織、JCP(Java社區(qū)過程)和OASIS建立的標(biāo)準(zhǔn),提供了與其他應(yīng)用的互操作和集成。
交換基礎(chǔ)設(shè)施是NetWeaver的互操作性特征和業(yè)務(wù)流程管理的核心。交換基礎(chǔ)設(shè)施提供了許多用于互操作性的適配器,包括和WebSphere業(yè)務(wù)集成互操作的JMS適配器(MQSeries)和微軟的消息隊(duì)列(MSMQ)以及BizTalk互操作的伙伴適配器。如圖12.15所示,交換基礎(chǔ)設(shè)施由集成目錄和集成倉庫組成。集成服務(wù)管理由不同服務(wù)組成的應(yīng)用組件間的基于XML/SOAP的通信。集成目錄包含了運(yùn)行時(shí)所需的信息,例如集成腳本和業(yè)務(wù)過程。
SAPNetweaver的一個(gè)關(guān)鍵模塊是業(yè)務(wù)流程管理(BMP),它由以下組件組成:
(1)集成構(gòu)造器;
(2)集成倉庫;
(3)集成目錄;
(4)業(yè)務(wù)過程引擎。
集成構(gòu)造器是SAP的過程建模工具,它支持BPEL,允許導(dǎo)入和導(dǎo)出過程定義,能夠集成業(yè)務(wù)場景和業(yè)務(wù)過程。就如前面所說,場景和過程存儲(chǔ)在集成倉庫中。業(yè)務(wù)過程引擎是集成服務(wù)的一部分,它根據(jù)集成目錄中定義的流控制過程步驟。圖12.15NetWeaver交換基礎(chǔ)設(shè)施——業(yè)務(wù)過程管理(BPM)12.3.4用戶為中心的面向服務(wù)的體系結(jié)構(gòu)
UCSOA(用戶為中心的SOA)[chang2006]由Intel和亞利桑那州立大學(xué)聯(lián)合開發(fā),它是一個(gè)支持在CCSOA(客戶為中心的SOA)之上的客戶的新框架,UCSOA對SOA規(guī)范做了改進(jìn),提出了新的服務(wù)規(guī)范階段,也就是,用戶為中心的規(guī)范。以前,應(yīng)用構(gòu)建者是具備編程知識(shí)和技能的工程師。另一方面,用戶可能不具備編程技能,但他們知道軟件應(yīng)具有的功能以及應(yīng)如何使用軟件。在用戶為中心的規(guī)范方法中,需要一些技術(shù)支持不具有編程知識(shí)的最終用戶說明他們想要的應(yīng)用和服務(wù)。UCSOA的頂層架構(gòu)是一個(gè)四層的體系結(jié)構(gòu),如圖12.16所示。
(1)傳統(tǒng)的SOA層:這一層提供了傳統(tǒng)的SOA服務(wù),如發(fā)布、發(fā)現(xiàn)、服務(wù)中介。
(2)CCSOA層:CCSOA不僅發(fā)布服務(wù)規(guī)范,而且發(fā)布應(yīng)用模板和協(xié)作模式。在CCSOA中,為用戶和服務(wù)提供者提供了各種解決方案。
(3)COI(興趣社區(qū))層:在這一層,分類存儲(chǔ)和特定領(lǐng)域相關(guān)的通用解決方案。
(4)客戶相關(guān)層:每一個(gè)客戶有其特定的喜好和行為,因此會(huì)產(chǎn)生不同的應(yīng)用。
圖12.16UCSOA體系結(jié)構(gòu)
本章首先介紹了SOAA存在的問題,接著回顧了幾個(gè)已存在的SOAA。一個(gè)爭論點(diǎn)是大多數(shù)的SOAA類似于傳統(tǒng)的軟件體系結(jié)構(gòu),如層次化體系結(jié)構(gòu),但實(shí)際上SOAA有自己獨(dú)一無二的特性。SOAA經(jīng)常使用ESB,應(yīng)用體系結(jié)構(gòu)在模型中說明,在控制器中控制。這樣,在需要的時(shí)候SOAA可被改變和更新。SOAA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度智能安防監(jiān)控系統(tǒng)集成合同5篇
- 2024天津二手房買賣合同包含房屋裝修及拆除服務(wù)條款3篇
- 2024年文印部業(yè)務(wù)合作合同書模板版B版
- 2024年標(biāo)準(zhǔn)版二手挖掘機(jī)交易協(xié)議版B版
- 2024年金融機(jī)構(gòu)辦理房屋抵押貸款全權(quán)委托及風(fēng)險(xiǎn)評估合同2篇
- 2024年度青少年足球俱樂部招生合作協(xié)議2篇
- 連衣裙選購合同范例
- 2024版地磚施工勞務(wù)分包合同環(huán)保評估范本3篇
- 2024年度二手房全款購買及產(chǎn)權(quán)轉(zhuǎn)移合同3篇
- 北師大版小學(xué)六年級(jí)數(shù)學(xué)上冊第7單元第3課時(shí)百分?jǐn)?shù)的應(yīng)用(二)(1)課件
- 中國地質(zhì)大學(xué)(武漢)《自然語言處理》2022-2023學(xué)年第一學(xué)期期末試卷
- 【物理】2024-2025學(xué)年人教版物理八年級(jí)上冊 期末復(fù)習(xí)計(jì)算題
- 【MOOC】學(xué)術(shù)交流英語-東南大學(xué) 中國大學(xué)慕課MOOC答案
- 《機(jī)械制圖》復(fù)習(xí)題庫及答案2
- 古希臘文明智慧樹知到期末考試答案章節(jié)答案2024年復(fù)旦大學(xué)
- 跟阿銘學(xué)Linux課后練習(xí)題答案
- 建筑施工坍塌事故的預(yù)防和應(yīng)急措施
- 5S的開展進(jìn)程——現(xiàn)代企業(yè)現(xiàn)場的5S管理
- 填涂答題卡注意事項(xiàng)PPT精品文檔
- 工程使用說明書(共7頁)
- 中醫(yī)兒科病歷
評論
0/150
提交評論