Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option 使用の手引


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のノード識別子を設定すれば,ノード識別子を指定したサービス要求を送信できます。

トランザクションインタフェース情報のノード識別子の利用の例を次の図に示します。

図3‒11 トランザクションインタフェース情報のノード識別子の利用の例

[図データ]

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オペランドの指定は無効になります。