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

下載本文檔

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

文檔簡介

1、 HYPERLINKhttp:/wwwnshu.n 理解面向服務(wù)的體系結(jié)構(gòu)中企業(yè)服務(wù)總線場景和解決方案第1 部分企業(yè)服務(wù)總線中的工作角色 HYPERLINK http:/ww-90ibm.om/evelperWrkn/wbserces/s-esbscen/ l auhor1 Rick Robinson(HYPERLINK N:整理后aito:ric_robsnuk.imcorickrobinok.ibm.cm)T 架構(gòu)師, IBM204 年 7月 本文確定了一組最低功能,能夠滿足企業(yè)服務(wù)總線(Enterprise SeviBus,E)與面向服務(wù)的體系結(jié)構(gòu)(service-oriented ac

2、hecure,SOA)的原則保持一致的差不多需要。通過確定這些最低功能,您能夠確定利用何種現(xiàn)有技術(shù)來實現(xiàn)支持 SOA 的 ESB。通過考慮特定情形下的需求如何確定對額外功能的需要,您能夠選擇最適合這種情形的實現(xiàn)技術(shù)。 引言最新的 IT 集成是使用 eb 服務(wù)技術(shù)實現(xiàn)面向服務(wù)的體系結(jié)構(gòu)(SOA),有許多優(yōu)秀的文章講述了該技術(shù)的好處和相關(guān)的實踐(請參見HYPERLINK N:整理后ttp:ww-9.dveoperWksnwebsecesw-esbscen l resuc參考資料)。最近,企業(yè)服務(wù)總線(Etrpse Serviceus,B)的概念被表述為 S 基礎(chǔ)架構(gòu)的關(guān)鍵組件(請參見HYPERIN

3、K http:/ww-900.imomvloerW/c/bsevis/wsssce/ l source 參考資料)。然而,有必要闡明 S 究竟是一個產(chǎn)品、技術(shù)、標準,依舊不的什么。特不是,當前是否能夠構(gòu)建 B?假如如此,該如何構(gòu)建?本文將 ES 描述為由中間件技術(shù)實現(xiàn)并支持 SA 的一組基礎(chǔ)架構(gòu)功能。ES 支持異構(gòu)環(huán)境中的服務(wù)、消息,以及基于事件的交互,同時具有適當?shù)姆?wù)級不和可治理性。為了達到此目的,需要將多種功能集中起來并加以分類。然而,并不是 ESB 能夠傳遞值的每一種情形都需要所有的功能。本文確定了一組最低功能,能夠滿足EB與 OA 的原則保持一致的差不多需要。通過確定這些最低功能,您

4、能夠確定利用何種現(xiàn)有技術(shù)來實現(xiàn)支持 SO 的 EB。通過考慮特定情形下的需求如何確定對額外功能的需要,您能夠選擇最適合這種情形的實現(xiàn)技術(shù)。在接下來的文章中,我將在 S 中定義一組 ESB 場景,以定義ESB或 SOA 實現(xiàn)的共同起點。而解決方案模式又為選擇適當?shù)膶崿F(xiàn)技術(shù)提供了指南。隨著ESB 解決方案的進展和成熟,它所需要的功能也在不斷地進展。同樣,可見的 SB產(chǎn)品的可用性和功能也日趨完善。因此,在本系列的最后一篇文章中,我將考慮SO 和 SB 的進展路線,以指導(dǎo) EB 功能和技術(shù)的最初應(yīng)用,同時闡述如何選擇循序漸進的方法。ES 在OA內(nèi)的工作角色盡管我不打算深入討論 SOA 的定義(請參見H

5、YPERLINK N:整理后htt:www-900.ibmomdeveopWkscwbserviesws-esbcen l rsues參考資料),然而在那個地點概括一下大部分對SOA 的描述所適用的原則是專門有用的:利用顯式的與實現(xiàn)無關(guān)的接口來定義服務(wù)。 利用強調(diào)位置透明性和可互操作性的通信協(xié)議。 封裝可重用業(yè)務(wù)功能的服務(wù)的定義。HYPERLINK N:整理后ttp:www-90.idevelperWorscnwebervicesw-ebsen l fiure1圖 1講明了這些原則。注意,盡管 eb服務(wù)技術(shù)特不符合這些原則,但它并不是唯一符合這些原則的技術(shù)。圖 1: SOA 的原則為了實現(xiàn) S

6、OA,應(yīng)用程序和基礎(chǔ)架構(gòu)都必須支持 SOA 原則。啟用SA 應(yīng)用程序涉及到創(chuàng)建服務(wù)接口,服務(wù)接口能夠直接也能夠間接地通過使用適配器用于現(xiàn)有的或新的功能。從最差不多的級不來看,啟用該基礎(chǔ)架構(gòu)涉及到規(guī)劃功能來將服務(wù)請求路由和傳遞給正確的服務(wù)提供者。然而,基礎(chǔ)架構(gòu)支持在不阻礙服務(wù)的客戶端的情況下由另一個服務(wù)實現(xiàn)替代原有的服務(wù)實現(xiàn)也是至關(guān)重要的。這不僅需要依照SOA 原則指定服務(wù)接口,而且需要基礎(chǔ)架構(gòu)同意客戶端代碼以獨立于所涉及的服務(wù)位置和通信協(xié)議的方式來調(diào)用服務(wù)。如此的服務(wù)路由和替代是EB 的許多功能中的一部分。B 支持這些服務(wù)交互功能,并提供集成的通信、消息傳遞以及事件基礎(chǔ)架構(gòu)來支持這些功能。因此

7、,它將當今正在使用的要緊企業(yè)集成模式組合成一個實體。ESB 為 SO 提供與企業(yè)需要保持一致的基礎(chǔ)架構(gòu),從而提供合適的服務(wù)級不和可治理性、以及異構(gòu)環(huán)境中的操作。本文剩余部分將討論 ESB 在SOA中的角色,包括它提供的除了差不多的路由和傳輸以外的功能,如下面的 ESB功能模型部分中所述。SB 結(jié)構(gòu)ESB有時被描述為分布式基礎(chǔ)架構(gòu),這與其他的解決方案形成了對比,比如消息代理技術(shù)一般被描述為中心輻射型(hbandspoe)。然而,這并不是真正的差不。正在研究兩個不同的問題:操縱的集中和基礎(chǔ)架構(gòu)的分布。SB 和中心輻射型(hb-an-spoke)解決方案都集中操縱配置,比如服務(wù)交互的路由、服務(wù)命名等

8、等。同樣,這兩個解決方案可能部署在簡單的集中式基礎(chǔ)架構(gòu)中,也可能采納更復(fù)雜的分布式方式進行部署。HYPERLINK N:整理后htp:w-00.idveperWorkscnwebsrvicesws-sbscnl figure2圖2 展示了這一點。毫無疑問,不同的技術(shù)對它們所支持的物理部署模式有不同的約束有些可能適合于特不廣泛的分布,以支持在專門大的地理范圍內(nèi)進行的集成,而其他的可能更適合于部署在本地群集中,以支持高可用性和可伸縮性。使物理分布需求與候選技術(shù)的功能相匹配是ESB 設(shè)計的一個重要方面。另外的一種能力也是特不重要的,確實是以增量方式擴展最初的部署來反映不斷變化的需求、集成附加的系統(tǒng)或

