我正在使用一個系統,現在只有一個進程空間;我們將其分解爲幾個流程,最初是在同一個盒子上運行,但最終要分佈在幾臺獨立的機器上。我傾向於使用ESB(NServiceBus,Rhino ESB)或可能使用WCF +隊列來處理我們的應用程序所具有的發佈/訂閱和請求/響應場景。然而,我正在爲抽象而苦惱:我不想讓各個組件知道他們正在通過總線進行通話。目前連接各種服務的API可以很好地轉換爲這種模式,但是我想從客戶端和服務器端隱藏它。爲客戶端和服務器編寫大量自定義代理代碼,有沒有更好的方法來處理這個問題?我意識到WCF可以根據服務定義自動生成代理,但我真的很喜歡其他一些我用(比如說)犀牛服務總線獲得的東西。抽象出服務總線/分佈式消息的存在?
理想情況下,我希望能夠使用IoC替換不同的實現(帶和不帶ESB /消息傳遞層)(知道必須通過約定強制實施通過接口傳遞的內容的限制),但我不確定該去哪裏。我真的不希望將當前接口上的每個方法調用都更改爲它自己的離散消息類。
任何資源/模式/工具來幫助我做到這一點?如果我不清楚,請提問。謝謝。
正如後續 - 我的項目的這一部分已被提出並仍然如此。如果/當我們選取它時,我會跟進。 – Joe 2011-07-29 18:26:30
@Joe,不幸的是,每天都有越來越多的基於SOA-tools/ESB的大型企業項目被提交。不好的跡象:表明IT部門缺乏資金...... – CMR 2011-07-29 19:33:39