このソリューションは、オーケストレーション プロセス サービスと、ドメイン エンティティでの CRUD 操作を担当する複数のレガシー アプリケーションで構成されています。これらのレガシー アプリケーションによって update、add、または delete ステートメントが実行されるたびに、エンティティ オーナー アプリケーションによって通知が送信されます。モデリング段階で、エンティティをきめ細かくマッピングすることにしました。このように、すべての CRUD 操作で何千もの通知 (最大 20k) が発生する可能性があり、エンティティの永続化と通知の送信が同じトランザクションで組み合わされるため、ユーザーのアクティビティがしばらくブロックされます。120 秒以上かかる場合、これは受け入れられない可能性があります。
私がやりたかったのは、レガシーアプリケーションでのユーザーアクティビティを、エンティティの永続性と通知送信から分離して、これらを特定のアプリケーションサービスに延期することです(たとえば)。これらのアクティビティをユーザー アプリケーションのバックグラウンド スレッドに延期するのが最善であることはわかっていますが、前述したように、私は非常に古いレガシー アプリケーションを使用しています。このシナリオに適用できる SOA 設計パターンはありますか?