BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   サンプルを使用した BEA Tuxedo アプリケーションの開発方法   |   先頭へ   |   前へ   |   次へ   |   目次

 


キュー・ベースの通信

/Q システムとのインターフェイスとして、BEA Tuxedo クライアントは 2 つの ATMI 関数を使用します。つまり、キュー・スペースにメッセージを格納する tpenqueue() 関数と、キュー・スペースからメッセージを取得する tpdequeue() 関数を使用します。

次の図は、ピア・ツー・ピアの非同期メッセージングを表しています。この例では、クライアントは tpenqueue() を使用してサービスにメッセージを登録します。オプションで、tpenqueue() の呼び出しに、応答キューおよび異常終了キューの名前を指定できます。クライアントは、メッセージに付ける相関識別子の値を指定することもできます。この値は、キュー間で同じです。そのため、キューのメッセージに対応付けられたどの応答メッセージまたは異常終了メッセージも、応答キューまたは異常終了キューから読み取られるときに識別できます。

クライアントは、デフォルトのキューの順序付けを使用するか (たとえば、メッセージがキューから出されるまでの時間)、またはデフォルトのキューの順序付けの無効化を指定すること (たとえば、メッセージをキューの先頭に置くこと、またはキューの別のメッセージの前に置くこと) ができます。tpenqueue() は、TMQUEUE サーバにメッセージを送信し、そのメッセージは安定記憶領域のキューに登録され、肯定応答がクライアントに送信されます。肯定応答は、クライアントが直接確認することはできません。ただし、クライアントが正常な戻り値を取得すると、肯定応答が送られたと見なすことができます。異常終了の戻り値には、異常終了の内容についての情報が含まれています。キュー・マネージャによって割り当てられたメッセージ識別子は、アプリケーションに返されます。この識別子は、特定のメッセージをキューから取り出す場合に使用します。また、この識別子は、別の tpenqueue() 内で使用して、キューに次に登録されるメッセージの前にあるメッセージを識別することができます。

キューに登録されたメッセージをキューから取り出すには、そのメッセージをキューに登録しているトランザクションが正常にコミットされる必要があります。クライアントは tpdequeue() を使用して、キューからメッセージを取り出します。

ビア・ツー・ピアの非同期メッセージング・モデル


 

次の図は、別のサーバへのメッセージ転送を示しています。

クライアントはサーバ上のサービス X へのメッセージをキューに登録します。サービスは、メッセージがアクティブになった場合、およびメッセージの処理条件が満たされた場合に、メッセージを受信します。たとえば、メッセージが金曜日の午後 6 時にアクティブになるように符号化されている場合などに、メッセージを受け取ります。サービスが完了すると、キュー・スペースに応答が返されます。クライアントは、そこから応答を取得します。

この方法は、サービスに透過的です。つまり、同じアプリケーション・コードを使用して、キューを経由してサービスを呼び出すことも、tp(a)call 関数を使って直接サービスを呼び出すこともできます。

キュー転送を使用したキュー・ベースのサービス呼び出し


 

関連項目

 

先頭へ戻る 前のトピックへ 次のトピックへ