2.3.15 リモートAPI機能

TP1/Clientでは,CUPとサーバ間に常設コネクションを確立して,CUPが発行したAPIをサーバ側に転送して,サーバ側のプロセスで実行できます。このような機能をリモートAPI機能といいます。リモートAPI機能を使うと,ファイアウォールの内側にあるUAPに対しても,サービスを要求できます。ファイアウォールとは,共用ネットワークと使用制限のあるネットワークとの間に位置し,第三者が共用以外のネットワークに不正侵入することを防ぐためのハードウェア,およびソフトウェアをいいます。

CUPでは,リモートAPI機能を使用してファイアウォールを通過する場合,dc_clt_cltin_s関数(flagsにDCCLT_NO_AUTHENTを指定)を発行したあと,常設コネクション確立要求をTP1/Serverのrapリスナーに送信します。

常設コネクションの確立応答を受信した時点で,rapサーバとの常設コネクションが確立されます。コネクション確立後は,rapサーバに対して発行される要求は,常設コネクションを使用して送信します。ただし,常設コネクションが解放されたあとは,再びrapリスナーへ要求を送信します。

この機能を使用する場合は,クライアント環境定義DCCLTRAPHOSTを指定してください。

また,DCCM3の論理端末に対してもリモートAPI機能を使用してサービスを要求できます。

なお,クライアント環境定義DCCLTRAPAUTOCONNECTにYを指定している場合,CUPとrapサーバまたはDCCM3の論理端末との間に自動的に常設コネクションを確立します。この場合,dc_clt_connect_s関数,およびdc_clt_disconnect_s関数を実行する必要はありません。

リモートAPI機能について,次の図に示します。

図2-7 リモートAPI機能

[図データ]

<この項の構成>
(1) 前提条件
(2) 適用範囲
(3) 常設コネクション確立先の選定方法
(4) リモートAPI機能を使用して,トランザクションを制御するときの注意事項

(1) 前提条件

リモートAPI機能は,サービス要求先のTP1/Server Baseが03-05以降の場合に使用できます。

リモートAPI機能を使用して,トランザクションを制御する場合,サービス要求先のTP1/Server Baseが03-06以降の必要があります。

ただし,DCCM3の論理端末にサービスを要求するには,サービス要求先のDCCM3が09-02以降の場合で,TP1/Client/W 03-04以降,および TP1/Client/P 03-04以降の必要があります。

(2) 適用範囲

この機能を使用してDCCM3に対してRPCを行う場合,CUPがルートトランザクションとなるようなトランザクションは生成できません。また,同時に複数の相手システムとの常設コネクションを確立することはできません。

なお,この機能では,XATMIインタフェースは使用できません。

(3) 常設コネクション確立先の選定方法

常設コネクションの確立先は,dc_clt_connect_s関数で設定するflags,およびクライアント環境定義DCCLTDCCMHOSTとDCCLTRAPHOSTの指定によって異なります。リモートAPI機能を使用してファイアウォールを通過する場合は,クライアント環境定義DCCLTRAPHOSTを指定してください。

関数の設定,および定義の指定と常設コネクション確立要求先との関係を,次の表に示します。

表2-3 関数の設定,および定義の指定と常設コネクション確立要求先との関係

引数
flags
クライアント環境定義常設コネクション確立要求先
DCCLTDCCMHOSTDCCLTRAPHOST
DCNOFLAGSrapサーバ,またはDCCM3の論理端末1
CUP実行プロセス
rapサーバ,またはDCCM3の論理端末1
CUP実行プロセス
DCCLT_DCCM3DCCM3の論理端末2
DCCM3の論理端末2
エラーリターン
エラーリターン
(凡例)
○:指定あり
-:指定なし
注※1
DCCLTRAPHOSTに指定されたDCCM3の論理端末に対して常設コネクションの確立を要求します。
注※2
DCCLTDCCMHOSTに指定されたDCCM3の論理端末に対して常設コネクションの確立を要求します。

(4) リモートAPI機能を使用して,トランザクションを制御するときの注意事項