WebアプリケーションからNServiceBusメッセージを発行しない理由と、これに関する別の同様の質問を読みましたが、これがサービスレイヤーにも当てはまるかどうかはわかりません。たとえば、サービス レイヤーが、WCF や Web API などを使用して構築された Web サービスまたは REST サービスで構成されている場合、それらのサービスはイベントを発行したり、コマンドを送信したりする必要がありますか? これらのサービスが負荷分散された Web サーバーでホストされている場合、記事で概説されている問題はこの層にも当てはまります。推奨事項はどのように変更されますか、または変更されませんか?
イベント対コマンドの定義から見ると、私が話しているメッセージはイベントです。たとえば、「ユーザーが作成されました」など、イベントを発行する必要があります。実際のところ、ユーザーを作成したサービスは、他に何をすべきかさえ知りません。つまり、別のアプリケーションがそのユーザー向けにカスタマイズされたポータルを作成することになっていて、さらに別のアプリケーションがウェルカム キットをユーザーに送信することになっている場合があります。これはイベントであり、コマンドではありません。アプリケーション サービス自体が 1 つまたは複数の Web アプリケーションで構成されている場合、Web アプリケーションとアプリケーション サービスの定義に悩まされていると思います。
Web アプリケーションの定義
Web アプリケーションは、インターネットやイントラネットなどのネットワークを介してユーザーがアクセスするアプリケーションです。
しかし、私にとっては、ユーザーはコンピューターである可能性があるため、Web サービスは Web アプリケーションであり、それがこの質問の理由です。
編集:
具体例を考えてみましょう。ASP.NET Web サイト (MVC または Web フォームは関係ありません) は、オペレーターにフォームを表示し、ユーザー作成に関するデータ (名前、ユーザー名、パスワード) を含むポストを取得し、WCF サービスを呼び出してユーザーを作成します。Web サイトと WCF サービスの間に ServiceBus を配置し、コマンドを送信してユーザー (要求/応答) を作成し、最初の記事で説明したすべての利点を得ることができます。WCF サービスは、実際のビジネス処理レイヤーです。つまり、ユーザーを作成します。そこで質問です。ユーザーが作成されたら、アナウンスする必要がありますユーザーが作成され、他のシステムがそれに反応して、本来のことを実行できること。したがって、メッセージを公開するパターンに完全に適合します。ただし、WCF サービス自体は Web アプリケーションであるため、Web アプリケーションのほとんどの特性を備えているため、混乱が生じます。