《ESB與SOA的結(jié)合》word版_第1頁
《ESB與SOA的結(jié)合》word版_第2頁
《ESB與SOA的結(jié)合》word版_第3頁
《ESB與SOA的結(jié)合》word版_第4頁
《ESB與SOA的結(jié)合》word版_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、.說到ESB,人們會自然想到兩個關(guān)鍵詞:集成和SOA。是的,ESB正是集成技術(shù)和SOA思想結(jié)合的產(chǎn)物。分布式時代的集成技術(shù)從集成技術(shù)的發(fā)展歷史來看,最早是簡單地點對點集成,兩個應(yīng)用通過各自的接口來實現(xiàn)通信。這種接口固化在應(yīng)用當(dāng)中的緊密耦合方式,使得系統(tǒng)毫無靈活性可言,應(yīng)用本身的每次變化都會要求其相應(yīng)接口的重新定制。于是發(fā)展出基于消息的中間件,接口被消息代理所取代,應(yīng)用與應(yīng)用之間不再是通過其本身的接口互聯(lián),而是通過獨立的消息代理來通信,這使得應(yīng)用與應(yīng)用之間耦合更松,應(yīng)用的變化影響的只是消息代理,而不需要其他應(yīng)用改變。但是它仍然是點對點集成的一種方式,路由邏輯和業(yè)務(wù)邏輯沒有分離,系統(tǒng)基本沒有擴(kuò)展性

2、,部署上還是網(wǎng)狀結(jié)構(gòu)。這種點對點的集成方式應(yīng)付少量應(yīng)用的整合還差強人意,對于大規(guī)模的集成,在EAI時代,逐漸發(fā)展出集線器模式。通過把所有的系統(tǒng)都連接到中央交換中心,這種模式巧妙地把集成邏輯和業(yè)務(wù)邏輯分離開來,大大增加了系統(tǒng)彈性。但是這種中央控制的方式使得管理相當(dāng)復(fù)雜,同時中央又往往成為集成的瓶頸所在。分布式時代的到來對于集成的方式提出了巨大的挑戰(zhàn),這時候ESB就應(yīng)運而生。通過采用輕量級的分布式體系,ESB將更多的處理邏輯分配到多個的端點上,中央服務(wù)器不復(fù)存在,業(yè)務(wù)邏輯處理能力及系統(tǒng)壓力可靈活調(diào)配??偩€對于Hub進(jìn)行了拓展,拓?fù)涞哪J竭€是那樣,但是這個單一的物理中心被虛擬化,分散到了整個網(wǎng)絡(luò)上,

3、負(fù)載和靈活性都大大增加了。IBM的毛新生這樣解釋ESB,他認(rèn)為ESB真正實現(xiàn)了系統(tǒng)間的松耦合,從而能夠應(yīng)對大規(guī)模的集成。ESB就是EAI在SOA時代下的一種形態(tài)。金蝶中間件ESB產(chǎn)品項目經(jīng)理倪曉兵說,區(qū)別于傳統(tǒng)的EAI技術(shù),ESB不僅支持高度的分布式部署,同時支持異步消息的交互,強調(diào)面向的對象是符合標(biāo)準(zhǔn)的服務(wù)。另外,ESB在集成的過程中,更強調(diào)一種統(tǒng)一消息的概念。這種統(tǒng)一消息的格式,是可以被在ESB中所集成的各個服務(wù)都認(rèn)可的。例如,IBM提出的SDO這樣的一種統(tǒng)一的數(shù)據(jù)格式。SOA時代下的產(chǎn)物在SOA時代下,ESB為SOA的實施提供了底層架構(gòu)的技術(shù)支持。SOA從根本上來說就是要解決兩個問題:重

