IMSユーザー・ガイド

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Oracle TMA TCP for IMSの処理の仕組みについて

Oracle Tuxedo Mainframe Adapter for TCP (IMS)(以後TMA TCP for IMSと呼ぶ)の処理がどのようになっているかを理解できるように、次の内容について説明します。

図2-1に示すように、TMA TCP for IMSゲートウェイは、IMSとリモートのOracle Tuxedo Mainframe Adapterゲートウェイとの間のTCP/IPを介したインタフェースとして機能します。

図2-1 IMSの処理

IMSの処理

 


着信処理

ゲートウェイは、リモート・ゲートウェイからのTCP/IP接続リクエストの着信をリスニングします。リクエストを受信すると、着信セッションが確立され、そのセッションを介してリモート・ゲートウェイからサービスに対するリクエストを送信できる状態になります。

図2-2に示すように、リモート・システムからリクエストが受信されると、IMSに中継され、そのリクエストに対応するサーバー・トランザクションがリクエストを処理するようにスケジュールされます。レスポンスが要求されている場合は、サーバー・トランザクションはレスポンスをIMSメッセージ・キューに格納します。TMA TCP GatewayがOTMAクライアントとして実行されている場合、レスポンスはトランザクション・パイプ宛てのキューに格納され、システム間結合機能(XCF)を介してクライアントに配信されます。レスポンスはTCP/IP接続を介してリモート・システムに戻されます。

図2-2 IMSの着信処理

IMSの着信処理

 


発信処理

TMA TCP for IMS製品は、リモート・システムとのTCP/IP接続も開始できます。これらの発信セッションは、処理先のリモート・システムにIMSクライアント・リクエストを送信する際に使用されます。

図2-3に示すように、IMSクライアント・トランザクションは、適切にフォーマットされたメッセージをIMSメッセージ・キューに格納することで、リクエストを開始します。ゲートウェイを実行する際に、OTMAクライアントにメッセージを送信するためのIMSユーザー・イグジットを2つインストールする必要があります(リクエスト/レスポンスの処理の詳細は、「Oracle TMA TCP for IMSのプログラミング」の項を参照、サンプルのユーザー・イグジットについては、「JCLおよびユーザー・イグジットのサンプル」の項を参照)。ゲートウェイはリクエストを取得し、処理先の該当リモート・システムに転送します。リモート・システムから受信したレスポンス(必要な場合)は、処理先のトランザクションに配信されるようにIMSに戻されます。

図2-3 IMSの発信処理

IMSの発信処理

 


Oracle TMA TCP for IMSの初期化の仕組み

TMA TCP for IMSゲートウェイは、OTMAクライアント用の適切なJCLを実行すると(または開始済のタスクとして)起動します。その後に、次の処理が行われます。

  1. ゲートウェイ(ロード・モジュール名はBEATCPI)が、実行中に発行されるすべてのメッセージの書込み先に当たるメッセージ・ログ(通常はディスク・データセットに割り当てられる)を開きます。
  2. メッセージ・ログを開くことができない場合、ゲートウェイはすぐに終了します。デフォルトでは、なんらかのメッセージがSYSOUTデータセットに書き込まれます。
  3. ゲートウェイはテキストの文が記述されている順編成のデータセットから構成情報を取得します。これらの文には、ローカル・ゲートウェイとリモート・ゲートウェイの定義を含む、TMA TCP for IMSの動作環境が定義されています。初期化中になんらかの構成エラーが検出された場合、ゲートウェイはすぐに終了します。

 


IMSサーバー・リクエストの処理

IMSサーバー・リクエストは、着信リクエスト(IMS側から見たとき)とも呼ばれ、IMSサーバー・トランザクションが提供するサービスに向けてリモート・クライアントから発行されるリクエストです。

  1. TMA TCP for IMSがリモート・システムからリクエストを受信すると、リクエスト・メッセージがフォーマットされてから、IMSメッセージ・キューに挿入され、指定のIMSサーバー・トランザクション(リクエストを処理するIMSサーバー・トランザクションのトランザクション・コードに該当するリクエスト対象のサービス名)に処理されるまで待機します。
  2. IMSは、指定のサーバー・トランザクションがリクエスト・メッセージを処理するためのスケジュールを設定します。
  3. サーバー・トランザクションは、IMSメッセージ・キューからリクエスト・メッセージを取得し、指示された処理を実行します。
  4. レスポンスが要求されている場合、サーバー・トランザクションはレスポンス・メッセージをフォーマットしてから、TMA TCP for IMSゲートウェイ宛てのIMSメッセージ・キューに挿入します。
  5. TMA TCP for IMSゲートウェイはIMSからレスポンス・メッセージを取得し、TCP/IP接続を介してリクエスト元のリモート・システムに戻します。

 


