Tuxedo MQ Adapterを使用した/使用しないWebSphere MQへのアクセス
WebSphere MQはXA準拠のリソース・マネージャであり、MQGETやMQPUT1のようなMQ APIを発行するTuxedoサーバー・プログラムからは、WebSphere MQに直接アクセスできます。そのようなサーバー・プログラムはWebSphere MQリソース・マネージャに関連付けられたグループ内に配置することができるので、サーバーにアクセスするためにアダプタ・プログラムは必要ありません。
既存のWebSphere MQプログラムがある場合、ユーザーによっては、そのMQプログラムを変更したり、Tuxedo側のアプリケーションにMQコードを記述することなく、Oracle Tuxedoから直接アクセスできるようにしたい場合があります。そうしたユーザーに向けて、オラクル社はMQ Adapter for Tuxedoを開発しました。Oracle MQ Adapter for Tuxedoを使用すると、WebSphere MQのアプリケーションとデータに対して、トランザクション対応アクセスとトランザクション非対応アクセスの両方が可能です。
Oracle MQ Adapter for Tuxedoの概要
Oracle MQ Adapter for Tuxedoは、IBM WebSphere MQアプリケーションとOracle TUXEDOアプリケーションの間の通信を提供します。MQ Adapterは次の3つのTUXEDOサーバーで構成されています。
•
|
TM_MQOサーバーは、TuxedoからWebSphere MQへのリクエストを管理します。
|
•
|
TM_MQIサーバーは、WebSphere MQからTuxedoへのリクエストを管理します。
|
•
|
TMQUEUE_MQMサーバーは、 tpenqueue()および tpdequeue()リクエストを処理します。
|
これらのサーバーはTUXEDO環境で管理されます。
図1-1に、TUXEDOクライアントからWebSphere MQアプリケーションに
tpcall ()が発行された場合のデータ・フローを示します。
TUXEDOクライアントはTuxedo to WebSphere MQサーバー(TM_MQO)で公開されているサービスを呼び出します。サービスの構成では、キュー・マネージャ名、キュー名、そのサービスに関連する応答キューが指定されています。MQ Adapterは、WebSphere MQアプリケーションによって処理されるWebSphere MQキューにリクエストを置きます。MQ Adapterは出力キューで応答メッセージを待機します。MQ Adapterは応答を受信すると、クライアントの未処理の
tpcall()にレスポンス・データを戻します。
TMQUEUE_MQMサーバーは、メッセージをWebSphere MQキューに置きたいクライアントからの
tpenqueue()および
tpdequeue()リクエストを処理します。
図1-2に、エンキュー操作およびデキュー操作のメッセージ・フローを示します。
WebSphere MQ to Tuxedoサーバー(TM_MQI)は、WebSphere MQアプリケーションからTUXEDOサーバーへのサービス・リクエストを処理します。
図1-3に、インバウンド・リクエストのデータ・フローを示します。
WebSphere MQ to Tuxedoサーバー(TM_MQI)は指定されたキューでリクエストをモニターします。TM_MQIは、リクエストを受信すると、指定されたサーバーに対して
tpcall()リクエストを発行します。その後、元のリクエストで指定された応答キューにレスポンス・データを置きます。
マルチ・スレッドとシングル・スレッドTM_MQIサーバーの両方が提供されています。シングル・スレッドM_MQIがMQキュー間で切り替わる一方、マルチ・スレッドTM_MQIサーバーは各MQキューに対してそれぞれ1つの専用のスレッドを作成します。TM_MQOサーバーとマルチ・スレッドTM_MQIサーバーの両方がMQの障害リカバリをサポートします。両サーバーは設定時に、自動的にWebSphere MQとの再接続を試みます。