2.2.2 リモートのサービス・リクエストの処理

  1. TMA TCPハンドラは、TCP/IPを介して、リモートのTMA TCP Gateway (Oracle Tuxedoリージョン内)からリクエストを受信します。データは、必要に応じて、適切なデータ・フォーマットまたはレイアウトに変換されます。
  2. 同時処理数が1でセキュリティが無効な場合、またはサービス・リクエストの送信元がバージョン3.0よりも前のTMA TCP Gatewayである場合は、次の処理が行われます。
    1. ハンドラがCICS LINKコマンドを発行して、TMA TCPプロトコル・ヘッダーに指定されているプログラムを実行します。Oracle Tuxedoサービス・リクエストの送信元のクライアント・アプリケーションからリクエスト・データが渡されている場合は、そのリクエスト・データがLINKコマンドから渡されます。
    2. ハンドラは、CICSプログラムが終了し、CICSプログラムからデータが戻されるまで待機します。
    3. ハンドラがレスポンスをリモートのTMA TCP Gatewayに送信します。
    4. ハンドラはリモート・ゲートウェイとの接続を維持し、別のサービス・リクエストを待機します。
  3. 同時処理数が1よりも大きくセキュリティが有効な場合は、次の処理が行われます。
    1. ハンドラからEXEC CICS START TRANS呼出しが発行されますが、この呼出しでは、TMA TCPプロトコル・ヘッダーに指定されるサービスに応じて着信サービス・ファイルに指定したトランザクションが使用されます。このトランザクションは、アプリケーション・ハンドラ・プログラムと同じにする必要があります。

      ノート:

      セキュリティが有効な場合、EXEC CICS START TRANSID呼出しは、TMA TCPプロトコル・ヘッダーに指定されているユーザーIDを使用します。
    2. 完了したサービス・リクエストがある場合、ハンドラはアプリケーション・ハンドラからレスポンス・データを受信します。
    3. ハンドラがレスポンスをリモートのTMA TCP Gatewayゲートウェイに送信します。
    4. ハンドラとゲートウェイ間の接続は維持され、ハンドラは別のサービス・リクエストを待機します。

tpacall/TPNOREPLYリクエストの場合は、リモート・プログラムがCICS START TRANSIDコマンドで呼び出された後に、呼出し元にデータが戻されません。この場合は、サービスに対して一意のトランザクションを定義する必要があります。着信サービス情報画面を使用して、この一意のトランザクション名を入力するようにし、アプリケーション・ハンドラ起動用のトランザクション名は使用しないようにします。