3.1.12 トランザクションインタフェース情報のノード識別子を利用したリモートプロシジャコール
TP1/EE同士のRPC通信で,ee_rpc_call関数(またはee_rpc_call_to関数)やee_rpc_cmtsend関数(またはee_rpc_cmtsend_to関数)を使用してサービス要求を送信する場合に,サービス要求先のトランザクションインタフェース情報(EERPC_INTERFACE_TBL)に,サービス要求元のTP1/Server Baseのノード識別子またはTP1/EEのノード識別子のどちらを設定するかを選択できます。
この機能は,トランザクションインタフェース情報に設定されているノード識別子を利用して,ノード識別子を指定したサービス要求を送信したい場合などに使用します。
例えば,TP1/EEのサービスグループはTP1/Server Baseのネームサーバでネーム情報を管理するため,TP1/EEのサービスグループに対してノード識別子を指定してdc_rpc_call_to関数を呼び出す場合は,TP1/Server Baseのノード識別子を指定する必要があります。このため,この機能を使用して,サービス要求先のトランザクションインタフェース情報に,サービス要求元のTP1/Server Baseのノード識別子を設定すれば,ノード識別子を指定したサービス要求を送信できます。
トランザクションインタフェース情報のノード識別子の利用の例を次の図に示します。
TP1/Server Baseのノード識別子またはTP1/EEのノード識別子のどちらを設定するかは,サービス要求元のRPC関連定義のrpc_extend_sb_node_idオペランドの指定値によって決まります。
rpc_extend_sb_node_idオペランドにYを指定した場合は,要求先のトランザクションインタフェース情報には,TP1/Server Baseのノード識別子が設定されます。Nを指定した場合,または省略した場合は,要求先のトランザクションインタフェース情報には,TP1/EEのノード識別子が設定されます。
rpc_extend_sb_node_idオペランドにYを指定した場合は,サービス要求メッセージのサイズが16バイト増加します。
なお,次の場合には,rpc_extend_sb_node_idオペランドの指定は無効になります。
-
サービス要求元でRPC関連定義のname_useオペランドにNを指定している場合
-
サービス要求先のTP1/EEのバージョンが07-80より前の場合
-
サービス要求先がTP1/EE以外の場合