版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、SOA系列之四:IBM ESB介紹1SOA 提供了一種靈活的、可擴(kuò)展且可組合的方法來(lái)重用和擴(kuò)展現(xiàn)有應(yīng)用程序以及構(gòu)造新的應(yīng)用程序。服務(wù)聲明它們實(shí)現(xiàn)的或期望其他服務(wù)實(shí)現(xiàn)的接口,并且聲明控制潛在伙伴交互的策略,從而公布各種功能(包括提供的和請(qǐng)求的)。Web 服務(wù)描述語(yǔ)言(Web Services Description Language,WSDL)和其他 Web 服務(wù)標(biāo)準(zhǔn)(如 WS-Policy)提供了用于這些聲明的詞匯。 前言2業(yè)務(wù)功能的虛擬化(SOA 的一個(gè)主要目標(biāo))是通過(guò)將服務(wù)的定義和使用與服務(wù)的實(shí)現(xiàn)分離開(kāi)來(lái)而實(shí)現(xiàn)的。我們可以使用各種技術(shù)實(shí)現(xiàn)服務(wù),這些技術(shù)包括 IBM WebSphere MQ
2、、IBM CICS 或 IBM IMS、Java 2 Platform Enterprise Edition (J2EE) Enterprise JavaBeans (EJB)、Java 類(lèi)、IBM DB2 查詢(xún)、Java 消息服務(wù) (JMS) 或 Microsoft .NET。服務(wù)請(qǐng)求者將請(qǐng)求發(fā)送到提供其所需功能的服務(wù)提供者,而不必考慮它如何實(shí)現(xiàn)。前言-續(xù)13ESB 是一種體系結(jié)構(gòu)模式,支持在SOA體系結(jié)構(gòu)中虛擬化通信參與方之間的服務(wù)交互,并對(duì)其進(jìn)行管理。它提供服務(wù)提供者和請(qǐng)求者之間的連接,即使它們并非完全匹配,也能夠使它們進(jìn)行交互。此模式可以使用各種中間件技術(shù)和編程模型實(shí)現(xiàn)。在 ESB 模
3、式中,服務(wù)交互的參與方并不直接交互,而是通過(guò)一個(gè)總線(xiàn)交互,該總線(xiàn)提供虛擬化和管理功能來(lái)實(shí)現(xiàn)和擴(kuò)展 SOA 的核心定義。企業(yè)服務(wù)總線(xiàn)(Enterprise Service Bus,ESB)4位置和標(biāo)識(shí): 參與方不需要知道其他參與方的位置或標(biāo)識(shí)。例如,請(qǐng)求者不需要知道請(qǐng)求是否可以由某個(gè)提供者提供服務(wù)。您可以隨意添加或刪除服務(wù)提供者,而不會(huì)帶來(lái)任何干擾。 交互協(xié)議: 參與方不需要采用相同的通信協(xié)議或交互方式。表達(dá)為 SOAP/HTTP 的請(qǐng)求可能由僅理解 Java 遠(yuǎn)程方法調(diào)用 (RMI) 的提供者提供服務(wù)。 接口: 請(qǐng)求者和提供者不需要就公共接口達(dá)成協(xié)議。ESB 可以通過(guò)將請(qǐng)求消息轉(zhuǎn)換為提供者所期
4、望的格式來(lái)處理此類(lèi)差異。 (交互)服務(wù)質(zhì)量 (QoS): 參與方聲明其 QoS 要求,包括性能和可靠性、請(qǐng)求的授權(quán)、消息內(nèi)容的加密/解密、服務(wù)交互的自動(dòng)審核以及如何對(duì)請(qǐng)求進(jìn)行路由(如根據(jù)工作負(fù)載分布標(biāo)準(zhǔn)將請(qǐng)求路由到可用的實(shí)現(xiàn))。描述請(qǐng)求者和提供者的 QoS 要求和功能的策略可以由服務(wù)自己實(shí)現(xiàn)或者由進(jìn)行不匹配補(bǔ)償?shù)?ESB 實(shí)現(xiàn)。 IBM ESB 模式提供以下幾方面的虛擬化:5ESB 模式使得服務(wù)請(qǐng)求者不用了解服務(wù)提供者的物理實(shí)現(xiàn)從應(yīng)用程序開(kāi)發(fā)人員和部署人員的角度來(lái)看均是如此。ESB總線(xiàn)負(fù)責(zé)將請(qǐng)求交付給提供所需功能和 QoS 的服務(wù)提供者。服務(wù)提供者接收他們要響應(yīng)的請(qǐng)求,而不知道消息的來(lái)源。ES
5、B 本身對(duì)使用它的服務(wù)請(qǐng)求者和提供者均不可見(jiàn)。應(yīng)用程序邏輯可以使用各種編程模型和技術(shù)調(diào)用或交付服務(wù),而無(wú)需考慮是直接連接還是通過(guò) ESB 傳遞的。連接到 ESB 是部署決策,應(yīng)用程序源代碼不會(huì)受到影響。ESB概念小結(jié)6ESB 支持許多交互類(lèi)型,包括單向、請(qǐng)求/響應(yīng)、異步、同步和發(fā)布/訂閱。它還支持復(fù)雜事件處理(在復(fù)雜事件處理中,可能會(huì)觀測(cè)到一系列事件),以產(chǎn)生一個(gè)事件作為該系列中的關(guān)系的結(jié)果。ESB支持的交互類(lèi)型7ESB基本模式-圖8消息流過(guò)將各個(gè)通信參與方相互連接在一起的總線(xiàn)。某些參與方會(huì)調(diào)用其他參與方提供的服務(wù);而其他參與方則會(huì)向感興趣的使用者發(fā)布信息。端點(diǎn)與 ESB 交互的位置稱(chēng)為服務(wù)交
6、互點(diǎn) (SIP)。例如,SIP 可以是 Web 服務(wù)端點(diǎn)、WebSphere MQ 隊(duì)列或 RMI 遠(yuǎn)程對(duì)象的代理。服務(wù)注冊(cè)表將捕獲描述以下內(nèi)容的元數(shù)據(jù):SIP 的要求和功能(例如,提供或需要的接口)、它們希望與其他 SIP 的交互方式(例如,同步或異步,通過(guò) HTTP 或 JMS)、它們的 QoS 要求(例如,首選的安全、可靠交互)以及支持與其他 SIP 交互的其他信息(例如,語(yǔ)義注釋?zhuān)?。ESB基本模式描述9將總線(xiàn)插入?yún)⑴c方之間,提供了將它們的交互通過(guò)稱(chēng)為中介 的構(gòu)造進(jìn)行協(xié)調(diào)的機(jī)會(huì)。中介對(duì)請(qǐng)求者和提供者之間動(dòng)態(tài)傳遞的消息進(jìn)行操作。對(duì)于復(fù)雜的交互,可以按順序?qū)⒅薪檫B在一起。中介模式部分討論了實(shí)
7、現(xiàn)這些虛擬化、QoS 和管理概念的常用中介模式。ESB基本模式描述-續(xù)110通過(guò)研究創(chuàng)建和管理 SOA 解決方案的用戶(hù)的角色及任務(wù),可以進(jìn)一步深入了解 ESB 模式。ESB 工具和運(yùn)行時(shí)將 SOA 解決方案的生命周期劃分為四個(gè)階段:發(fā)現(xiàn)與描述:對(duì)可以在整個(gè) ESB 中進(jìn)行互連的 SIP 進(jìn)行標(biāo)識(shí)和描述。這包括創(chuàng)建新的服務(wù)、發(fā)現(xiàn)現(xiàn)有服務(wù)、以及描述其接口、要求和功能。 建模與構(gòu)建:通過(guò)新建的或現(xiàn)有的中介進(jìn)行 SIP 互連,以描述解決方案的端到端交互。 配置與部署:針對(duì)特定的運(yùn)行時(shí)拓?fù)渑渲媒鉀Q方案的抽象聲明,并對(duì)其進(jìn)行部署,同時(shí)創(chuàng)建必要的運(yùn)行時(shí)構(gòu)件。 監(jiān)視與管理:通過(guò) SIP 和中介的行為監(jiān)視和管理
8、解決方案。此階段將使用 ESB 運(yùn)行時(shí)中的檢測(cè)和控制點(diǎn)、以及觀測(cè)和響應(yīng)消息流的中介。 SOA 用戶(hù)角色及其任務(wù)11對(duì)于 ESB 中間件,最重要的 SOA 解決方案開(kāi)發(fā)角色是集成開(kāi)發(fā)人員和解決方案管理員,但其中也涉及到業(yè)務(wù)分析人員、解決方案架構(gòu)師、實(shí)現(xiàn)人員、適配器開(kāi)發(fā)人員和操作人員。這些角色都是概念性的;一個(gè)人可以擔(dān)任其中的多個(gè)角色。SOA 用戶(hù)角色及其任務(wù)-續(xù)112SOA用戶(hù)角色的交互方式-圖13業(yè)務(wù)分析人員確定業(yè)務(wù)需求,并檢查業(yè)務(wù)流程。他們將概括出解決方案的目標(biāo)、涉及的業(yè)務(wù)流程、監(jiān)視解決方案的運(yùn)行狀況和狀態(tài)的關(guān)鍵指標(biāo),以及 IT 系統(tǒng)需要提供的業(yè)務(wù)服務(wù)的類(lèi)型。解決方案架構(gòu)師確定哪些業(yè)務(wù)需求可
9、以通過(guò)對(duì)現(xiàn)有 IT 資產(chǎn)進(jìn)行重用、修改或組合得到滿(mǎn)足,哪些需要編寫(xiě)或購(gòu)買(mǎi)新的 IT 資產(chǎn)。他們定義 IT 資產(chǎn)間的交互,包括消息交換的內(nèi)容。開(kāi)發(fā)工作在三個(gè)角色中分配: 實(shí)現(xiàn)人員編寫(xiě)新的應(yīng)用程序代碼,這些代碼將通過(guò)服務(wù)接口調(diào)用。 適配器開(kāi)發(fā)人員構(gòu)建包裝現(xiàn)有或新采購(gòu)的應(yīng)用程序和軟件包的服務(wù),從而為其他服務(wù)提供可訪(fǎng)問(wèn)性。 集成開(kāi)發(fā)人員使用 ESB 的相關(guān)工具和技術(shù)構(gòu)建邏輯,以控制請(qǐng)求在這些服務(wù)間路由的方式。解決方案管理員部署新的 IT 資產(chǎn)并將其服務(wù)定義導(dǎo)入到服務(wù)注冊(cè)表中,從而使新的 IT 資產(chǎn)可用。當(dāng)解決方案就緒后,操作人員將監(jiān)視其執(zhí)行,根據(jù)需要啟動(dòng)和停止 IT 系統(tǒng),并給解決方案管理員提供建議(
10、后者可能將據(jù)此調(diào)整解決方案配置)。14集成開(kāi)發(fā)人員和解決方案管理員會(huì)使用一組模式對(duì) SOA 解決方案進(jìn)行設(shè)計(jì)和部署?;?ESB 模式的元素-圖三ESB 模式15基本 ESB 模式將應(yīng)用程序組件抽象為一個(gè)服務(wù)集,這些服務(wù)通過(guò)總線(xiàn)進(jìn)行交互(而不是通過(guò)直接的點(diǎn)到點(diǎn)通信交互)。某個(gè)給定的服務(wù)既可以是提供者,也可以是請(qǐng)求者,或者同時(shí)兼有兩個(gè)角色。任何 SOA 實(shí)現(xiàn)都會(huì)支持基本虛擬化,允許在不影響依賴(lài)請(qǐng)求者的情況下替換等效提供者實(shí)現(xiàn)。ESB 模式通過(guò)其對(duì)請(qǐng)求者/提供者交互的顯式管理提高了此基本 SOA 功能。只要能提供與請(qǐng)求者所需的功能相似的功能,且 ESB 能對(duì)其進(jìn)行協(xié)調(diào),任何提供者都可以由另一個(gè)提供
11、者替代?;?ESB 模式16ESB 提供了交互點(diǎn),服務(wù)可以在此將消息放到總線(xiàn)上或從總線(xiàn)取走。它會(huì)對(duì)動(dòng)態(tài)消息應(yīng)用中介,并保證這些托管交互的 QoS。從 ESB 的角度來(lái)看,所有的服務(wù)交互端點(diǎn)都是類(lèi)似的,因?yàn)樗鼈兌及l(fā)送或處理請(qǐng)求/事件;它們都要求特定的 QoS;它們可能都需要交互協(xié)助。ESB 模式允許集成開(kāi)發(fā)人員以與處理新業(yè)務(wù)邏輯、流程編排組件或外部 Web 服務(wù)同樣(面向服務(wù))的方式對(duì)待與用戶(hù)交互的請(qǐng)求者或提供者?;?ESB 模式-續(xù)117交互模式:允許服務(wù)交互點(diǎn)將消息發(fā)送到總線(xiàn)或從總線(xiàn)接收消息。 中介模式:允許對(duì)消息交換進(jìn)行操作。 部署模式:支持將解決方案部署到聯(lián)合基礎(chǔ)設(shè)施中。用于構(gòu)建基于
12、 ESB 的解決方案的模式18ESB 允許端點(diǎn)通過(guò)總線(xiàn)以其本機(jī)交互模式進(jìn)行交互。它支持各種端點(diǎn)協(xié)議和交互方式。交互模式的例子包括:請(qǐng)求/響應(yīng):處理端點(diǎn)間的請(qǐng)求/響應(yīng)方式的交互。此 ESB 基于消息傳遞模型,因此由兩個(gè)相關(guān)的單向消息流對(duì)請(qǐng)求/響應(yīng)交互進(jìn)行處理,一個(gè)用于請(qǐng)求,一個(gè)用于響應(yīng)。 請(qǐng)求/多響應(yīng):上述類(lèi)型的變體,可以發(fā)送多個(gè)響應(yīng)。 事件傳播:事件可以匿名分發(fā)到由 ESB 管理的相關(guān)方列表。服務(wù)可以將自身添加到該列表中。 交互模式-圖19中介模式處理總線(xiàn)上的動(dòng)態(tài)消息(請(qǐng)求或事件)。由請(qǐng)求者發(fā)出的消息會(huì)轉(zhuǎn)換為稍微有些不兼容的提供者(從潛在的端點(diǎn)集中選擇)能夠理解的消息。這些中介操作單向消息而不
13、是請(qǐng)求/響應(yīng)對(duì),因?yàn)?ESB 將交互模式放在中介模式上。中介模式-圖20中介有多種基本模式,更為復(fù)雜的模式可以通過(guò)組合簡(jiǎn)單模式構(gòu)建:協(xié)議變換:允許服務(wù)請(qǐng)求者使用各種交互協(xié)議或 API(如 SOAP/HTTP、JMS 和 MQ IntegratorMQI)發(fā)送其消息。將請(qǐng)求代碼轉(zhuǎn)換為目標(biāo)服務(wù)提供者的格式??梢詰?yīng)用到交互的請(qǐng)求者端或提供者端,或同時(shí)應(yīng)用到兩端或兩者之間的任何位置。 轉(zhuǎn)換:將消息的有效負(fù)載(內(nèi)容)從請(qǐng)求者的模式轉(zhuǎn)換為提供者的模式??梢园?、反包封或加密。 充實(shí):通過(guò)添加來(lái)自外部數(shù)據(jù)源的信息(如由中介定義的自定義參數(shù)或者來(lái)自數(shù)據(jù)庫(kù)查詢(xún)的自定義參數(shù))來(lái)增加消息的有效負(fù)載。 路由:更改
14、消息的路由,可從支持請(qǐng)求者的意圖的服務(wù)提供者中選擇。選擇標(biāo)準(zhǔn)中可以包含消息內(nèi)容和上下文、以及目標(biāo)服務(wù)提供者的功能。 分發(fā):將消息分發(fā)到一組相關(guān)方,通常由訂閱者的相關(guān)概要驅(qū)動(dòng)。 監(jiān)視:在信息通過(guò)中介時(shí)觀測(cè)其是否發(fā)生改變??梢杂糜诒O(jiān)視服務(wù)水平;幫助確定問(wèn)題或?qū)τ脩?hù)進(jìn)行后續(xù)支付使用的貨幣單位;或記錄企業(yè)級(jí)事件(如價(jià)值超過(guò)一定數(shù)額的購(gòu)買(mǎi)行為)。還可以用于將消息記入日志,以供審核和后續(xù)數(shù)據(jù)挖掘之用。 相關(guān):從消息或事件流中派生復(fù)雜事件。包括模式標(biāo)識(shí)規(guī)則和響應(yīng)模式發(fā)現(xiàn)的規(guī)則(例如,通過(guò)生成派生自觸發(fā)事件流的內(nèi)容的復(fù)雜事件)。 21可以在解決方案中顯式地配置中介。例如,集成開(kāi)發(fā)人員可以配置一個(gè) enrich
15、 中介來(lái)修改消息內(nèi)容。解決方案管理員可以配置一個(gè) route 中介來(lái)允許其將某個(gè)服務(wù)提供者切換到脫機(jī)狀態(tài)。其他中介由 ESB 設(shè)置,以滿(mǎn)足服務(wù)請(qǐng)求者和服務(wù)提供者的 QoS 要求。例如,如果服務(wù)提供者的安全策略聲明要求使用加密消息,則 ESB 可以自動(dòng)配置一個(gè) encryption 中介。策略同樣也是服務(wù)的屬性,解決方案管理員可以為交互(或交互集)設(shè)置策略。例如,為了將要發(fā)送到特定外部提供者或交易值超過(guò) 1 百萬(wàn)美元的所有消息記錄到日志中。ESB 將通過(guò)配置中介(在本例中為monitor 中介)來(lái)實(shí)現(xiàn)策略。22中介模式和交互模式可以進(jìn)行組合,以實(shí)現(xiàn)更為復(fù)雜的模式。在協(xié)議變換后轉(zhuǎn)換格式可以實(shí)現(xiàn)規(guī)范
16、化適配器 模式,在這種模式中,所有相關(guān)方使用的消息和業(yè)務(wù)對(duì)象集都標(biāo)準(zhǔn)化為規(guī)范的格式。規(guī)范化適配器模式將端點(diǎn)的本機(jī)總線(xiàn)附加協(xié)議轉(zhuǎn)換為標(biāo)準(zhǔn)協(xié)議,實(shí)現(xiàn)有效負(fù)載規(guī)范化,并在交付時(shí)進(jìn)行這些轉(zhuǎn)換的反向轉(zhuǎn)換。另一種常見(jiàn)的復(fù)雜中介是轉(zhuǎn)換、記錄和路由 模式。網(wǎng)關(guān) 模式是一個(gè)復(fù)雜的協(xié)議變換變體。它可以合并轉(zhuǎn)換和監(jiān)視中介,以提供加密、日志記錄或?qū)徍说裙δ堋K€可以對(duì)一對(duì)多關(guān)系中的消息進(jìn)行聚合和反聚合。服務(wù)門(mén)戶(hù)是此類(lèi)模式的代表,它為多個(gè)服務(wù)提供單一聯(lián)系點(diǎn),并隱藏內(nèi)部服務(wù)的細(xì)節(jié)。復(fù)雜模式-圖23解決方案管理可以選擇多種 ESB 拓?fù)?。下面是一些常?jiàn)的例子:全局 ESB:所有服務(wù)共享一個(gè)名稱(chēng)空間,每個(gè)服務(wù)提供者對(duì)環(huán)境(異
17、構(gòu)、集中管理但分布在多個(gè)地理位置)中所有服務(wù)請(qǐng)求者均可見(jiàn)。供部門(mén)或小型企業(yè)使用,其中,所有服務(wù)都可能在整個(gè)組織中應(yīng)用。 直接連接的 ESB:公共服務(wù)注冊(cè)中心使幾個(gè)獨(dú)立的 ESB 安裝中的所有服務(wù)均可見(jiàn)。用于由業(yè)務(wù)部門(mén)提供和管理服務(wù)但整個(gè)企業(yè)中均可使用這些服務(wù)的場(chǎng)合。 代理 ESB:橋接服務(wù)有選擇地將請(qǐng)求者或提供者公開(kāi)給其他域中的合作伙伴,從而控制多個(gè) ESB 安裝(每個(gè)安裝都管理自己的名稱(chēng)空間)間的共享。ESB 間的服務(wù)交互通過(guò)實(shí)現(xiàn)橋接服務(wù)的公共代理進(jìn)行。供各個(gè)部門(mén)使用,這些部門(mén)開(kāi)發(fā)和管理自己的服務(wù),但共享其中部分服務(wù)或者有選擇地訪(fǎng)問(wèn)企業(yè)提供的服務(wù)。 聯(lián)合 ESB:將多個(gè)依賴(lài) ESB 聯(lián)合到其中的主 ESB。服
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育心理學(xué)模擬考核試卷含答案
- 2024年度山西省高校教師資格證之高等教育法規(guī)考前沖刺試卷A卷含答案
- 二年級(jí)數(shù)學(xué)計(jì)算題專(zhuān)項(xiàng)練習(xí)集錦
- (中職組)2019年全國(guó)職業(yè)院校技能大賽電子電路裝調(diào)與應(yīng)用
- 2024供應(yīng)商長(zhǎng)期合作協(xié)議參考格式
- ICP資質(zhì)申請(qǐng)咨詢(xún)與服務(wù)協(xié)議
- 2024安全禽蛋買(mǎi)賣(mài)協(xié)議范本
- 2024年磚瓦行業(yè)材料買(mǎi)賣(mài)協(xié)議范本
- 2024礦石運(yùn)輸承包具體協(xié)議樣式
- 房產(chǎn)中介2024居間協(xié)議樣式
- 《中國(guó)特色社會(huì)主義政治經(jīng)濟(jì)學(xué)(第二版)》第三章社會(huì)主義所有制制度
- 人衛(wèi)第七版醫(yī)學(xué)統(tǒng)計(jì)學(xué)課后答案及解析-李康、賀佳主編
- 三年級(jí)上冊(cè)美術(shù)課件-第7課 黃色和藍(lán)色的畫(huà) 人美版 (共21張PPT)
- 五年級(jí)上冊(cè)英語(yǔ)課件-Unit5 What do they do?(第一課時(shí))|譯林版(三起) (共20張PPT)
- 小學(xué)五年級(jí)整本書(shū)閱讀方案
- 廣西建筑施工企業(yè)三類(lèi)人員-公共知識(shí)考試題庫(kù)(含答案)
- imedical7.1住院醫(yī)生工作站使用說(shuō)明書(shū)
- 機(jī)械維修加工收費(fèi)標(biāo)準(zhǔn)
- 物業(yè)公司安全生產(chǎn)管理制度和操作規(guī)程手冊(cè)
- DB13T 5387-2021 水庫(kù)庫(kù)容曲線(xiàn)修測(cè)及特征值復(fù)核修正技術(shù)導(dǎo)則
- 信息技術(shù)ppt課件完整版
評(píng)論
0/150
提交評(píng)論