4、用和異構(gòu),但是作為信息化系統(tǒng)建設(shè)永遠(yuǎn)要面對的兩個難題,解決的方法卻并不簡單,所以SOA的體系龐大而復(fù)雜。另外,SOA從根本上來說是一種軟件架構(gòu)的思想和方法論,它必須有相應(yīng)的技術(shù)來幫助它落地,應(yīng)用在具體的項目當(dāng)中,而ESB則提供了實施SOA、簡化SOA的技術(shù)手段。ESB的意義在于讓SOA有了一個可實現(xiàn)的基礎(chǔ)設(shè)施。IONA公司大中國區(qū)高級架構(gòu)師陸飛舟這樣說。對于SOA要解決的兩個難題,ESB從底層架構(gòu)上都進(jìn)行了技術(shù)支持。對于服務(wù)的重用,ESB提供了服務(wù)倉庫和消息的路由,來實現(xiàn)服務(wù)之間的彼此調(diào)用。一個應(yīng)用如果需要調(diào)用一個服務(wù),它根本不用知道這個服務(wù)在什么地方,如何調(diào)用等,而只需要發(fā)送一個調(diào)用的請求,

5、ESB就會幫助它找到那個服務(wù),并進(jìn)行綁定和消息的路由。ESB為服務(wù)提供者和服務(wù)消費者之間的集成提供了一個平臺。倪曉兵說。更重要的是ESB為分散服務(wù)提供了交互、組合和治理的基礎(chǔ)架構(gòu)。有了它,SOA才能釋放自己的最大價值。而對于異構(gòu)環(huán)境的連接,這是ESB天生就具備的能力,因為集成技術(shù)一開始就是面向異構(gòu)環(huán)境的。不同的數(shù)據(jù)、消息遵循不同的協(xié)議,采用不同的格式,為了完成它們之間的交互,ESB就必須提供轉(zhuǎn)換的能力。同時作為EAI在SOA下的一種形態(tài),ESB更具開放性,尤其是對Web服務(wù)的支持。IBM為ESB定義了四個必備的功能:路由器根據(jù)信息內(nèi)容,在不同應(yīng)用和服務(wù)之間進(jìn)行信息傳輸和路由;轉(zhuǎn)換器進(jìn)行應(yīng)用之間

6、的通信協(xié)議轉(zhuǎn)換;翻譯機進(jìn)行應(yīng)用之間的消息格式轉(zhuǎn)換;收發(fā)室處理來自不同渠道的業(yè)務(wù)事件(同步傳輸,異步傳輸,發(fā)布/訂閱等方式)。其中路由器和收發(fā)室都是針對服務(wù)的重用而設(shè)計的,而轉(zhuǎn)換器和翻譯機則專門用來解決異構(gòu)的通信問題。針對重用和異構(gòu)這兩個難題,倪曉兵認(rèn)為ESB提供了兩個核心的功能,服務(wù)的管理和數(shù)據(jù)的轉(zhuǎn)換。那么ESB到底是什么呢?業(yè)內(nèi)對ESB的定義是:它是由中間件技術(shù)實現(xiàn)并支持SOA的一組基礎(chǔ)架構(gòu),支持異構(gòu)環(huán)境中的服務(wù)、消息以及基于事件的交互,并且具有適當(dāng)?shù)姆?wù)級別和可管理性。ESB是邏輯上與SOA 所遵循的基本原則保持一致的服務(wù)集成基礎(chǔ)架構(gòu),它提供了服務(wù)管理的方法和在分布式異構(gòu)環(huán)境中進(jìn)行服務(wù)交互

7、的功能。ESB不僅僅是連通連通是最基礎(chǔ)的能力不管是應(yīng)對集成還是支持SOA落地,連通性都是ESB要解決的首要問題,數(shù)據(jù)和消息的傳輸和轉(zhuǎn)換是SOA實現(xiàn)的基礎(chǔ)。作為SOA架構(gòu)的信息傳輸龍骨,ESB為SOA提供一種連通性基礎(chǔ)架構(gòu),用以連接SOA中的服務(wù)。IBM WebSphere軟件全球副總裁Sandy Carter女士介紹說,ESB是SOA中的消息框架,即消息相互交換和通信的方式,是業(yè)界標(biāo)準(zhǔn)與客戶消息框架的整合。IT系統(tǒng)如果是一個人體的話,血液就是數(shù)據(jù),心臟和血管就是ESB,大腦等器官就是應(yīng)用,這樣一個整體就是SOA。毛新生這樣比喻。ESB要做到還很多但是ESB的作用絕不僅限于連接。企業(yè)需要不受限制

