2.2.2 リモートのサービス・リクエストの処理
- TMA TCPハンドラは、TCP/IPを介して、リモートのTMA TCP Gateway (Oracle Tuxedoリージョン内)からリクエストを受信します。データは、必要に応じて、適切なデータ・フォーマットまたはレイアウトに変換されます。
- 同時処理数が1でセキュリティが無効な場合、またはサービス・リクエストの送信元がバージョン3.0よりも前のTMA TCP Gatewayである場合は、次の処理が行われます。
- ハンドラがCICS
LINK
コマンドを発行して、TMA TCPプロトコル・ヘッダーに指定されているプログラムを実行します。Oracle Tuxedoサービス・リクエストの送信元のクライアント・アプリケーションからリクエスト・データが渡されている場合は、そのリクエスト・データがLINK
コマンドから渡されます。 - ハンドラは、CICSプログラムが終了し、CICSプログラムからデータが戻されるまで待機します。
- ハンドラがレスポンスをリモートのTMA TCP Gatewayに送信します。
- ハンドラはリモート・ゲートウェイとの接続を維持し、別のサービス・リクエストを待機します。
- ハンドラがCICS
- 同時処理数が1よりも大きくセキュリティが有効な場合は、次の処理が行われます。
- ハンドラから
EXEC CICS START TRANS
呼出しが発行されますが、この呼出しでは、TMA TCPプロトコル・ヘッダーに指定されるサービスに応じて着信サービス・ファイルに指定したトランザクションが使用されます。このトランザクションは、アプリケーション・ハンドラ・プログラムと同じにする必要があります。ノート:
セキュリティが有効な場合、EXEC CICS START TRANSID
呼出しは、TMA TCPプロトコル・ヘッダーに指定されているユーザーIDを使用します。 - 完了したサービス・リクエストがある場合、ハンドラはアプリケーション・ハンドラからレスポンス・データを受信します。
- ハンドラがレスポンスをリモートのTMA TCP Gatewayゲートウェイに送信します。
- ハンドラとゲートウェイ間の接続は維持され、ハンドラは別のサービス・リクエストを待機します。
- ハンドラから
tpacall/TPNOREPLY
リクエストの場合は、リモート・プログラムがCICS
START TRANSID
コマンドで呼び出された後に、呼出し元にデータが戻されません。この場合は、サービスに対して一意のトランザクションを定義する必要があります。着信サービス情報画面を使用して、この一意のトランザクション名を入力するようにし、アプリケーション・ハンドラ起動用のトランザクション名は使用しないようにします。
親トピック: Oracle TMA TCP for CICSの実行