9、擴展基礎(chǔ)架構(gòu)的物理范圍。圖2: 分布式 ES基礎(chǔ)架構(gòu)的集中操縱我還應(yīng)該定位在 SA 基礎(chǔ)架構(gòu)中 EB 與其他組件之間的關(guān)系,特不是與 Sevice Dretory、Business Service Choreoray、以及 Buinss-Buiess (B2B) Geway 這些組件之間的關(guān)系。由于上述 SOA 原則對這些組件并沒有嚴格的要求,因此我們能夠?qū)⑺鼈円暈榭蛇x組件。 YLNKhttp:/www-0.im.odvelperWorkscnwebservics/w-essce igure3圖 3展示的 SA 講明了這些組件之間的關(guān)系。圖 3: SOA 中的 ES 角色ESB 需要某種形式的

10、服務(wù)路由目錄(srceroutngdirector)來路由服務(wù)請求。然而,SOA 可能還有單獨的業(yè)務(wù)服務(wù)目錄(busines srvie directo),其最差不多的形式可能是設(shè)計時服務(wù)目錄,用于在組織的整個開發(fā)活動中實現(xiàn)服務(wù)的重用。eb 服務(wù)遠景在業(yè)務(wù)服務(wù)目錄和服務(wù)路由目錄的角色中都放置了一個 UDD 目錄,因而使得能夠動態(tài)發(fā)覺和調(diào)用服務(wù)。如此的目錄能夠視為 EB 的一部分;然而,在如此的解決方案變得普遍之前,業(yè)務(wù)服務(wù)目錄可能與 B 是分離的。Busines erve Chreograher 的作用是通過若干業(yè)務(wù)服務(wù)來組合業(yè)務(wù)流程;因此,它將通過 EB 調(diào)用服務(wù),然后再次通過 ESB將業(yè)務(wù)

11、流程公開為客戶端可用的其他服務(wù)。然而,Busne ServieChrraper 在編排業(yè)務(wù)流程和服務(wù)中所扮演的角色確定了這種業(yè)務(wù)工作流技術(shù)是一種與基礎(chǔ)架構(gòu)技術(shù) ES分離的技術(shù)。最后,BGatea 組件的作用是使兩個或多個組織的服務(wù)在受控且安全的方式下對彼此可用。這有助于查看這些連接到 EB的組件,但它們并不是 ESB 的一部分。盡管有一些網(wǎng)關(guān)技術(shù)能夠提供適合于實現(xiàn)B2B Gatewa 組件和 EB 的功能,然而B2BGatway 組件的用途是將其與 ESB 分離。事實上,這種用途可能需要附加的功能(如合作伙伴關(guān)系治理),這些功能不是ESB 的一部分,同時不一定受到 ESB技術(shù)的支持。ESB 的

12、功能模型HYPERLINK N:整理后t:www-90.ibm.cmdeveoerWorkwbervicesws-sbscen表 1 對現(xiàn)有文獻中確定的一些S 功能進行了總結(jié)和分類(請參見HYPERLINK N:整理后ttp:www-90.ibmcomdeeloperoscwesevicews-ebscn參考資料)。盡管有一些功能特不基礎(chǔ),然而其他的功能(如自動化功能或智能化功能)代表著向按需操作環(huán)境轉(zhuǎn)變的重要步驟。重要的是認識到,當前的大多數(shù)場景只需要部分類不中的部分功能。ES實現(xiàn)所需的最低功能將在下面支持 SOA的最低功能的 SB 實現(xiàn)部分中進行探討。表 1:在現(xiàn)有的文獻中定義的ESB 功

13、能通信服務(wù)交互路由 尋址 通信技術(shù)、協(xié)議和標準(例如 IBMebSpre MQ、HTTP 和 HTTPS) 公布/訂閱 響應(yīng)/請求 Fire-nd-rget,事件同步和異步消息傳遞 服務(wù)接口定義(例如, 服務(wù)描述語言(Web ervcs Desrtio Langg,SDL)) 支持替代服務(wù)實現(xiàn)通信和集成所需的服務(wù)消息傳遞模型(例如 SP 或企業(yè)應(yīng)用程序集成 (EI) 中間件模型) 服務(wù)目錄和發(fā)覺集成服務(wù)質(zhì)量數(shù)據(jù)庫服務(wù)聚合 遺留系統(tǒng)和應(yīng)用程序適配器EAI 中間件的連接性 服務(wù)映射 協(xié)議轉(zhuǎn)換 應(yīng)用程序服務(wù)器環(huán)境(例如 J2EE 和 .NET) 服務(wù)調(diào)用的語言接口(例如 Java 和 C/+/) 事

14、務(wù)(原子事務(wù)、補償、Web 服務(wù)事務(wù)(WSTrasaction) 各種確定的傳遞范例(例如 Web 服務(wù)可靠消息傳遞(WS-Relablessging)或?qū)AI 中間件的支持) 安全性服務(wù)級不身份驗證 授權(quán) 不可抵賴性機密性安全標準(例如 Kerbero 和Web 服務(wù)安全性(W-Secry) 性能 吞吐量 可用性其他能夠構(gòu)成契約或協(xié)定的持久評估方法 消息處理治理和自治編碼的邏輯基于內(nèi)容的邏輯 消息和數(shù)據(jù)轉(zhuǎn)換 有效性 中介 對象標識映射 數(shù)據(jù)壓縮 服務(wù)預(yù)置和注冊 記錄、測量和監(jiān)控 發(fā)覺 系統(tǒng)治理和治理工具的集成 自監(jiān)控和自治理建模基礎(chǔ)架構(gòu)智能對象建模 通用業(yè)務(wù)對象建模 數(shù)據(jù)格式庫 B 集成的

15、公共與私有模型開發(fā)和部署工具業(yè)務(wù)規(guī)則 策略驅(qū)動的行為,特不是關(guān)于服務(wù)級不、服務(wù)功能的安全和質(zhì)量(例如 Web服務(wù)策略(Wlcy)) 模式識不 上面的許多功能既能夠使用專有技術(shù)實現(xiàn),也能夠通過利用開放標準實現(xiàn)。然而,使用不同的技術(shù)來實現(xiàn)E 可能會使它們的性能、可伸縮性和可靠性這些特性顯著不同,同時 ESB 功能和所支持的開放標準也會有所不同。由于這些緣故,再加上最近制訂和正在興起的一些相關(guān)標準,當今實現(xiàn)B的許多關(guān)鍵決策都涉及到成熟的專有技術(shù)和不成熟的開放標準之間的權(quán)衡。在本系列文章中,我們不打算詳細討論上面的每一個功能類不。相反,我們將集中討論采納或?qū)崿F(xiàn) SB 的不同方法之間的驅(qū)動策略。特不是在

