2016-08-04 8 views
0

非同期Webサービスの設計と実装が必要です。ここでは、非同期Webサービス通信は、クライアントが要求を行い、サービスからの応答を待たないことを意味します。しかし、それはAJAXまたは他の形式を使用して達成することができますが、それは我々の要件ではありません。ESBとMQを使用した非同期通信アーキテクチャの実装方法

私は、メッセージキューとJMS(要求キューからメッセージを読み込んで応答キューにメッセージを読み込む必要があります)を使用して実装しようとしています。

要求:クライアント - >メッセージque-> Webサービス 応答:Webサービス - >メッセージQue->クライアント

ここで我々はまた、負荷分散や他の製品のためのエンタープライズ・サービス・バスを活用しようとしています。

これは実装の正しい方法か、それを実装する他の方法ですか?ありがとう

答えて

0

クライアントが非同期に通信できるサービスを実装し、サービスが応答メッセージを送信できるコールバックアドレスを指定します。この通信パターンを有効に機能させるには、リクエストと応答。

これはSOAP Webサービスで簡単に実装できます。

  1. クライアントは、サービスプロバイダに固有の要求IDとコールバックアドレス で要求を送信します。

  2. サービスプロバイダは要求を受信し、すぐに クライアントに応答します。応答が準備ができたら、コールバックアドレスでクライアントを呼び出します。

  3. サービスプロバイダは、複数の 要求/クライアントにサービスを提供するためにキューを実装できます。

複雑さはキューと相関ロジックを管理する必要があります。

ESBのサポート非同期通信パターンのほとんどは、あなたはそれがFUSE ESB

+0

ありがとう@ravthiruでachivedする方法を確認することができます。ここでポイント3はquesについて語ります、あなたは中間サーバー上のメッセージquesを意味しますか?また、私のrequiremnetは、彼がリクエストを出した後、同じページにとどまっていない可能性があり、応答を待つことはありません。彼は後で戻ってくるかもしれない。しかし、あなたのアプローチでそのコールバック。それは動作しますか? – esha

+0

ESBのようなミドルウェアを使用する場合は、要求キューを処理する必要があります。 – ravthiru

+0

クライアントは、コールバックuRLを介して受信したサーバー応答を処理するレスポンスハンドラを実装する必要があります。 – ravthiru