2011-08-31 60 views
4

我對開發DDD應用程序非常有信心,但是一個導致我問題的領域是當兩個應用程序相互集成時。我正在努力尋找關於這個主題的任何有用的書籍或資源。諸如EAI模式等書籍深入瞭解消息傳遞模式和消息構建,但並未真正解釋如何構建使用這些模式的系統。分佈式領域驅動設計資源

我已經搜索了高和低,我很確定有沒有示例應用程序,如何整合兩個系統。我理解異步消息傳遞的概念,但又無法找到如何應用它的好例子。

SOA上的資源似乎不斷重複相同的概念,但沒有演示如何實現它們,並且更多的時候似乎更多地關注銷售我的產品。

這裏是那種我在努力回答的問題:

  1. 如果每個應用程序都有它的數據的自己的副本?例如,組織中的每個應用程序是否應該有自己的客戶列表,在收到消息後更新它?

  2. 在DDD堆棧中的哪個點傳遞了消息?它們是域名事件的結果嗎?

  3. 我可以結合異步消息和WCF嗎?還是我必須選擇?我是否使用WCF發送/訂閱請求/響應和消息?

  4. 一個DDD應用程序如何消耗另一個DDD應用程序的服務?如第1點所述,一個DDD應用程序是否應該通過其應用程序服務向其他系統查詢其數據,還是應該已經擁有自己的本地數據副本?

  5. 顯然我不能在兩個系統間進行事務處理。我如何避免這種情況?

如果我聽起來很困惑,那是因爲我。我不是在尋找上述問題的答案,只是指出將回答這個問題和類似問題的資源的方向。

+9

我很失望,這是封閉。它沒有徵求意見,但實際上已經激發了非常有建設性的答案,如Eric的下文。我向資源尋求方向,這就是我得到的。我認爲這是有建設性的,顯然還有4個人在2個小時內也做了。我如何反駁這個封閉? –

回答

7

Paul,

我一直在做類似的過渡。我的建議:

  • http://cqrsinfo.com/開始。
  • 收聽Distributed Podcast
  • 抓住Greg Young的任何談話。例如,here是Eric Evans採訪Greg。他有一些全天會議記錄。
  • 閱讀/收聽Udi Dahan(poscasts,lectures,articles等)的任何內容。他在InfoQ上有一些好東西。
  • 等待Greg's book
  • 閱讀您可以在EDA(事件驅動架構)上找到的任何內容。

祝你好運!

3

除了什麼Eric Farr曾表示,它可能是值得的DDD book(戰略設計)的第4部分密切關注。它沒有從「分佈式」角度來解決這個問題,但是有很多關於如何集成應用程序的信息(Bounded Contexts)。在設計應用程序的邊界時,像Anticorruption Layer這樣的模式會非常有用。