16、下一部分,我們將討論 ES 為支持 SOA所需的最低功能由什么構(gòu)成。支持 OA 的最低功能的 E 實現(xiàn)假如在前面確定的功能中只有一部分和大多數(shù)SA 場景相關(guān),我們可能會問:實現(xiàn) SB 所需的一組最低功能由什么構(gòu)成?為此,考慮最被普遍認同的 ESB 定義的原理:ES是一種邏輯體系結(jié)構(gòu)組件,它提供與 SOA 的原則保持一致的集成基礎(chǔ)架構(gòu)。 OA原則需要使用與實現(xiàn)無關(guān)的的接口、強調(diào)位置透明性和可互操作性的通信協(xié)議、相對粗粒度和封裝可重用功能的服務(wù)定義。 ES 能夠作為分布式的異構(gòu)基礎(chǔ)架構(gòu)進行實現(xiàn)。ESB 提供了治理服務(wù)基礎(chǔ)架構(gòu)的方法和在分布式異構(gòu)環(huán)境中進行操作的功能。 HYPRLIK http:/w

17、ww-900ibcomdveloprWorkscebsics/w-bscen/l tale 表 展示了依照這些原則定義的最低 ESB 功能表2: 最低的EB功能通信集成提供位置透明性的路由和尋址服務(wù) 操縱服務(wù)尋址和命名的治理功能 至少一種形式的消息傳遞范型(例如,請求/響應(yīng)、公布/訂閱等等) 支持至少一種能夠廣泛使用的傳輸協(xié)議支持服務(wù)提供的多種集成方式,比如Jaa 連接器、Web服務(wù)、異步通信、適配器等等服務(wù)交互一個開放且與實現(xiàn)無關(guān)的服務(wù)消息傳遞與接口模型,它應(yīng)該將應(yīng)用程序代碼從路由服務(wù)和傳輸協(xié)議中分離出來,并同意替代服務(wù)的實現(xiàn)。請注意這些最低功能并不需要使用特不的技術(shù),比如 E 中間件、We

18、 服務(wù)、JEE或 ML。這些技術(shù)的使用特不接近也特不符合需求,然而不必強制要求使用它們。相反,最低功能幾乎只需簡單地使用 SAPHTTP和 WSL 就能夠?qū)崿F(xiàn)(因此不是所有的情況都如此):RL 尋址和現(xiàn)有的TP 和DN 基礎(chǔ)架構(gòu)提供了一個具有路由服務(wù)和位置透明性的“總線(bus)”。SOAP/HTP 支持請求-響應(yīng)(Rqest-Resnse)通信規(guī)范。HTT傳輸協(xié)議被廣泛地使用。 SOAP和 DL 是開放、與實現(xiàn)無關(guān)的服務(wù)通信和連接模型。然而,這些 SOAP/HTT 和WSDL的差不多應(yīng)用只是點到點(point-to-ot)的集成,并不能實現(xiàn)一些 EB 需要的關(guān)鍵功能: 目前還沒有用于操縱服務(wù)

19、尋址和命名的治理功能。服務(wù)名稱通過每個適配器單獨進行操縱的,服務(wù)路由操縱則分散在由服務(wù)客戶端調(diào)用的地址、HTP 基礎(chǔ)架構(gòu)和分配給適配器的服務(wù)名稱之間。 盡管這種方法依靠于實現(xiàn)細節(jié),然而它往往并不能使服務(wù)實現(xiàn)的替代變得簡單;服務(wù)請求者代碼(也可能是開發(fā)工具生成的)通常通過特定地址的特定協(xié)議直接綁定到具體的服務(wù)提供者實現(xiàn)。假如想要用另一個服務(wù)實現(xiàn)來替代原來的服務(wù)實現(xiàn),就需要修改應(yīng)用程序代碼并重新部署這些代碼。 因此,在許多甚至是大多數(shù)情形中往往需要其他的功能,同時這種需要變得越來越常見。特不地,不管是現(xiàn)在依舊以后,下面的需求類型可能會導(dǎo)致更復(fù)雜高級的技術(shù)的使用:服務(wù)質(zhì)量和服務(wù)級不功能。高級 SOA

20、 概念,例如服務(wù)編排、目錄、轉(zhuǎn)換等等。 按需操作環(huán)境需求,比如治理與自治功能以及基礎(chǔ)架構(gòu)智能功能。 跨越具有不同所有權(quán)的多個網(wǎng)絡(luò)、多個協(xié)議以及多個域的真正意義上的異步操作。阻礙 ESB 的安全問題我不想在那個地點直接提出安全需求,只是它們對選擇 SB 的實現(xiàn)技術(shù)特不重要。例如,假如服務(wù)請求不需要提供身份驗證或授權(quán),實現(xiàn)技術(shù)的選擇就能夠特不的廣泛。更有可能的情況是,假如需要一些安全級不,則評估什么形式的安全是能夠同意的就特不重要。例如:是否能夠同意通信基礎(chǔ)架構(gòu)中的安全性,例如,是否在 EAI中間件服務(wù)器之間使用安全套接字層(Secur Socket Layer,SS)互相驗證,或者是否在使用 H

21、TTPS協(xié)議? 是否能夠同意在參與系統(tǒng)之間單獨的點到點(pntto-poit)安全性,或者是否需要端到端(nd-end)模型?例如,是否有必要通過類似于代理的中間件系統(tǒng)來把客戶端身份傳遞到服務(wù)實現(xiàn)的最終提供者? 是否能夠同意應(yīng)用層中的安全性,例如,客戶端代碼是否能夠執(zhí)行帶有用戶 ID 和密碼的差不多 HTTP 身份驗證,或者是否能夠把這些信息作為應(yīng)用程序數(shù)據(jù)傳遞給服務(wù)? 是否需要遵守行業(yè)安全標準,例如 rber 或 WS-ecurit? 盡管所有這些差不多上可能的,然而行業(yè)的進展方向是基礎(chǔ)架構(gòu)和中間件支持的符合標準的安全性(例如 Web 服務(wù)安全性(WSSecurity)功能。然而,相比之下,

22、這些安全標準也是最近才提出的,而且對它們的產(chǎn)品支持仍在進展的過程中,而不是差不多確定了,那個地點尤其需要特不考慮的確實是它們的互操作性。因此,任何 ESB 架構(gòu)都需要盡可能早地確定安全需求,以便在選擇實現(xiàn)技術(shù)時能夠?qū)⑺鼈儼ㄟM來。結(jié)束語在本文中,我討論了大多數(shù)通用的SOA原則,以及它們與 Web服務(wù)技術(shù)的關(guān)聯(lián)?;谶@些原則,我提出了需要一個基礎(chǔ)架構(gòu)組件,那個組件能夠提供路由功能,以便使服務(wù)能夠彼此交互,同時還能夠支持使用另一個服務(wù)實現(xiàn)來替換原有的服務(wù)實現(xiàn)。這些功能差不多上通過 ES實現(xiàn)的。ES在維持集中操縱的同時提供分布式的基礎(chǔ)架構(gòu),因而需要一些形式的服務(wù)路由目錄,同時還可能需要業(yè)務(wù)服務(wù)目錄。

