目前,我們正在與有可能的ESB或一些類似刀具替換我們的應用程序之一,並尋找一些見解如何最好地處理這個集成層或總線。如何設計/開發不同的外部服務/應用
我們目前有消耗/與不同的外部服務和數據源,有些是通過SOAP Web服務和其他人,我們只使用一個數據庫連接傳送交互的獨立服務。該服務通過SOAP公開,我們還有其他應用程序使用此服務,但與它緊密耦合,現在我們還有其他需要使用某些外部服務的應用程序,並希望將其全部替換爲ESB或某種SOA平臺。
什麼是更換使用ESB這個「外部」服務集成層的最佳方式?我們正在考慮擁有一個'全局'契約/ API,在這個契約/ API中,我們使用的所有服務都作爲一個單一契約公開,我們使用的所有可能的操作和數據結構都暴露在一個單一的命名空間下,這是否是最好的方法接近這個?如果有的話,是否有任何工具可以幫助我們實現這一流程的自動化,還是我們基本上不得不手工製作這個合同/ API?這也意味着,對於底層服務/ API的任何更改,我們也必須更新這個新的API。
如果不是那麼我看到的另一個選擇是基本上使用'ESB'作爲'代理'層,其中我們所有的來源都是原樣顯示的,所以我們最終會得到幾個不同的'合同'/ API端點,但我並沒有真正看到它的價值。
還給了上述什麼是最好的工具?是一個完整的ESB一個矯枉過正的問題,還是我們更好地使用Apache Camel或Spring Integration之類的東西來滾動我們自己的東西?
的詳細原因:
我們目前正在與更多的積分超過5個不同的外部服務會在未來。
一對夫婦只應用在目前消費我們目前的應用程序,但在未來的幾個其他應用程序/系統將需要消耗一定的這些外部服務。
我們目前使用的通信(SOAP)的一個方法之間的這些服務,但一些應用程序可能會使用發佈/訂閱消息在未來,雖然SOAP仍將是主要使用的協議。
我是新來的ESB集成,所以我提前道歉,如果我誤解了很多這些技術和他們是爲了解決問題。
任何幫助/提示/指針將不勝感激。
謝謝。
我愛駱駝+卡拉夫。簡單的輕量級ESB。 – Namphibian