8、的ESB。這是因為SOA不僅僅需要ESB來解決連通性問題,而且還需要ESB與附加產(chǎn)品的運行環(huán)境一起得到擴(kuò)展,以便形成一個可以充分整合并有效連通的解決方案。Sandy Carter說。BEA公司中國區(qū)技術(shù)經(jīng)理劉汩春說:SOA的服務(wù)不僅僅是可重用,而且必須是可組裝編排;可快速注冊發(fā)布; 質(zhì)量可監(jiān)控;生命周期可管理的。這樣SOA才能在整個IT范圍內(nèi)實現(xiàn)服務(wù)治理和優(yōu)化,從而直接推動業(yè)務(wù)的優(yōu)化。倪曉兵介紹,金蝶中間件推出的Apusic ESB不僅包含了數(shù)據(jù)連通的功能,還涵蓋了智能網(wǎng)絡(luò)、服務(wù)倉庫、業(yè)務(wù)重組和管理工具。首先,分布式部署和集中控制是ESB的典型特征。ESB服務(wù)器在物理上可能相隔很遠(yuǎn),但是通過集

9、中管理,這些服務(wù)器組成了一個ESB網(wǎng)絡(luò),在邏輯上形成完整的企業(yè)服務(wù)總線。在Apusic ESB的智能網(wǎng)絡(luò)中,不要求網(wǎng)絡(luò)中的各個服務(wù)器都必須明確地和其他所有的服務(wù)器建立連接關(guān)系,只要一個節(jié)點不是孤立節(jié)點,那么這個節(jié)點就可以和Apusic ESB網(wǎng)絡(luò)中的任意非孤立節(jié)點通信。并且,在通信過程中的路徑選擇上,Apusic ESB 網(wǎng)絡(luò)會根據(jù)網(wǎng)絡(luò)連接狀況的實際情況,作出智能調(diào)整,自動選擇最優(yōu)路徑。其次服務(wù)的注冊、發(fā)布和編排也是SOA實現(xiàn)服務(wù)重用性的基礎(chǔ)。在Apusic ESB的服務(wù)倉庫中,任何符合標(biāo)準(zhǔn)的服務(wù)都可以在其中注冊,從而被其他服務(wù)調(diào)用。而消費服務(wù)也無需知道被調(diào)用服務(wù)的具體特征,只需要發(fā)送相應(yīng)地請

10、求即可找到相應(yīng)的服務(wù),并進(jìn)行綁定和數(shù)據(jù)的傳輸。同時為了滿足具體的業(yè)務(wù)需求,不同的服務(wù)需要被組裝在一起形成新的應(yīng)用系統(tǒng)。Apusic ESB引入了工作流流程的概念,引入自主實現(xiàn)且基于業(yè)界標(biāo)準(zhǔn)的,具有條件分支和合并并行流轉(zhuǎn)功能的BPEL4WS流程引擎,從而實現(xiàn)綜合的、復(fù)雜的業(yè)務(wù)邏輯編排。這個流程引擎支持子流程、條件腳本、路由節(jié)點等功能。通過靈活的流程定義,按照即時的業(yè)務(wù)需求,將單個離散服務(wù)有機的組合起來,達(dá)到服務(wù)重組的目的,完成集成的業(yè)務(wù)需求。此外,Apusic ESB在引擎級別將BPEL規(guī)范的細(xì)節(jié)進(jìn)行了包裝,對用戶來說,只需要關(guān)心流程中的一個服務(wù)即可,無須再去關(guān)心BPEL的具體技術(shù)細(xì)節(jié)。最后,所