23、Biness Seice horeographe 從 SB 調(diào)用服務(wù),然后通過ESB 把這些流程作為新的服務(wù)公開。ESB 的許多功能包括提供: 通信 服務(wù)交互集成 質(zhì)量服務(wù) 安全 服務(wù)級不 消息處理 治理及自治服務(wù)建模 基礎(chǔ)架構(gòu)智能從這些不同的功能中,我確定了建立 E 所需的最低功能,包括通信、集成和服務(wù)交互。在那個系列的下一個部分中,我將討論一些通用的場景,以及與這些場景相關(guān)的解決方案模式,同時指出阻礙這些場景最一般的問題。第2 部分驅(qū)動體系結(jié)構(gòu)的 ESB 場景和問題HYPERLINK N:整理后http:www-900bcomeeorWokscnwebservc l autho1Rc ob

24、inon (HYPERLINK N:整理后mailt:rik_robnsonick_obnonukibmcom) IT Arcitect, IBM2004年7 月 在關(guān)于企業(yè)服務(wù)總線(Enerprs ervice Bus,)的那個系列的第二部分中,作者描述和分析了實現(xiàn) ES 和其他面向服務(wù)的體系結(jié)構(gòu)(SA)的解決方案的一些常見場景。 那個系列的HYPERLINK N:整理后ttp:ww.ibmmdeeloperwrksxlibrryws-esbscen第 1 篇文章描述了企業(yè)服務(wù)總線(Etepri Srvic Bs,ESB)的差不多概念和工作角色。本文側(cè)重于描述為支持面向服務(wù)的體系結(jié)構(gòu)(OA)

25、而進行的 S 開發(fā)的場景和問題。您的組織的 SO 和 ESB 可能需要應(yīng)用到一個或多個如此的場景。ESB場景及分析SO 中的 ESB 場景部分描述了許多 SOA和 ES 實現(xiàn)的起點。每個場景都指出驅(qū)動體系結(jié)構(gòu)和設(shè)計決策的問題,而這些決策會阻礙解決方案模式的選擇(將在那個系列的第 3 部分中進行介紹)。在HYPERLINK N:整理后htp:www-0b.cmdeveerWoknwbervies 驅(qū)動 SB 體系結(jié)構(gòu)和設(shè)計決策的問題部分中,您能夠閱讀關(guān)于這些問題的詳細描述。這些解決方案模式代表著從服務(wù)技術(shù)的差不多使用,到簡單的ESB 實現(xiàn),再到復(fù)雜的 A 體系結(jié)構(gòu)的進展過程。 這些 ESB 場景

26、的目的并不在于展示組織對 SOA 或 B 的全部需求。例如,盡管某個場景(如兩個系統(tǒng)的差不多集成)可能看起來專門好地匹配了特定的當前需求,然而隨著時刻的推移,這種需求可能進展成更復(fù)雜的需求(如支持一個或多個應(yīng)用程序?qū)崿F(xiàn)更廣泛的連接性場景。另外,還可能有許多對 SO或 ES 基礎(chǔ)架構(gòu)的單獨需求會出現(xiàn)如此的情況,就其個不而言符合簡單場景,但集中在一起則表現(xiàn)得比較復(fù)雜。我們需要在實現(xiàn)滿足特不明確的需求的解決方案、努力預(yù)料以后的需求和定義跨企業(yè)的一致解決方案這三者之間作出選擇。將組織的需要看作是總體上相對復(fù)雜的場景(如實現(xiàn)具有高服務(wù)質(zhì)量和 eb服務(wù)標準支持的SOA基礎(chǔ)架構(gòu))可能是比較適合的。另外,還能

27、夠?qū)€不的情形單獨看作是簡單場景,然而定義最后得到的這些解決方案以后進展成通用體系結(jié)構(gòu)的路線。SOA 中的 ESB 場景下面的幾個部分描述了這些場景的特征:HYPERLINK N:整理后htp:www-900ideelopeorkneservies兩個系統(tǒng)的差不多集成HYPERLINK N:整理后http:ww0.bm.odevlopeWokscnebseries l ble2支持一個或多個應(yīng)用程序?qū)崿F(xiàn)更廣泛的連接性 HYPERLINK N:整理后htp:www90developrWorscnebeies l tble3支持遺留系統(tǒng)實現(xiàn)更廣泛的連接性HYPERLINK N:整理后ttp:www

28、-90.ib.codeveloperWosnwces l tale4支持企業(yè)應(yīng)用程序集成(EAI)體系結(jié)構(gòu)實現(xiàn)更廣泛的連接性 HYPERLINK N:整理后tt:ww90bm.codevelopeWorscnwebseis實現(xiàn)組織之間服務(wù)或系統(tǒng)的受控集成 HYPERLINK N:整理后ttp:ww-90ibmcomdeeoprorksnwebsvies通過編排服務(wù)使流程自動化HYPERLINK N:整理后htp:ww-900icmdevelopeWrscnwebrvices l tabl7實現(xiàn)具有高服務(wù)質(zhì)量和 eb服務(wù)標準支持的 A 基礎(chǔ)架構(gòu) 兩個系統(tǒng)的差不多集成場景企業(yè)需要提供用不同的技術(shù)(

29、如 J2EE、NE、CIC 等等)實現(xiàn)的兩個系統(tǒng)之間的集成。Wb 服務(wù)SOAP 標準或消息傳遞中間件可能是候選的集成技術(shù)。那個場景的一個重要的問題是,今后是否會出現(xiàn)需要集成其他系統(tǒng)的情況。一開始就使用可擴展解決方案可能會對以后的需要提供支持;然而必須在為構(gòu)建如此的解決方案而付出的額外工作與解決簡單的問題的最初需要之間保持平衡。 最相關(guān)的問題相關(guān)的解決方案模式(請參見下一篇文章),3,4,,1,13使用包裝器或適配器來實現(xiàn)差不多集成請參見差不多適配器。 或者,想要在今后進行擴展,有以下兩種方案: 添加操縱服務(wù)網(wǎng)關(guān)?;蛘邔崿F(xiàn)一個復(fù)雜的基礎(chǔ)架構(gòu)比如 Web servis Compliat Brokr

30、或EAI nfastructre fo SA。 支持一個或多個應(yīng)用程序?qū)崿F(xiàn)更廣泛的連接性 場景現(xiàn)有的已封裝或自定義開發(fā)的應(yīng)用程序(例如客戶關(guān)系治理(CustomerRlationhip Manaement,R)、企業(yè)資源規(guī)劃(Entrp Rsourc Plannn,RP)等等)可能是用 JEE 平臺或其他應(yīng)用程序服務(wù)器環(huán)境實現(xiàn)的,它們提供的可用功能超出了應(yīng)用程序本身。以服務(wù)的形式公開這些功能的價值在于,既支持應(yīng)用程序彼此之間的互操作,也提供對新的通道或客戶端的訪問。使用可互操作或開放的標準通信和服務(wù)協(xié)議看來是今后進展的最佳途徑。 最相關(guān)的問題相關(guān)的解決方案模式(請參見下一篇文章)、2、3、6、

