我已經使用了SOAP,但是我從未使用過SOA,ESB和其他企業應用程序集成模式。我發現關於ESB的文檔很混亂。是一個服務器或服務器集羣上ESB的標準實現嗎?
有些東西我不確定要用ESB來理解。我知道這是一個概念,將企業網絡描述爲公共汽車,並不是一個具體的東西,但仍然是。
我可以理解,ESB提供與舊服務的協議和消息轉換,允許編排,並且ESB完成消息目標的邏輯。但是我也將ESB想象成不同ESB服務器之間的中間件(而不僅僅是Web服務接口)。
如果我以ServiceMix爲例,我認爲在通過公共總線/協議(NMR?JMS?)交互的不同服務器上安裝多個ServiceMix平臺是很自然的。因此,我使用CAMEL(例如使用某些Web服務)創建的ServiceMix(a)上的服務可能會使用也由CAMEL創建的ServiceMix(b)上的服務。
因此,如果我的服務需要其他服務,我只需提及它的標識符,並且ESB會將我的請求路由到正確的ServiceMix平臺。
但是當我閱讀有關ServiceMix的示例時,在我看來,ServiceMix被預先用作獨立應用程序服務器。不是一組服務器。
ESB只是一個提升的應用程序服務器嗎? (分解它提供的集成功能)
實際上SOA中有多個ESB嗎?它們是否與ESB內部的協議相鏈接?或者,在ESB上實現的服務(a)必須提供像SOAP這樣的外部接口,以便ESB(b)可以使用它的服務?
謝謝它幫助我瞭解了ESB,但ServiceMix通常被稱爲OSGI容器,帶有CAMEL,CXF和ActiveMQ模塊,看起來更像是一個模塊/版本管理平臺。那麼它是否像通過CAMEL或CXF或消息傳遞來開發連接器和適配器以連接到ServiceMIX中的外部應用程序?這在每個稱爲ESB的產品中都是如此嗎?我可能在這裏錯過了一些關鍵點,所以如果我在這裏丟失了重要的東西,請更正 – Chakri 2014-09-08 05:07:27
是的。您使用cxf和camel以及activemq開發連接器和適配器。卡拉夫只是管理模塊。這在每個ESB產品中都不會發生。大多數ESB更單一,但有些工作是這樣的。 – 2014-09-08 06:47:01
感謝您的回覆。通過單片,我明白他們自己提供連接器/適配器,並隱藏大部分內部工作,並提供一些固定的指導原則來使用ESB和專有術語,如Oracle Service Bus或IBM Integration Bus等。如果可能的話,還請提供一些建議在構建階段依賴管理與OSGi中的運行時使用ServiceMix,因爲我已經問過 - http://stackoverflow.com/questions/25718033/dependency-management-in-osgi-bundle-servicemix – Chakri 2014-09-08 07:03:14