【正文】
一半集中于體系結(jié)構(gòu)的功能性方面,而右邊的一半集中于體系結(jié)構(gòu)的服務(wù)質(zhì)量方面。l 服務(wù)描述實(shí)際可供使用的服務(wù)。服務(wù)注冊(cè)中心可以給需要集中式存儲(chǔ)庫(kù)的服務(wù)提供其他的功能。 l 傳輸是屬性集,可以應(yīng)用于一組服務(wù),以提供一致的結(jié)果。這些協(xié)作遵循“查找、綁定和調(diào)用”范例,其中,服務(wù)使用者執(zhí)行動(dòng)態(tài)服務(wù)定位,方法是查詢服務(wù)注冊(cè)中心來(lái)查找與其標(biāo)準(zhǔn)匹配的服務(wù)。它發(fā)起對(duì)注冊(cè)中心中的服務(wù)的查詢,通過(guò)傳輸綁定服務(wù),并且執(zhí)行服務(wù)功能。 l 服務(wù)注冊(cè)中心:服務(wù)注冊(cè)中心是服務(wù)發(fā)現(xiàn)的支持者。 l 發(fā)現(xiàn):服務(wù)請(qǐng)求者定位服務(wù),方法是查詢服務(wù)注冊(cè)中心來(lái)找到滿足其標(biāo)準(zhǔn)的服務(wù)。它指定來(lái)自服務(wù)的請(qǐng)求和響應(yīng)的格式。 l 服務(wù)是松散耦合的。最后,我們需要說(shuō)明的是,面向服務(wù)的體系結(jié)構(gòu)并不是一個(gè)新的概念。圖 28 面向服務(wù)的體系結(jié)構(gòu)的不同實(shí)現(xiàn) SOA 范圍中的服務(wù)在面向服務(wù)的體系結(jié)構(gòu)中,映射到業(yè)務(wù)功能的服務(wù)是在業(yè)務(wù)流程分析的過(guò)程中確定的。服務(wù)還可以由其他服務(wù)組合而成。服務(wù)是由一些組件組成的,這些組件一起工作,共同提供服務(wù)所請(qǐng)求的業(yè)務(wù)功能。圖 29 定購(gòu)單組件模型在基于組件的設(shè)計(jì)中,可以創(chuàng)建組件來(lái)嚴(yán)格匹配業(yè)務(wù)實(shí)體(如顧客(Customer)、定購(gòu)單(Purchase Order)、定購(gòu)項(xiàng)(Order Item)),并且封裝匹配這些實(shí)體所期望的行為的行為。在面向服務(wù)的設(shè)計(jì)中,不能基于業(yè)務(wù)實(shí)體設(shè)計(jì)服務(wù)。顧客服務(wù)擁有所有與它管理的顧客有關(guān)的數(shù)據(jù),并且能夠代表調(diào)用方進(jìn)行其他服務(wù)查詢,以提供統(tǒng)一的顧客服務(wù)視圖。需要經(jīng)濟(jì)而靈活的 IT 基礎(chǔ)設(shè)施來(lái)支持企業(yè)。l 更易于集成和管理復(fù)雜性。當(dāng)更多的企業(yè)一起協(xié)作提供價(jià)值鏈時(shí),這會(huì)變得更加重要。這使得可以快速地開(kāi)發(fā)新的業(yè)務(wù)服務(wù),并允許組織迅速地對(duì)改變做出響應(yīng)和減少上市準(zhǔn)備時(shí)間。l 說(shuō)到做到通過(guò) SOA,企業(yè)可以未雨綢繆,為未來(lái)做好充分的準(zhǔn)備。請(qǐng)別指望一個(gè)晚上就將整個(gè)企業(yè)系統(tǒng)遷移到面向服務(wù)的體系結(jié)構(gòu),我們推薦的方法是,在業(yè)務(wù)要求出現(xiàn)或露出苗頭時(shí)遷移企業(yè)功能的適當(dāng)部分。SOA 提供了靈活性和響應(yīng)能力,這對(duì)于企業(yè)的生存和發(fā)展來(lái)說(shuō)是至關(guān)重要的。通過(guò)以松散耦合的方式公開(kāi)的業(yè)務(wù)服務(wù),企業(yè)可以根據(jù)業(yè)務(wù)要求更輕松地使用和組合服務(wù)。從現(xiàn)有的服務(wù)中組合新的服務(wù)的能力為需要靈活地響應(yīng)苛刻的商業(yè)要求的組織提供了獨(dú)特的優(yōu)勢(shì)。這提供了實(shí)現(xiàn)透明性,并將基礎(chǔ)設(shè)施和實(shí)現(xiàn)發(fā)生的改變所帶來(lái)的影響降到最低限度。SOA 提供了一個(gè)抽象層,通過(guò)這個(gè)抽象層,企業(yè)可以繼續(xù)利用它在 IT 方面的投資,方法是將這些現(xiàn)有的資產(chǎn)包裝成提供企業(yè)功能的服務(wù)。 第四部分:面向服務(wù)的體系結(jié)構(gòu)所帶來(lái)的好處如前所述,企業(yè)正在處理兩個(gè)問(wèn)題:迅速地改變的能力和降低成本的要求。例如,顧客服務(wù)將響應(yīng)來(lái)自任何其他系統(tǒng)或需要訪問(wèn)顧客信息的服務(wù)的請(qǐng)求。每個(gè)組件的實(shí)現(xiàn)都封裝在接口的后面。另外,雖然服務(wù)映射到業(yè)務(wù)功能,但是組件通常映射到業(yè)務(wù)實(shí)體和操作它們的業(yè)務(wù)規(guī)則。它與編程語(yǔ)言術(shù)語(yǔ)中的對(duì)象不同。每個(gè)服務(wù)都有定義良好的接口,通過(guò)該接口就可以發(fā)現(xiàn)、發(fā)布和調(diào)用服務(wù)。面向服務(wù)的體系結(jié)構(gòu)的早期采用者還曾成功地基于消息傳遞系統(tǒng)(如 IBM WebSphere MQ)創(chuàng)建過(guò)他們自己的面向服務(wù)企業(yè)體系結(jié)構(gòu)。 l 服務(wù)是由組件組成的組合模塊。 除了動(dòng)態(tài)服務(wù)發(fā)現(xiàn)和服務(wù)接口契約的定義之外,面向服務(wù)的體系結(jié)構(gòu)還具有以下特征:l 服務(wù)是自包含和模塊化的。 面向服務(wù)的體系結(jié)構(gòu)中的構(gòu)件包括:l 服務(wù):可以通過(guò)已發(fā)布接口使用服務(wù),并且允許服務(wù)使用者調(diào)用服務(wù)。 面向服務(wù)的體系結(jié)構(gòu)中的每個(gè)實(shí)體都扮演著服務(wù)提供者、使用者和注冊(cè)中心這三種角色中的某一種(或多種)。 l 服務(wù)提供者:服務(wù)提供者是一個(gè)可通過(guò)網(wǎng)絡(luò)尋址的實(shí)體,它接受和執(zhí)行來(lái)自使用者的請(qǐng)求。下圖展示了面向服務(wù)的體系結(jié)構(gòu)中協(xié)作支持