Oracle Tuxedo Mainframe Adapter for TCP (IMS)(以後TMA TCP for IMSと呼ぶ)の処理がどのようになっているかを理解できるように、次の内容について説明します。
図2-1に示すように、TMA TCP for IMSゲートウェイは、IMSとリモートのOracle Tuxedo Mainframe Adapterゲートウェイとの間のTCP/IPを介したインタフェースとして機能します。
ゲートウェイは、リモート・ゲートウェイからのTCP/IP接続リクエストの着信をリスニングします。リクエストを受信すると、着信セッションが確立され、そのセッションを介してリモート・ゲートウェイからサービスに対するリクエストを送信できる状態になります。
図2-2に示すように、リモート・システムからリクエストが受信されると、IMSに中継され、そのリクエストに対応するサーバー・トランザクションがリクエストを処理するようにスケジュールされます。レスポンスが要求されている場合は、サーバー・トランザクションはレスポンスをIMSメッセージ・キューに格納します。TMA TCP GatewayがOTMAクライアントとして実行されている場合、レスポンスはトランザクション・パイプ宛てのキューに格納され、システム間結合機能(XCF)を介してクライアントに配信されます。レスポンスはTCP/IP接続を介してリモート・システムに戻されます。
TMA TCP for IMS製品は、リモート・システムとのTCP/IP接続も開始できます。これらの発信セッションは、処理先のリモート・システムにIMSクライアント・リクエストを送信する際に使用されます。
図2-3に示すように、IMSクライアント・トランザクションは、適切にフォーマットされたメッセージをIMSメッセージ・キューに格納することで、リクエストを開始します。ゲートウェイを実行する際に、OTMAクライアントにメッセージを送信するためのIMSユーザー・イグジットを2つインストールする必要があります(リクエスト/レスポンスの処理の詳細は、「Oracle TMA TCP for IMSのプログラミング」の項を参照、サンプルのユーザー・イグジットについては、「JCLおよびユーザー・イグジットのサンプル」の項を参照)。ゲートウェイはリクエストを取得し、処理先の該当リモート・システムに転送します。リモート・システムから受信したレスポンス(必要な場合)は、処理先のトランザクションに配信されるようにIMSに戻されます。
TMA TCP for IMSゲートウェイは、OTMAクライアント用の適切なJCLを実行すると(または開始済のタスクとして)起動します。その後に、次の処理が行われます。
BEATCPI
)が、実行中に発行されるすべてのメッセージの書込み先に当たるメッセージ・ログ(通常はディスク・データセットに割り当てられる)を開きます。SYSOUT
データセットに書き込まれます。
IMSサーバー・リクエストは、着信リクエスト(IMS側から見たとき)とも呼ばれ、IMSサーバー・トランザクションが提供するサービスに向けてリモート・クライアントから発行されるリクエストです。
IMSクライアント・リクエストは、発信リクエスト(IMS側から見たとき)とも呼ばれ、リモート・システムが提供するサービスに向けてIMSアプリケーション・メッセージ処理プログラム(MPP)から発行されるリクエストです。
IMSクライアント・リクエストの処理は、IMSの設計思想に基づいて、2つの異なるフェーズに分けて行われます。
実際にはトランザクションT1とT2のトランザクションIDが同じであってもかまいません(実行の状況に応じて、必要なリクエストまたはレスポンスの処理を実行する適切なロジックを備えているため)。T1とT2は別々のトランザクションとして実行されなければなりません。この区分けは必須条件です。IMSのアーキテクチャと設計思想で制限されているため、T1はリクエストのみを開始することができ、そのリクエストに対するレスポンスを待機することはできません。
注意: | IMSユーザー・イグジットの詳細は、「JCLおよびユーザー・イグジットのサンプル」の項を参照してください。 |
TMA TCP for IMSは起動されると、通常、終了しないジョブとして実行され、リモート・システムからの着信リクエストと、IMSクライアント・トランザクションから送信されてくる発信リクエストに対するサービスを提供します。
システム・オペレータがSHUTDOWN
コマンドを発行すると、通常の終了処理が開始されます。SHUTDOWN
コマンドに応答する形で、TMA TCP for IMSは次の処理を行います。
注意: | 処理待ちのトランザクションまたは処理中のトランザクションは、システムが停止するまで終了しません。 |