11、有的調(diào)用、轉(zhuǎn)換都必須有一個良好的管理工具來幫助實施,并進(jìn)行監(jiān)控。Apusic ESB則提供了一體化的管理工具,通過這些工具,您可以非常方便的對ApusicESB進(jìn)行集中式管理、可視化的流程設(shè)計,以及運行期的實時監(jiān)控等功能。ESB其實只是技術(shù)SOA項目不應(yīng)從ESB開始ESB在SOA中的重要作用,使得各個SOA廠商紛紛推出自己的ESB產(chǎn)品,并在具體的SOA實施中,利用ESB來作為切入點,并簡化SOA的復(fù)雜性。但是這種對ESB的重視正在使SOA的實施進(jìn)入迷途。因為ESB只是技術(shù)手段,而SOA的目標(biāo)則是業(yè)務(wù)價值。對技術(shù)手段的過分重視往往使人們忽略了SOA的最終目標(biāo),陷入在技術(shù)的泥潭當(dāng)中不能自拔。同時E

12、SB的簡化掩蓋了SOA的復(fù)雜性,使大家對SOA的實施過分盲目樂觀,忽略了除了技術(shù)以外其他很多更重要的因素。針對這種錯誤傾向,IBM WebSphere SOA與J2EE顧問Bobby Woolf最近寫了一篇文章以ESB為中心的架構(gòu)是實施SOA錯誤的途徑來質(zhì)疑這種把ESB當(dāng)作SOA的實現(xiàn)基礎(chǔ)的做法。Bobby Woolf在文章中提到,很多客戶在開始建設(shè)SOA時要求先為他們建立一個ESB,他們拋棄了SOA的理念而只對ESB感興趣。這些客戶在ESB和SOA之間劃了一個等號,或者更準(zhǔn)確地說建設(shè)SOA就必須建設(shè)ESB。毛新生指出了這種錯誤的根源所在。因此以ESB來啟動一個SOA項目是有害的,它將陷入技術(shù)

13、的怪圈中,而無法產(chǎn)生最大的業(yè)務(wù)價值。毛新生認(rèn)為業(yè)務(wù)才應(yīng)該是SOA開始的起點和最終的目標(biāo)。你首先要在業(yè)務(wù)上進(jìn)行服務(wù)的分解,然后才把他們映射到技術(shù)實現(xiàn)中。毛新生說。SOA項目的實施必須從業(yè)務(wù)需求的分析開始,而不是從構(gòu)建ESB來開始。倪曉兵對這種觀點也表示支持,SOA框架體系下的軟件開發(fā),應(yīng)該是從業(yè)務(wù)流程分析開始的,用一些組件化的業(yè)務(wù)建模方法,對實際的業(yè)務(wù)場景進(jìn)行分析。在這個基礎(chǔ)上建立業(yè)務(wù)用例,并根據(jù)這些業(yè)務(wù)用例構(gòu)造業(yè)務(wù)流程模型。倪曉兵同時強調(diào):ESB不過工具和技術(shù)而已,關(guān)鍵上集成業(yè)務(wù)如何做?業(yè)務(wù)邏輯如何編制?如何實施?金蝶不僅提供產(chǎn)品,還能提供一套實施方法論。針對簡單集成業(yè)務(wù),提供標(biāo)準(zhǔn)知識集,也就

14、是工具包,SI馬上就可以用,針對復(fù)雜業(yè)務(wù),我們提供一套方法論,金蝶的六步實施法,可以加速實施過程。引入ESB的最正確時機我們既然不能從ESB來開始一個SOA項目,那么應(yīng)該在項目的什么時候引進(jìn)這個重要的工具呢?Accenture首席技術(shù)官Don Rippert認(rèn)為激活SOA的全部潛力需要通過四個階段,依次是使用XML,以更標(biāo)準(zhǔn)的方式使用應(yīng)用程序接口;捕獲一些業(yè)務(wù)過程,并將它們轉(zhuǎn)化成為Web服務(wù);引入并全面使用企業(yè)服務(wù)總線;產(chǎn)生業(yè)務(wù)過程執(zhí)行語言(BusinessProcess Execution Language,BPEL),它可由業(yè)務(wù)過程建模工具完成。在這四個階段,ESB的采用則位于第三階段中。

