0

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

私がやりたかったのは、レガシーアプリケーションでのユーザーアクティビティを、エンティティの永続性と通知送信から分離して、これらを特定のアプリケーションサービスに延期することです(たとえば)。これらのアクティビティをユーザー アプリケーションのバックグラウンド スレッドに延期するのが最善であることはわかっていますが、前述したように、私は非常に古いレガシー アプリケーションを使用しています。このシナリオに適用できる SOA 設計パターンはありますか?

4

1 に答える 1

1

あなたが望むのは「分離された呼び出し」です。要求を受け入れて (永続的な) キューに入れ、要求が受信されたことを示す確認をユーザーに送信します。シナリオに応じて、メッセージが完全に処理されたら、追加の返信 (電子メールなど) を送信できます。

ここに画像の説明を入力.

于 2012-12-19T09:42:08.673 に答える