時至今日,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一直是沒有明確概念的兩個縮略詞 原因是這兩個詞包含的內涵太豐富了,...