2013-03-04 67 views
2

您好經歷了Gregor Hohpe和Bobby Woolf的企業集成模式。企業集成模式和HTTP(SOAP/REST)

http://www.eaipatterns.com/toc.html 我還通過駱駝和騾遵守這些集成模式去 -

http://www.mulesoft.org/documentation/display/current/Understanding+Enterprise+Integration+Patterns+Using+Mule

http://camel.apache.org/enterprise-integration-patterns.html

我看到騾子和駱駝都允許通過諸如web服務進行部署和訪問的應用程序SOAP或REST,SOAP是更多的RPC風格。他們允許使用像CXF和Jersey這樣的開源實用程序進行大規模集成支持。事實上,Mule也支持RMI端點 - 這也將提供遠程方法調用功能,這也是一種公認​​的集成形式。 我瞭解ESB是圍繞消息總線構建的,並且還支持其他協議。但是,ESB只符合EIP,而EIP不僅僅是ESB。

問題是,爲什麼SOAP/REST或它們的傳輸協議不被認爲是「整合風格」,這是企業集成使「面向消息」?

我相比,其設計這些模式,但試圖理解的集成模式的漸行漸遠的消息-Y大自然偉大的心靈一個新手。我承認這不是堆棧溢出的QnA格式,但會要求Mods保持活躍狀態​​一段時間,以便人們可以分享他們的意見。

回答

1

至於SOAP,它會把它置於集成風格「遠程過程調用」之下,因爲它幾乎是SOAP實際實現的東西(我不會考慮SOAP over JMS混合,這裏有可能將RPC與消息..)。

REST是,接口明智的,從SOAP非常不同之處在於它的資源驅動,而不是服務驅動。因爲它只是另一種同步的RPC調用格式,所以我不會在「RPC」風格下使用它。

我會,但是,沒有投入什麼EIP集成式的特定消息模式實現理論太多精力。

看看手中的特定場景,並使用EIP來建模您的特定集成。

我已經看到了,在realtiy實現的,在現實中實現的消息RPC模式或SOAP服務文件傳輸的集成(雖然我真的不建議這樣做)。

一個具體的例子:考慮使用專門的文件上傳服務,它使用SOAP技術構建,它將CSV文件上傳到服務器上的文件區域,並從其他系統拾取。我會在高層調用這個基於文件的集成。

另一個例子是消息系統有時使用共享數據庫來實現。仍然使用它們的集成風格是消息傳遞,而不是「共享數據庫」。

想想你的集成應該如何在高層次上工作,然後應用各種協議來完成繁重的工作。

+0

不錯答覆好。完全同意你的觀點,即設計的基礎應該是高層次的實施。所以實際上,RPC/SOAP通道對於任何集成設計都是合適的 - 但不知何故它主要集中在消息傳遞上。此外,爲什麼ESB雖然支持Http - soap/rest端點 - 但是他們的文檔中並沒有聲明遵守EIP – Soumya 2013-03-04 16:02:02