私のドメインには、この質問に関連する 2 つの境界付けられたコンテキストがあります。
- 購入 - 顧客がサービスを注文する場所
- フルフィルメント - サービスがベンダーに割り当てられて完了する場所
注文の有効期間中、いつでも顧客が注文を編集できることが要件です。
顧客が注文からサービスを削除する場合 (つまり、購入コンテキスト内)、そのサービスが実行するベンダーに既に割り当てられている (まだ実行されていない) 場合、そのサービスはフルフィルメント コンテキストでも削除する必要があります。
ここにはいくつかのオプションがあります。コミュニティの意見をお聞かせください。
- これによりクロスコンテキストトランザクションが作成されるため、コンテキストが間違っています。
- ここでは、トランザクションの一貫性は必要ないかもしれません。もちろん、それはビジネス関係者が決定することであり、2 つの質問があります。実装オプションは何ですか? この質問をビジネス関係者にどのように提起すればよいでしょうか?
- これは、「クロス コンテキスト トランザクションを禁止する」というルールに違反しても問題ありません。
編集
これはすべて 1 つのプロセス内で行われるため、トランザクションの途中で失敗する可能性は非常に低くなります。