深入解讀ESB與SOA的關係

2021-06-18 12:52:34 字數 1362 閱讀 5966

時至今日,soa的概念漸漸清晰了。 

有關esb的概念,已經吵了好多年了,還是沒有定論。

我個人認為,esb本來就是抽象的概念,而且內涵豐富,在不同的場合含義不同。因此應該從不同的角度來認識。 

一、soa和esb一直是沒有明確概念的兩個縮略詞 

原因是這兩個詞包含的內涵太豐富了,無法用一兩句話說清楚,並且,這個詞在不同的地方含義也有所不同。

soa----面向服務架構,實際上強調的是軟體的一種架構,一種支撐軟體執行的相對穩定的結構,表面含義如此,其實soa是一種通過服務整合來解決系統整合的一種思想。不是具體的技術,本質上是一種策略、思想。

esb----企業服務匯流排,像一根「聰明」的管道,用來連線各個「愚笨」的節點。為了整合不同系統,不同協議的服務,esb做了訊息的轉換解釋與路由等工作,讓不同的服務互聯互通。 

目前esb與soa的確切概念依然沒有。但可以明確的說soa就是一種服務整合思想,它的不同實現方式可能差別很大,目前soa最常見的實現方式是sca和jbi。 

二、esb究竟是什麼

這個問題在個大廠商之間,認識和觀點也存在很大差異。

ibm、oracle等認為esb是連線服務的一種模式,但一些開源組織和其他廠商認為esb是一種產品,並且提供了esb連線解決方案的實現,這種實現可以認為是中介軟體,也可以認為是元件工具。 

對此,我個人的觀點更偏向前者,esb是一種模式,esb的實現方式也很多,可以稱之為esb產品。當然在不同場合esb的含義也不同,需要鑑別。 

三、為什麼esb總和soa黏在一塊 

通常,這兩個名詞總不分家,談論的話題中「你中有我,我中有你」。 

為什麼是這樣的呢?esb是soa嗎?兩者之間究竟有什麼微妙的關係呢? 

帶著疑問,繼續往下看: 

首先,esb不是soa。soa的最常見的實現方式方式是sca和jbi,而sca的實現需要esb,相反jbi則不需要esb,可以參看本人對jbi和sca分析解讀的文章。 

其次,因為ibm和oracle(收購了bea和sun的牛x公司)都推崇sca模式的soa,因此sca實際上已經成為soa的事實標準,說道soa,最先想到的就是sca模式了。 

最後,esb是sca架構實現不可缺少的一部分,esb產品脫離了具體的應用外,沒有任何意義。esb的作用在於實現服務間智慧型化整合與管理的中介。通過esb可以訪問所整合系統的所有已註冊服務。 

四、esb的特點 

esb是一種在鬆散耦合的服務和應用之間標準的整合方式。它可以作用於:

面向服務的架構 - 分布式的應用由可重用的服務組成

面向訊息的架構 - 應用之間通過esb傳送和接受訊息

事件驅動的架構 - 應用之間非同步地產生和接收訊息

esb就是在soa架構中實現服務間智慧型化整合與管理的中介。

(本段話引用:it專家網 )

深入解讀ESB與SOA的關係

時至今日,soa的概念漸漸清晰了。有關esb的概念,已經吵了好多年了,還是沒有定論。我個人認為,esb本來就是抽象的概念,而且內涵豐富,在不同的場合含義不同。因此應該從不同的角度來認識。一 soa和esb一直是沒有明確概念的兩個縮略詞 原因是這兩個詞包含的內涵太豐富了,無法用一兩句話說清楚,並且,這...

深入解讀ESB與SOA的關係

深入解讀esb與soa的關係 有關esb的概念,已經吵了好多年了,還是沒有定論。我個人認為,esb本來就是抽象的概念,而且內涵豐富,在不同的場合含義不同。因此應該從不同的角度來認識。一 soa和esb一直是沒有明確概念的兩個縮略詞 原因是這兩個詞包含的內涵太豐富了,無法用一兩句話說清楚,並且,這個詞...

深入解讀ESB與SOA的關係

深入解讀esb與soa的關係 時至今日,soa的概念漸漸清晰了。有關esb的概念,已經吵了好多年了,還是沒有定論。我個人認為,esb本來就是抽象的概念,而且內涵豐富,在不同的場合含義不同。因此應該從不同的角度來認識。一 soa和esb一直是沒有明確概念的兩個縮略詞 原因是這兩個詞包含的內涵太豐富了,...