31、8、9、1、11、1、3、14使用包裝器或適配器來實現(xiàn)差不多集成請參見差不多適配器。 添加操縱服務(wù)網(wǎng)關(guān)?;蛘邔崿F(xiàn)一個復(fù)雜的基礎(chǔ)架構(gòu)比如 Web servics ompliant Broker或EInfrstructrfor SOA。假如還需要流程編排(ProcesChoregraph),就實現(xiàn)Seri Choreographr或者Ful SOA Infrastuctur。支持遺留系統(tǒng)實現(xiàn)更廣泛的連接性 場景組織對遺留技術(shù)(比如 CIC、IMS 等等)進行了大量的投資,以支持為他們提供核心業(yè)務(wù)事務(wù)和數(shù)據(jù)訪問的應(yīng)用程序。其重要價值在于提供互操作性或開放標準、以及對這些事務(wù)進行基于服務(wù)的訪問(例如,

32、查詢帳戶余額的事務(wù)、創(chuàng)建訂單、日程安排或交付跟蹤、查詢庫存級不等等)。 最相關(guān)的問題相關(guān)的解決方案模式(請參見下一篇文章),2,3,,8,9,10,1,13,使用包裝器或適配器來實現(xiàn)差不多集成請參見差不多適配器。 或者,想要在今后進行擴展,有以下兩種方案: 添加操縱服務(wù)網(wǎng)關(guān)?;蛘邔崿F(xiàn)一個復(fù)雜的基礎(chǔ)架構(gòu)比如 Wbervices Cplit rok或EAIInfraructe o O。 支持企業(yè)應(yīng)用程序集成(E)基礎(chǔ)架構(gòu)實現(xiàn)更廣泛的連接性 場景需要對現(xiàn)有的EAI基礎(chǔ)架構(gòu)(如 IBMWeSper Busness Itegation)進行擴展,以對其進行基于可互操作協(xié)議或開放標準的訪問。盡管依照XML

33、 業(yè)務(wù)數(shù)據(jù)并通過高度可互操作協(xié)議(如HTTP 或 Webpre MQ)公開服務(wù)接口能夠在某些場景中提供適當?shù)幕ゲ僮餍约壊唬欢偃鐚ΜF(xiàn)有的集成范圍的自定義開發(fā)或?qū)S袛U展都不是可同意的,則可能需要支持 WDL 和 OP Web 標準。 最相關(guān)的問題相關(guān)的解決方案模式(請參見下一篇文章)3、4、5、9、1、3、14使用開放數(shù)據(jù)格式及AI nfrsrctr for SOA 來擴展AI 基礎(chǔ)架構(gòu)。 添加操縱服務(wù)網(wǎng)關(guān)。 或者對帶有Websrices Compliantoker 的基礎(chǔ)架構(gòu)增加開放標準支持。實現(xiàn)組織之間服務(wù)或系統(tǒng)的受控集成 場景組織希望使其客戶、供應(yīng)商或其他合作伙伴能夠直接集成由一個或多個

34、應(yīng)用程序、遺留系統(tǒng)等等提供的功能。操縱的重點是需要提供從外部各方到這些應(yīng)用程序的安全且易治理的訪問。因為組織不能直接操縱其合作伙伴所使用的技術(shù),因此最好使用開放標準。此場景既能夠應(yīng)用于分散的組織之間,也能夠應(yīng)用于大型分布式組織的各個單位之間。 最相關(guān)的問題相關(guān)的解決方案模式(參見下一篇文章)、2、3、4、6、8、9、1、3、1添加服務(wù)網(wǎng)關(guān)。 或者假如需要更多的復(fù)雜功能,就實現(xiàn) Web vices Compliant Bror。 通過編排服務(wù)使流程自動化 場景(注意:此場景能夠看作是支持一個或多個應(yīng)用程序?qū)崿F(xiàn)更廣泛的連接性場景的進展。它不被當作一個 ES 場景,因為服務(wù)編排通常是與ESB分開實現(xiàn)

35、的,正如本系列的第一篇文章所述。然而,我之因此把它包括在那個地點,是因為此場景往往驅(qū)動對 EB 和服務(wù)編排組件的需求。) 現(xiàn)有的已封裝(例如,客戶關(guān)系治理(CstomerRelaonship angeen,M)、企業(yè)資源規(guī)劃(nteprise Reource Planning,EP)等等)或自定義開發(fā)的應(yīng)用程序可能是在 JE 平臺或其他應(yīng)用程序服務(wù)環(huán)境中實現(xiàn)的,它們提供的可用功能超出了應(yīng)用程序本身。能夠使用可互操作或開放通信和服務(wù)協(xié)議將這些功能作為服務(wù)公開,如此應(yīng)用程序就能夠交互。能夠在某些層次上組合這些交互以構(gòu)成業(yè)務(wù)流程。應(yīng)該使用適當?shù)慕:土鞒虉?zhí)行技術(shù)(可能遵守適當?shù)拈_放標準)來對這些流程

36、進行顯式建模。最相關(guān)的問題相關(guān)的解決方案模式(請參見下一篇文章)1、2、3、4、6、1、11、12、13、14假如服務(wù)的直接連接是可能的,則實現(xiàn) ervi Choreogar。假如需要更復(fù)雜的集成或操縱,則實現(xiàn) FullA Infrasrcre。 實現(xiàn)具有高服務(wù)質(zhì)量和 Web 服務(wù)標準支持的 SO 基礎(chǔ)架構(gòu) 場景此場景是由前面的組成的。它代表了對由多個應(yīng)用程序、遺留系統(tǒng)等等提供的服務(wù)進行普遍的內(nèi)部或外部訪問的需要。需要各種安全、聚合、轉(zhuǎn)換、路由以及服務(wù)編排功能。 組織以響應(yīng)所支持的業(yè)務(wù)不斷增加的需求,從而使得能夠在業(yè)務(wù)系統(tǒng)之間進行更普遍且更靈活的集成。 最相關(guān)的問題相關(guān)的解決方案模式(請參見下

37、一篇文章)全部實現(xiàn)Fll SOA Infrasrcture。 驅(qū)動 體系結(jié)構(gòu)和設(shè)計決策的問題為了確定用于 ESB 的合適解決方案模式和實現(xiàn)技術(shù),需要對特定的B 功能需求進行詳細的分析。下面的問題旨在關(guān)心進行這一過程,而前面的部分指出了與每個場景相關(guān)的特定問題?,F(xiàn)有功能及其數(shù)據(jù)接口是否與您想要提供的服務(wù)相匹配?您是否能夠修改或聚合應(yīng)用程序? 假如不能夠,則轉(zhuǎn)換或聚合功能就需要由適配器或ESB體系結(jié)構(gòu)來提供,或者不得不由服務(wù)客戶端來完成。 服務(wù)是否能夠以一些通用業(yè)務(wù)數(shù)據(jù)模型的形式公開?假如能夠,則實現(xiàn)這些服務(wù)的系統(tǒng)是否差不多支持該模型?或者講能夠使它們?nèi)绱俗觯?假如服務(wù)不能夠,則轉(zhuǎn)換或聚合功能就需