IMSクライアント・リクエストの処理

IMSクライアント・リクエストは、発信リクエスト(IMS側から見たとき)とも呼ばれ、リモート・システムが提供するサービスに向けてIMSアプリケーション・メッセージ処理プログラム(MPP)から発行されるリクエストです。

IMSクライアント・リクエストの2つのフェーズ

IMSクライアント・リクエストの処理は、IMSの設計思想に基づいて、2つの異なるフェーズに分けて行われます。

  1. 一方のトランザクション(T1)が実行中にリクエストを発行するリクエスト・フェーズ
  2. もう一方のトランザクション(T2)が実行中にレスポンスを処理する、対応するレスポンス・フェーズ

実際にはトランザクションT1とT2のトランザクションIDが同じであってもかまいません(実行の状況に応じて、必要なリクエストまたはレスポンスの処理を実行する適切なロジックを備えているため)。T1とT2は別々のトランザクションとして実行されなければなりません。この区分けは必須条件です。IMSのアーキテクチャと設計思想で制限されているため、T1はリクエストのみを開始することができ、そのリクエストに対するレスポンスを待機することはできません。

Oracle TMA TCP for IMSによるIMSクライアント・リクエストの処理の仕組み

  1. IMSトランザクションがクライアント・リクエストを発行するときに、TMA TCP for IMS OTMAクライアントを宛先に指定して、適切にフォーマットされたメッセージをIMSメッセージ・キューに挿入します(所定のIMSユーザー・イグジットの使用による)。
  2. 注意: IMSユーザー・イグジットの詳細は、「JCLおよびユーザー・イグジットのサンプル」の項を参照してください。
  3. リクエストがメッセージ・キューに挿入されると、リクエスタは事実上、リクエスト処理から切り離されます。つまり、TMA TCP for IMSによるリクエストの処理は、リクエスト対象のトランザクションの実行とは切り離されて続行されます。リクエストの中には、TMA TCP for IMSによってリクエストに対するレスポンスを処理するようにスケジュールされたレスポンス・トランザクションの名前(トランザクション・コード)が格納されます。
  4. TMA TCP for IMSゲートウェイはIMSからリクエストを取得し、そのフォーマットが正しいか検証します。なんらかのエラーが検出されると、所定の戻りコードを持つ特定のレスポンス・トランザクションがすぐにスケジュールされます。
  5. TMA TCP for IMSのアクセス先のリモート・システムが提供するサービスのディレクトリ内に、リクエスト対象のサービス名があるかどうか検索されます。リクエスト対象のサービスが見つからない場合、または必要なリモート・ゲートウェイが現在アクセス不可能な場合は、エラーが発生しているものとして認識されると同時に、所定の戻りコードを持つレスポンス・トランザクションがスケジュールされます。
  6. リモート・サービスのプロバイダがリクエストを特定できた場合は、リモート・システムとの発信セッションが確立され(まだ使用可能なセッションが1つもない場合)、リクエストは処理先のリモート・システムに送信されます。
  7. レスポンスが要求されている場合、TMA TCP for IMSはレスポンスの受信時に(なんらかのレスポンス・データが格納された)レスポンス・トランザクションを送信するようにスケジュールします。
  8. 最終的にリモート・システムからのレスポンスの受信がない場合、リクエストはタイムアウトし、エラーが発生したものとして認識され、所定の戻りコードを持つレスポンス・トランザクションがスケジュールされます。

 


Oracle TMA TCP for IMSの停止方法

TMA TCP for IMSは起動されると、通常、終了しないジョブとして実行され、リモート・システムからの着信リクエストと、IMSクライアント・トランザクションから送信されてくる発信リクエストに対するサービスを提供します。

システム・オペレータがSHUTDOWNコマンドを発行すると、通常の終了処理が開始されます。SHUTDOWNコマンドに応答する形で、TMA TCP for IMSは次の処理を行います。

  1. 新しい着信TCP/IP接続リクエストを受け付けなくなります。
  2. アクティブな着信セッションを終了します。
  3. アクティブな発信セッションを終了します。
  4. 制御をz/OSに戻します。
注意: 処理待ちのトランザクションまたは処理中のトランザクションは、システムが停止するまで終了しません。

  先頭に戻る       前  次