Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/EE/Message Control Extension 使用の手引


2.1.2 コネクションの確立

ここでは,クライアント型コネクションおよびサーバ型コネクションを確立するときの処理の流れについて説明します。

〈この項の構成〉

(1) クライアント型コネクションの確立

クライアント型コネクションの確立には,自動確立と手動確立の2種類があります。

コネクションの自動確立

オンライン開始前にコネクションを自動確立します。ただし,オンラインはコネクション確立の完了を待たないで開始されます。なお,コネクションの確立が成功した場合は,コネクションの確立を通知するMCP後処理トランザクションは起動しません。

コネクションの確立状態は,KFSB81402-Iメッセージ(eemcpcn定義の-b conmsgオペランドにyesを指定したとき),またはeemcplscnコマンドで確認してください。

コネクションの手動確立

eemcpactcnコマンドの実行,またはee_mcp_actcn関数の発行によってコネクションを手動確立します。

ee_mcp_actcn関数の発行によって,手動でコネクションを確立する場合の処理の流れを次の図に示します。

図2‒2 ee_mcp_actcn関数の発行によって,手動でコネクションを確立する場合の処理の流れ

[図データ]

説明
  1. UAPは,MCPに対してコネクションの確立を要求します。

  2. MCPは,コネクション管理テーブルでコネクションIDを検索し,そのコネクションが未確立であることをチェックします。

  3. コネクションが確立されます。

  4. コネクションが確立されると,MCPはコネクション確立のRL(MCP後処理トランザクション)を処理キューに登録します。

  5. UAPにコネクションの確立を通知します。

コネクションの再確立処理

クライアント型コネクションの確立処理で障害が発生した場合,MCP構成定義の再試行間隔(eemcpcn定義コマンドの-bオプションのbretryintオペランド指定値)および再試行回数(eemcpcn定義コマンドの-bオプションのconcmptimオペランド指定値)の指定に従い,コネクションの再確立処理が行われます。

なお,コネクション確立障害で再試行リトライアウトとなったコネクションは,MCP後処理トランザクションを起動してコネクションの障害連絡を行います。

相手システムを指定したコネクション確立機能

TCP/IPプロトコル(クライアント型コネクション)の論理端末で,コネクション確立API発行時,または運用コマンド実行時に,相手システムのアドレス情報(IPアドレス・ポート番号)を指定してコネクションを確立できます。

相手システムを指定したコネクション確立実行時は,MCP構成定義eemcpcnの-oオプション指定値の設定値に関係なく,APIまたはコマンドの引数に指定した相手アドレスに対してコネクションを確立します。この機能で指定した相手アドレス情報はコネクション切断後は引き継ぎません。この機能で確立したコネクションを切断後に,同じコネクションIDに対してeemcpactcnコマンド,またはee_mcp_actcn()でコネクション確立した場合,MCP構成定義eemcpcnの-oオプション指定値の設定値に従ってコネクションを確立します。

相手システムを指定したコネクション確立APIの詳細は,「5.2 ライブラリ関数(C言語)」の「ee_mcp_actcn_to - 相手システムを指定したコネクションの確立」または「5.3 ライブラリ関数(COBOL言語)」の「CBLEEMCP('ACTCNTO ') - 相手システムを指定したコネクションの確立」を参照してください。運用コマンド(eemcpactcnto)の詳細は,「5.2 ライブラリ関数(C言語)」の「ee_mcp_actcn_to - 相手システムを指定したコネクションの確立」を参照してください。

■コネクション確立時の相手アドレス通知機能

TCP/IPプロトコルの論理端末で,コネクション確立した相手システムのアドレス情報(IPアドレス・ポート番号)を通知します。

(a) コネクション確立UOC

サーバ型コネクションで,相手システムからコネクション確立要求を受信するたびにコネクション確立UOCを起動し,コネクション確立要求を発行した相手システムのアドレス情報を通知します。

コネクション確立UOCの詳細は,「5.4.10 コネクション確立UOC」を参照してください。

コネクション確立UOCの処理の流れを次の図に示します。

図2‒3 コネクション確立UOCの処理の流れ

[図データ]

(b) MCP拡張トランザクションインタフェース

MCP後処理トランザクション(RL),またはMCPメッセージ受信時のユーザトランザクションのMCP拡張トランザクションインタフェース情報で,相手システムのアドレス情報を通知します。

コネクション解放時のMCP後処理トランザクションでは,相手システムのアドレス情報は通知しません。

MCP拡張トランザクションインタフェースの詳細は,「5.2 ライブラリ関数(C言語)」の「MCP拡張トランザクションインタフェース情報」または「5.3 ライブラリ関数(COBOL言語)」の「MCP拡張トランザクションインタフェース情報」を参照してください。

(c) コネクション情報取得

コネクション情報を取得するAPI(ee_mcp_cninfo(),CBLEEMCP('CNINFO'))で,相手システムのアドレス情報を通知します。

コネクション情報取得APIの詳細は,「5.2 ライブラリ関数(C言語)」の「ee_mcp_cninfo - コネクション情報の取得」または「5.3 ライブラリ関数(COBOL言語)」の「CBLEEMCP('CNINFO ') - コネクション情報の取得」を参照してください。

(2) サーバ型コネクションの確立

サーバ型コネクションの確立では,オンライン開始時にポートをオープンしておくことで,相手システムからのコネクション確立要求を待ちます。

サーバ型コネクションを確立する場合の処理の流れを次の図に示します。

図2‒4 サーバ型コネクションを確立する場合の処理の流れ

[図データ]

説明
  1. 相手システムからのコネクション確立要求を受け付けます。

  2. コネクション確立のRL(MCP後処理トランザクション)を処理キューに登録します。

  3. UAPにコネクションの確立を通知します。