2014-10-27 37 views
2

在進行域驅動設計時,是否有BPEL的位置?用於集成幾個有界上下文的BPEL vs Domain Events

據我所知,Vaughn Vernon的Implementing Domain Driven Design我們應該使用域事件在不同的有界上下文之間進行通信。

這是否排除了BPEL的用法?還是他們解決不同的問題?

我想要實現的是將每個有界的上下文作爲服務運行並使用域事件在這些服務之間進行通信。另一位團隊成員(不熟悉DD)建議使用BPEL。

+0

不熟悉BPEL,是否有機會使用BPEL作爲實現機制並保持域分離? – Hippoom 2014-10-28 00:25:46

回答

2

我想說,如果BPEL完全被使用,您可以在特定的有界環境中使用它。在任何情況下,您都希望在有界的上下文之間使用基於事件的協作模型(假設它們與您的子域完全對齊),以及根據需要UI界面合成來減少需要的數據量在他們之間傳遞。

我之所以說不使用BPEL來協調有界的上下文,是因爲它會創建一個額外的位置來寫域邏輯。有限上下文的整體概念是,處理給定無處不在的語言的所有內容都處於邊界之內。

我想說,爲了集成多個第三方系統和其他我們想要提供某種UI的情況,在有界的上下文中使用BPEL(和其他集成)工具是適當的。半技術領域的專家可以用來調整有限背景的某些方面的行爲。

+0

感謝Udi的回答。這實際上是我的博客文章,讓我開始了域名事件。爲什麼你會說BPEL應該用在單一有界的上下文中?我的印象是BPEL更適合在不同的有界環境之間進行整合!我認爲這一點對決定採取哪種方法可能至關重要。 – Songo 2014-10-28 21:40:51

+0

擴展我的答案。 – 2014-10-29 07:28:20

+0

對不起,回覆遲了Udi。事實上,我的同事的目標是要創造一個漫長的過程。我們的系統用於完成訂單(訂單放置 - >確認 - >提供 - >發貨)。每個轉換狀態都將在單獨的有界環境中發生,他說BPEL可以「輕鬆」用於協調這些轉換。我不確定BPEL是否能夠完成他想要的任務,但是如果您在我的位置上,您會如何反駁這個問題? – Songo 2014-11-07 11:17:53

相關問題