38、要由適配器或EB 體系結(jié)構(gòu)來提供。 是否需要開放標準?或者是否能夠通過 AI 中間件來實現(xiàn)適當?shù)幕ゲ僮餍??假如需要開放標準的話,則哪些開放標準是適合的? 盡管使用開放標準是實現(xiàn)互操作性的一種途徑,但專有的 EI 中間件也具有高度的互操作性,同時往往要成熟得多。另外,許多組織還擁有廣泛的現(xiàn)有基礎(chǔ)架構(gòu),在一些場景中,它們可能會使得開放標準的作用幾近于無。 在需要開放標準的場景中,We 服務(wù)也許是這些情況下最明顯的選擇。只是,您也能夠應(yīng)用 Jv essainervce (JM)、JDBC、差不多 XL 或者一些其他的技術(shù)(比如 EDI 或業(yè)界通用的 XML 格式。 在實踐中,不能總是假定相同標準的不

39、同實現(xiàn)之間具有互操作性,特不是關(guān)于近來出現(xiàn)或剛剛興起的標準。關(guān)于e服務(wù),服務(wù)互操作性組織(W Servc Interopeability rgnzation)公布了使用 OAP 和 SDL 的互操作性的差不多概要,其他更高級的標準(例如 Web 服務(wù)安全性(WS-Seurit)、Web 服務(wù)事務(wù)(WSransacion)等等)的概要隨后也將公布。在產(chǎn)品全面、穩(wěn)定且廣泛地支持這些概要之前,開放標準的使用還沒有得到保證,同時可能并不總是促進互操作性。 是否需要支持差不多通信協(xié)議及標準(例如bere MQ、SAP、WSD)?或者需要更高級的功能(例如 Web 服務(wù)安全性(WSSecurty)、We

40、服務(wù)事務(wù)(Transacion)等等)? 對支持更復(fù)雜標準的需求將對實現(xiàn)技術(shù)的選擇加以更嚴格的約束,同時可能意味著使用還不成熟的技術(shù)。 當果考慮更改現(xiàn)有的基礎(chǔ)架構(gòu)使用的消息格式和協(xié)議(包括可能采納開放標準)時,需要在整個現(xiàn)有的基礎(chǔ)架構(gòu)中進行這些更改嗎?或者專門快就要應(yīng)用新的消息格式和協(xié)議嗎?假如正在使用或考慮使用 EI技術(shù),該技術(shù)是否有自己的內(nèi)部格式?或者它能夠?qū)㈤_放標準處理為內(nèi)部格式嗎? 開放標準的任何應(yīng)用差不多上受擴展訪問的需求驅(qū)動的,因此它們對現(xiàn)有基礎(chǔ)架構(gòu)的接口的可用性比在內(nèi)部使用的如此的標準更重要。 假如需要在內(nèi)部使用特定的格式、技術(shù)或標準,這會給實現(xiàn)技術(shù)的選擇帶來限制。將作為服務(wù)公開

41、的系統(tǒng)實現(xiàn)功能支持所需的技術(shù)或開放標準(比如 SOA、S或 XL)嗎?假如不支持,B 基礎(chǔ)架構(gòu)或適配器將需要在所需的開放標準和服務(wù)提供者支持的格式之間進行轉(zhuǎn)換的功能。 在需要訪問遺留系統(tǒng)的情況下,通過使用更新的基于XM 的技術(shù),能夠直接支持(例如 CO 支持)遺留系統(tǒng)的可用性嗎?是否需要單獨的適配器?遺留平臺是否支持 XM 處理?假如支持,這種處理是否能夠靈活地使用平臺功能? 假如因為這其中的任何緣故而導(dǎo)致所需的 SOP 或 XL 功能對遺留平臺不可用,則需要在適配器(比如J2CCnnector rchictu(JC) 或Wbhr sines Itegatin dtrs)、集成層或 ESB 基

