2.8 リモートAPI機能
リモートAPI機能は,クライアント側が呼び出したAPIをサーバ側に転送して,サーバ側で代理実行する機能です。代理実行を要求するクライアント側をrapクライアント,代理実行の要求を受けるサーバ側をrapサーバと呼びます。また,rapクライアント,rapサーバのプロトコルをrapプロトコルと呼びます。
リモートAPI機能を使用する場合,TP1/EEは,rapクライアントとしても,rapサーバとしても動作します。
リモートAPI機能で代理実行できるAPIを次に示します。
-
ee_rpc_call関数
-
dc_rpc_call関数
TP1/EEがrapサーバとして動作する場合だけ使用できます。TP1/EEがrapクライアントとして動作する場合は使用できません。
rapサーバとして動作するTP1/EEは,サポートしていないAPIの代理実行を要求された場合,rapクライアントに代理実行エラー応答メッセージを返します。
なお,TP1/Clientを使用する場合は,マニュアル「OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編」またはマニュアル「OpenTP1 クライアント使用の手引 TP1/Client/J編」を参照してください。
rapクライアントとrapサーバは,論理的な通信路である常設コネクションを使用して,リモートAPIのメッセージを送受信します。常設コネクションは,トランスポート層以下ではTCPコネクション(INETドメイン)を使用します。TCPコネクション制御の詳細については,マニュアル「TP1/Server Base Enterprise Option 使用の手引」のコネクションに関する運用の説明を参照してください。なお,TP1/EEでは,常設コネクションの確立・解放をOpenTP1が管理します(オートコネクトモード)。
rapプロトコルは,次に示す段階で構成されます。各段階で,rapクライアントとrapサーバとの間で要求メッセージと応答メッセージが送受信されます。
-
常設コネクションの確立
-
APIの代理実行
-
常設コネクションの解放
TP1/EEがrapサーバとしてリモートAPI機能を使用する場合の,コネクション確立からコネクション切断までの流れを,次の図に示します。
-
TCPコネクション確立要求メッセージ
-
常設コネクション確立要求メッセージ
-
常設コネクション確立応答メッセージ
-
APIの代理実行要求メッセージ
-
APIの代理実行応答メッセージ
-
常設コネクション解放要求メッセージ
-
常設コネクション解放応答メッセージ
- 注※1
-
常設コネクションがオートコネクトモードのときに,TCPコネクションの確立が要求されます。
- 注※2
-
rap受信スレッドは,プロセスごとに1スレッドあります。ソケットAPIを使用してrapクライアントからのメッセージを受信します。
- 注※3
-
TCPコネクション確立要求の受け付けは,オンライン開始(初期化トランザクション終了)からプロセス終了処理開始(終了コマンド受け付け)の間だけ受信できます。
rapプロトコルの段階ごとの処理と,メッセージ受信処理を実行できない場合について説明します。