15、同時他認(rèn)為當(dāng)前大多數(shù)的企業(yè)還只是處于第一個階段,因此ESB實際上對于他們來說并不是迫切需要的。Burton Group的分析師Anne Thomas Manes的觀點與Rippert相似,他認(rèn)為要采用ESB,必須首先實現(xiàn)啟動SOA的基本組件,這些組件是一個或多個服務(wù)平臺(如.NET,Java EE應(yīng)用服務(wù)器等),SOA管理解決方案,注冊表,另外如果服務(wù)要被暴露在防火墻之外,那么需要XML網(wǎng)關(guān)。她說:如果缺少我推薦啟動SOA的基本組件,ESB將不會列在我的清單中。事實上,我并不鼓勵人們由ESB開始。ESB并不會鼓勵好的SOA行為。ESB本質(zhì)上是集成系統(tǒng),而非SOA系統(tǒng)。并且她認(rèn)為ESB應(yīng)該在后期

16、購買。毛新生認(rèn)為,做SOA的事情不要先上來建立一個大而全的ESB,相反是關(guān)注你的業(yè)務(wù)問題,找到用SOA的方法來解決業(yè)務(wù)上的需求,在解決這個問題的過程當(dāng)中,你會看到一系列的業(yè)務(wù)服務(wù)。這些業(yè)務(wù)服務(wù)是會產(chǎn)生業(yè)務(wù)價值的。它可以靈活地組裝,動態(tài)地解決你變化的業(yè)務(wù)需求。這是它的價值,只有這樣才能使你的業(yè)務(wù)敏捷起來,隨需應(yīng)變起來。而在服務(wù)的組裝過程中,你再去考慮利用ESB來把他們連接起來。需要注意的是,這并不是否認(rèn)ESB的價值。ESB是好的,單純的ESB項目是壞的。讓架構(gòu)圍繞服務(wù),而非總線。深入解讀ESB與SOA的關(guān)系 時至今日,SOA的概念漸漸清晰了。 有關(guān)ESB的概念,已經(jīng)吵了好多年

17、了,還是沒有定論。我個人認(rèn)為,ESB本來就是抽象的概念,而且內(nèi)涵豐富,在不同的場合含義不同。因此應(yīng)該從不同的角度來認(rèn)識。 一、SOA和ESB一直是沒有明確概念的兩個縮略詞 原因是這兩個詞包含的內(nèi)涵太豐富了,無法用一兩句話說清楚,并且,這個詞在不同的地方含義也有所不同。SOA-面向服務(wù)架構(gòu),實際上強調(diào)的是軟件的一種架構(gòu),一種支撐軟件運行的相對穩(wěn)定的結(jié)構(gòu),表面含義如此,其實SOA是一種通過服務(wù)整合來解決系統(tǒng)集成的一種思想。不是具體的技術(shù),本質(zhì)上是一種策略、思想。ESB-企業(yè)服務(wù)總線,像一根“聰明”的管道,用來連接各個“愚笨”的節(jié)點。為了集成不同系統(tǒng),不同協(xié)議的服務(wù),ESB做了消

18、息的轉(zhuǎn)換解釋與路由等工作,讓不同的服務(wù)互聯(lián)互通。 目前ESB與SOA的確切概念依然沒有。但可以明確的說SOA就是一種服務(wù)集成思想,它的不同實現(xiàn)方式可能差別很大,目前SOA最常見的實現(xiàn)方式是SCA和JBI。 二、ESB究竟是什么 這個問題在個大廠商之間,認(rèn)識和觀點也存在很大差異。IBM、Oracle等認(rèn)為ESB是連接服務(wù)的一種模式,但一些開源組織和其他廠商認(rèn)為ESB是一種產(chǎn)品,并且提供了ESB連接解決方案的實現(xiàn),這種實現(xiàn)可以認(rèn)為是中間件,也可以認(rèn)為是組件工具。 對此,我個人的觀點更偏向前者,ESB是一種模式,ESB的實現(xiàn)方式也很多,可以稱之為ESB產(chǎn)品。當(dāng)然在不同場合ESB的含義也不同,需要鑒別。 三、為什么ESB總和SOA黏在一塊 通常,這兩個名詞總不分家,談?wù)摰脑掝}中“你中有我,我中有你”。 

溫馨提示

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

評論

0/150

提交評論