42、礎(chǔ)架構(gòu)中使用適當?shù)霓D(zhuǎn)換功能。 假如E 技術(shù)差不多可用,它是否使用適當?shù)墓δ芑蚪涌诹6葘⒎?wù)作為消息流實現(xiàn)?它支持哪些連接性協(xié)議(例如 JA、SO、Wbphe Q 以及 Jv 遠程方法調(diào)用(Jv Remoe Mehod Invocation)? 假如現(xiàn)有消息流不提供所需要的服務(wù),則需要另外的流程來執(zhí)行轉(zhuǎn)換。假如 EI 技術(shù)不直接支持所需的標準,就需要添加一個網(wǎng)關(guān)組件。 應(yīng)該從服務(wù)客戶端通道以工作負荷緩沖、安全、登錄等形式提供給服務(wù)提供者系統(tǒng)什么愛護措施?這種緩沖通常是 ESB基礎(chǔ)架構(gòu)的一個角色,同時定義它所需要一些功能。假如特定的服務(wù)提供者系統(tǒng)(例如遺留事務(wù)系統(tǒng)(legacyransation

43、sysems))需要額外的愛護,則能夠使用專用集成層。 應(yīng)該實現(xiàn)多少服務(wù)?實現(xiàn)的什么方面應(yīng)該在這些服務(wù)中保持一致?如何實施一致性(可能在多個平臺上和多個應(yīng)用程序中)? 假如只需要特很多的服務(wù),簡單的點到點(pointo-on)集成模型可能比較適合。然而,假如需要更多的服務(wù)或者過一段時刻以后可能依舊如此,則添加操縱點(比如由ESB 提供的)就變得愈加有益。 服務(wù)交互包含在組織內(nèi)部,依舊有一些交互在組織外部? 這常常是不同于在單個組織中實現(xiàn)的 EB 基礎(chǔ)架構(gòu)的一種情況,因為對安全和服務(wù)路由的需求可能與外部可用的服務(wù)不同。 是否需要服務(wù)編排?服務(wù)編排是否涉及短期(short-i)或長期(ng-liv

44、e)(換句話講確實是有狀態(tài)的)流程,依舊兩者都涉及?它們是否包含人工活動? 在這些需求構(gòu)成業(yè)務(wù)功能的情況下,應(yīng)該在與 ES 分離的Seric Chorogaphe 組件中實現(xiàn)編排。關(guān)因此支持長期有狀態(tài)流程依舊支持人工活動的需求將對實現(xiàn)技術(shù)的選擇產(chǎn)生限制。 基礎(chǔ)架構(gòu)應(yīng)該支持什么樣的服務(wù)級需求(例如,服務(wù)響應(yīng)時刻、吞吐量、可用性等等)?隨著時刻的推移,需要如何對其進行擴展?一些候選的 ESB 實現(xiàn)技術(shù)相對較新,同時可能僅僅在有限的服務(wù)級進行過測試。同樣,由于相關(guān)的開放標準不是最近制訂確實是正在興起的,因此在更多的既定產(chǎn)品和技術(shù)中對它們的支持也是新出現(xiàn)的。在能夠預(yù)見的以后,關(guān)鍵的體系結(jié)構(gòu)決策將專注于

45、特定開放標準優(yōu)點的平衡,針對服務(wù)級需求的新興或成熟的產(chǎn)品技術(shù)支持這些開放標準。制訂這些即時決策需要考慮到有些標準和支持它們的產(chǎn)品是相對成熟的(例如XML、O等等),有些(例如 b 服務(wù)安全(S-Secrty))比較新,還有一些(例如 b 服務(wù)事務(wù))是正在興起的。 標準的優(yōu)點之間的權(quán)衡和通過驗證的服務(wù)級特征往往驅(qū)動一個結(jié)合了 S 與 OA體系結(jié)構(gòu)中適應(yīng)標準的、專有的或自定義技術(shù)的混合方法。是否需要點到點(on-to-oint)或端到端(n-to-e)安全模型(例如,ESB 是否能夠簡單的對服務(wù)請求授權(quán),依舊需要將請求者的身份或其他憑證傳遞給服務(wù)提供者)?是否需要使用應(yīng)用程序或遺留安全系統(tǒng)來集成服

46、務(wù)安全模型? 假如點到點安全性是可同意的,則許多現(xiàn)有解決方案(例如SL 、對數(shù)據(jù)庫訪問的J2E 安全性、適配器安全模型等等)就能夠得到應(yīng)用。假如需要端到端安全性,則eb 服務(wù)安全標準就成為可能,提供所有相關(guān)的系統(tǒng)來支持它。換句話講,您能夠使用帶有客戶端消息頭的客戶端模型,或者傳送像應(yīng)用程序數(shù)據(jù)如此的安全信息。 結(jié)束語本文確定了一些 SB實現(xiàn)中最常見的場景,以及對相應(yīng)的解決方案直接產(chǎn)生阻礙的問題。盡管沒有完全涵蓋所有的隱藏問題,但這些是其中最常遇到的。我們概述了從兩個系統(tǒng)的差不多集成到實現(xiàn)支持高質(zhì)量服務(wù)和 Web服務(wù)標準的 SOA 體系結(jié)構(gòu)的常見場景。并描述了需要重視的十四個不同的問題: 現(xiàn)有數(shù)

47、據(jù)接口業(yè)務(wù)數(shù)據(jù)模型 開放標準的使用 對差不多或高級通信協(xié)議的支持通過現(xiàn)有系統(tǒng)對數(shù)據(jù)傳遞格式的修改 通過新技術(shù)公開現(xiàn)有服務(wù) 對遺留系統(tǒng)的訪問 現(xiàn)有 EAI 技術(shù) 需要的愛護措施需要提供多少服務(wù)和需要的一致性程度公司內(nèi)部以及與其他公司之間的互操作 對服務(wù)編排的需求 服務(wù)級需求的基礎(chǔ)架構(gòu)級支持 點到點(ptt-pn)或端到端(ed-t-end)安全模型的使用 理解這些差不多場景和問題為您開發(fā)可能的解決方案打下了牢固的基礎(chǔ)。在本系列的第 3部分,我將討論本文中提到的實際解決方案。如下:差不多適配器 服務(wù)網(wǎng)關(guān) b sevc Coplian BrkerSrvicehorgraphe 用于 S 的A體系結(jié)構(gòu)

48、完整的S 體系結(jié)構(gòu)最后,我將討論組織考慮如何使用受控和增量的方式進展它們的體系結(jié)構(gòu)時可用的選擇。也將講明能夠指導(dǎo)您開發(fā)自己的 E路線的一些問題。理解面向服務(wù)的體系結(jié)構(gòu)中企業(yè)服務(wù)總線場景和解決方案,第 3 部分E 場景的解決方案級不: 初級HYPERLINK N:整理后ht:ww900.ibm.omdeveloperWorkscweserviceswssbscen3 l uthor1Rik Robinso (HYPERLINK N:整理后malto:rik_robinok.bmco)IT Achiect, IBM0 年 7 月 那個系列文章的第 3 部分介紹了實現(xiàn)企業(yè)服務(wù)總線(Enterprie

49、 ServiceBu,EB)的場景和解決方案,在此作者分析了HYPERLINK N:整理后htp:www-90dveloperokscwebservicews-sscen2shtm第2 部分概述的多個場景可能的解決方案。HYPERLINK N:整理后htt:w-900ibcomdevlprorkscesrvicewsesbscn在第 1部分中講明的總線工作角色提供了這些場景的基礎(chǔ)。 下面接著那個系列來構(gòu)建面向服務(wù)體系結(jié)構(gòu)(Svce-Oented Arhitctue,SOA)的企業(yè)服務(wù)總線,現(xiàn)在我們來看一看第2 部分(請參閱HYPERLINK N:整理后htt:ww-900ib.cdeelope

50、orkswebservicesw-esbscen3 參考資料)中所描述場景的多種顯而易見的解決方案模式。 以下的每個部分都描述了一種 ESB 實現(xiàn)方式的解決方案模式,除了差不多適配器(Basic Adptos)模式以外,其他的差不多上簡單的點到點(P2P)解決方案。每個模式都提出了不同的使用現(xiàn)行技術(shù)的實現(xiàn)選擇,同時也做出了正反兩方面以及移植方面的考慮。 請注意每個解決方案模式的圖示,它認為服務(wù)客戶端與提供服務(wù)的系統(tǒng)是分離的。因此,在許多情況下,相同的系統(tǒng)或應(yīng)用程序既能夠是服務(wù)客戶端也能夠是服務(wù)提供者。圖示并非是要排除系統(tǒng)作為單獨的客戶端和提供者的可能性,而是承認了相同的系統(tǒng)在不同的互操作中能夠

51、有兩種不同的工作角色。在決定系統(tǒng)是作為客戶端角色來選擇、確認和調(diào)用服務(wù),依舊作為提供者角色來接收、處理和響應(yīng)服務(wù)請求時,那個區(qū)不通常專門重要。 本部分的解決方案模式有:差不多適配器(asi daptors)服務(wù)網(wǎng)關(guān) Web服務(wù)兼容的代理(Web Sevi-ompliantBroker) 面向服務(wù)體系結(jié)構(gòu)的企業(yè)應(yīng)用集成基礎(chǔ)架構(gòu)(EA Ifrastructur for SOA) 服務(wù)編排(ervice Coreorpher) 完整的面向服務(wù)體系結(jié)構(gòu)的基礎(chǔ)架構(gòu)(FlOA Infrsrctur) 差不多適配器解決方案模式這種解決方案通過封裝器或適配器技術(shù)來實現(xiàn)簡單的點到點(P2P)服務(wù)集成,而不是真正

52、的 ES。這種技術(shù)通過 WSDL 定義的 SO訪問或者其他可互操作的產(chǎn)品技術(shù)(比如 WebSr Q (M))來實現(xiàn)集成。假如這些技術(shù)沒有為服務(wù)接口定義(比如 SDL)提供本地模型,那么將需要使用自定義模型來實現(xiàn) SOA 規(guī)范。 盡管設(shè)計比較簡單,然而從該模式中能夠獲得的好處卻不可低估。例如,通過 Q或OAHTTP 進行的直接集成仍然能夠是松散耦合式的,尤其是互操作的特征是使用接口來聲明時。在今后的某個時候,關(guān)于支持最初使用的集成技術(shù)的 SB 基礎(chǔ)架構(gòu),我們能夠通過它來中斷集成。還能夠在進程級不的服務(wù)命名和尋址之上實現(xiàn)操縱級不。 現(xiàn)在差不多有各種各樣的適配器可用,而且也能夠通過開發(fā)工具或運行時技

53、術(shù)來創(chuàng)建新的適配器。并能使其提供對 e服務(wù)規(guī)范和 企業(yè)應(yīng)用集成(teri ppin ntrio,EAI)中間件的支持。它也能夠提供給多種不同類型的系統(tǒng),包含最新的分布式應(yīng)用服務(wù)器(J2EE 服務(wù)器(如 ebSpere),或者微軟的 . 系統(tǒng))、企業(yè)遺留系統(tǒng)(比如IC)以及 Comercial theh 軟件包(比如 SP或Sieel)。HYPERLINK N:整理后htp:www90.bm.codeveoperWokscwebsevicesws-ssce3圖1講明了一般的差不多適配器解決方案,包含了使用現(xiàn)有的 HTTP 和AI 中間件基礎(chǔ)架構(gòu)來支持新的集成。盡管本圖描繪的是內(nèi)部集成場景,但假如

54、用HTTP 來作為通信協(xié)議,或者使用某些 Intret 兼容的EAI 技術(shù)(比如 MQinere passthru),那么該解決方案同樣能夠應(yīng)用于外部場景。 圖 1. 差不多適配器解決方案模式將現(xiàn)有HTTP 和未修改的 EAI 基礎(chǔ)架構(gòu)描述為支持服務(wù)總線功能的某些方面選擇差不多適配器的實現(xiàn)技術(shù)以下是實現(xiàn)差不多適配器的一些選擇:使用遺留系統(tǒng)或應(yīng)用程序直接提供的 SOA 或 AI功能。例如,IB CIS 目前直接提供對SOP 的支持,以及許多系統(tǒng)和應(yīng)用程序包能夠支持 M 或SOAP接口。 假如用于提供訪問的應(yīng)用程序是用戶自己開發(fā)的應(yīng)用程序且運行于應(yīng)用服務(wù)器環(huán)境,或者只要應(yīng)用服務(wù)器運行時環(huán)境和應(yīng)用開

55、發(fā)環(huán)境能夠用來給應(yīng)用程序添加封裝器。例如,WebShere tudio Aplicatio Dvelpr能夠用來給部署于 WebSphre Aplication Sever(Aplication Sevr)的 J2E 應(yīng)用程序添加 XL、SOAP 或 MQ 支持。 假如這種支持不可用或不合適(例如, 假如 XML 轉(zhuǎn)換不適合用來處理現(xiàn)有平臺上的資源),那么可能需要其他的體系結(jié)構(gòu)層,如 HYPELIK http:/w-90.ib.m/devopers/c/wesrvices/ws-esbscen3/ l figure5圖 2 所示。這可能是托管了與應(yīng)用程序或遺留系統(tǒng)集成的適配器的應(yīng)用服務(wù)器層。例

56、如,Appicaion Deveopr Iteratin Edtion提供了 a 2連接器架構(gòu)(Java2 Connecor Architecture,JC)連接器技術(shù)來訪問遺留系統(tǒng)(比如 CCS),并通過ebShere運行時環(huán)境為其提供了 J2E 和 We服務(wù)接口。圖 2. 執(zhí)行ML 轉(zhuǎn)換處理的其他體系結(jié)構(gòu)層假如使用開發(fā)工具來創(chuàng)建自己的封裝器,那么您能夠增強工具提供的功能:通過創(chuàng)建一個框架或一組有用工具類來執(zhí)行通用任務(wù),比如安全性、日志紀錄等等。然而,這種方法可能引起范圍蠕變(cop crep),并最終導(dǎo)致該框架實際上變成了用戶開發(fā)的HYPERLINK N:整理后htp:ww-90.im.c

57、odeveloperWrkscnwebercessebscen3 l 服務(wù)網(wǎng)關(guān)或 YPELIN http:/ l 3 We 服務(wù)兼容代理。當定義框架提議的功能時,需要注意驗證開發(fā)和維護的成本是否合適,以及轉(zhuǎn)換為更復(fù)雜的模式是更不合適的。 請參閱HYPERLINK N:整理后htt:w-90.developerorkswebsercesw-esbscen3l參考資料以獵取更多有關(guān)實現(xiàn)此模式的詳細信息。差不多適配器剖析從正面來講,這種解決方案模式對新的差不多架構(gòu)的需求最低或是全然不需要,同時使用的差不多上廣泛支持的各種規(guī)范和技術(shù)。從反面來講,像安全、治理等功能都交給了應(yīng)用程序或單個封裝器的實現(xiàn)來處

58、理。由于該模式基于使用協(xié)同操作技術(shù)和開放式標準,因此將該模式移植到更復(fù)雜的體系結(jié)構(gòu)也就相對比較簡單。模式替換假如以上均不能滿足集成的需求,或者存在一些附加功能或服務(wù)質(zhì)量需求,那么封裝器方式就可能滿足不了需求。假如是如此,從邏輯上講下一步應(yīng)該是HYPERLINK N:整理后http:w00.ibm.codelperWorkcebserviesesbsen3服務(wù)網(wǎng)關(guān)。假如需要更高級 ES 功能,則 HYPERLINK N:整理后ttp:w-90ibm.omdeveloprokscwebervisbscen3 l 3Web 服務(wù)兼容代理或HYPERLINK N:整理后htp:ww-900.idver

59、Wrkscebsericws-sbscen3 l EI Inrastrutur for SOA模式會比較適合。 服務(wù)網(wǎng)關(guān)解決方案模式這種模式代表了一種差不多的 ESB 實現(xiàn),接近于在HYPERLINK N:整理后ttp:ww900.ieveoperWrkscwebrvieswesbscen l 2.第 1 部分中描述的“最低功能的ESB 實現(xiàn)”。服務(wù)網(wǎng)關(guān)一般通過SOAPHTT、MQ、ava 消息服務(wù)(aa Message rvic,JMS)等來支持客戶端連接,然而也能夠通過諸如CA 或 WebSphere 業(yè)務(wù)集成適配器(WebphereBusness Interaiondaptrs,BIA)

60、來對服務(wù)提供者支持更廣泛的集成。網(wǎng)關(guān)組件為服務(wù)路由、協(xié)議轉(zhuǎn)換以及安全擔當著中央操縱點的角色。 網(wǎng)關(guān)能夠用來向客戶端提供一致的服務(wù)命名空間(例如,以 URL 的形式為SOAP/HTP服務(wù)提供命名空間),并能夠向服務(wù)提供授權(quán)模型,實際上這些服務(wù)是由完全不同的系統(tǒng)通過多種協(xié)議來提供的。當需要向外部合作伙伴(比如客戶端或供應(yīng)方)公開服務(wù)時,網(wǎng)關(guān)所提供的這些功能便成為一個明顯的需求。然而當需要對從應(yīng)用程序到用多種系統(tǒng)和技術(shù)實現(xiàn)的功能的訪問進行簡化時,這些功能在單個企業(yè)內(nèi)部也專門有用。一個關(guān)鍵的網(wǎng)關(guān)功能是將客戶端支持的服務(wù)協(xié)議轉(zhuǎn)換為提供方支持的服務(wù)協(xié)議。這些協(xié)議能夠包括 SOP/HTP、M 或 SOAP/

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論