付録B.2 バージョン5以前からの移行

バージョン5以前からバージョン7へ移行する場合,次の点に注意してください。

<この項の構成>
(1) ソースの互換性
(2) サーバ型コネクションの自IPアドレス
(3) メッセージ送信の再試行
(4) MCFトレースで取得する送受信メッセージのサイズ
(5) 未確立コネクションの論理端末に対する運用コマンドの動作
(6) クライアント型コネクションの確立処理
(7) コネクション当たりの受信バッファ数
(8) システムサービス共通情報定義のmax_open_fdsオペランド
(9) Windows版でのシステムサービス共通情報定義のmax_socket_descriptorsオペランドとmax_open_fdsオペランド
(10) コネクション確立要求を格納するキューの長さ
(11) OpenTP1終了中の相手システムからのコネクション確立
(12) 受信バッファ数不足発生時のメッセージログ
(13) 追加機能

(1) ソースの互換性

バージョン5以前からバージョン7へ移行する場合の各種ソースファイルの互換性について説明します。

バージョン5以前からバージョン7へ移行する場合,バージョン5以前で使用していたソースファイルをそのまま使用できないことがあります。ソースファイルの互換性は,次の表に示すとおりです。

表B-2 バージョン5以前で使用していたソースファイルの互換性

ソースファイルの種類ソースファイルを作成した言語互換性
UAPC言語32ビットアーキテクチャのバージョン7を使用する場合は,ソースファイルを変更しないで使用できます。
それ以外の場合は,ソースファイルを変更する必要があります。
COBOL言語ソースファイルを変更しないで使用できます。
UOCC言語32ビットアーキテクチャのバージョン7を使用する場合は,ソースファイルを変更しないで使用できます。
それ以外の場合は,ソースファイルを変更する必要があります。
MCF通信構成定義(プロトコル固有の定義)ソースファイルを変更しないで使用できます。
(凡例)
-:該当する内容がないことを表します。
注※
バージョン7では,メッセージ送受信インタフェース,UOC,およびMCFイベントインタフェースのそれぞれの引数ならびにパラメタの型が変更されています。そのため,UAPおよびUOCのソースファイルを見直す必要があります。
なお,この変更によるUAPやUOCの処理への影響はありません。
詳細については,「付録C インタフェースの変更一覧(バージョン6以前から移行する場合)」を参照してください。

(2) サーバ型コネクションの自IPアドレス

バージョン5以前では,サーバ型コネクションに指定した自システムのIPアドレスおよびホスト名を無効としていましたが,バージョン7では,コネクション定義に指定した自システムのIPアドレスまたはホスト名に対応するIPアドレスを開始時にバインドします。

指定したIPアドレスまたはホスト名に対応するIPアドレスへのバインドに失敗した場合,-bオプションのbretry,bretrycnt,bretryintオペランドの指定値に従ってバインドを再試行します。

ホスト名に対応するIPアドレスの取得に失敗した場合,開始処理を中断しますのでご注意ください。

(3) メッセージ送信の再試行

バージョン5以前に存在したコネクション定義のメッセージ送信の再試行(mcftalccn -b dretry,dretryint,dretrycnt)は廃止し,定義しても無効となります。

バージョン5以前で行っていたメッセージ送信の再試行をバージョン7でも引き続き行い,再試行間隔(mcftalccn -b dretryint)および再試行回数(mcftalccn -b dretrycnt)にデフォルト値以外の値を設定していた場合,メッセージ送信完了監視時間(mcftalccn -b sndcmptim)に次の計算式で求めた値を設定してください。

メッセージ送信完了監視時間(sndcmptim)(秒)
 =再試行間隔(ミリ秒)× 再試行回数/1000(端数切り上げ)
  (dretryint)          (dretrycnt)

(例)
再試行間隔に250(ミリ秒),再試行回数に15(回)を指定していた場合の,メッセージ送信完了監視時間を求めるときの計算式を次に示します。

250 × 15 / 1000 = 3.75
                ≒ 4

この場合は,メッセージ送信完了時間に4(秒)を指定します。

(4) MCFトレースで取得する送受信メッセージのサイズ

バージョン5以前では,TP1/NET/TCP/IPが送受信したメッセージの全内容をMCFトレースに取得していましたが,バージョン7では,送受信したメッセージの先頭から最大128バイトをMCFトレースに取得します。

128バイトを超える送受信メッセージをMCFトレースに取得する場合は,トレース環境定義のMCFトレースに取得する送受信メッセージのサイズ(mcfttrc -t msgsize)に,送受信するメッセージ長以上の値を指定してください。

(5) 未確立コネクションの論理端末に対する運用コマンドの動作

バージョン7では,未確立コネクションの論理端末に対する運用コマンド(mcftactleとmcftdctle)の動作が,バージョン5以前と異なります。未確立コネクションの論理端末に対する運用コマンドの動作を次に示します。

表B-3 未確立コネクションの論理端末に対する運用コマンドの動作

運用コマンドバージョン論理端末の状態
閉塞閉塞解除
mcftactleバージョン5以前論理端末の閉塞解除をします。KFCA14821-Wを出力し,運用コマンドを受け付けません。
バージョン7KFCA14820-Wを出力し,運用コマンドを受け付けません。該当する状態にはなりません。
mcftdctleバージョン5以前KFCA14822-Wを出力し,運用コマンドを受け付けません。論理端末を閉塞します。
バージョン7KFCA14820-Wを出力し,運用コマンドを受け付けません。該当する状態にはなりません。
注※
コネクションが未確立で,かつ論理端末が閉塞解除している状態。

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

バージョン7では,クライアント型コネクションの確立処理が,バージョン5以前と異なります。

バージョン7では,クライアント型コネクションの確立処理を変更し,相手システムからの応答を待ち合わせる最大時間として,コネクション確立時の監視時間をコネクション定義(mcftalccn -b)のconcmptimオペランドで指定できます。

クライアント型コネクションの確立処理を変更したことによって,次の処理に必要な時間がバージョン5以前と異なります。

OSが相手システムとコネクションを確立したあと,TP1/NET/TCP/IPがコネクションの確立を検出するために,バージョン5以前では最大で,コネクション定義(mcftalccn -b)のbretryintオペランドで指定したコネクション確立障害時の確立再試行間隔だけ時間を必要としました。一方,バージョン7ではコネクションの確立を即時検出できます。

バージョン7の確立処理のリトライオーバまでの所要時間の計算式を次に示します。

確立処理のリトライオーバまでの最大所要時間(秒)
 =(コネクション確立障害時の確立再試行間隔 + 確立障害検出時間
       (mcftalccn -b bretryint)
    ×コネクション確立障害時の確立再試行回数
       (mcftalccn -b bretrycnt)

注※
コネクション確立時の監視時間とOSが確立障害を検出する時間のどちらか小さい方の値が設定されます。

バージョン5以前での,クライアント型コネクションの確立処理の流れは,「付録B.3 バージョン5以前でのソケット関数の処理の流れ」を参照してください。また,バージョン7での,クライアント型コネクションの確立手順の詳細は,「付録G ソケット関数の処理の流れ」を参照してください。

(7) コネクション当たりの受信バッファ数

バージョン5以前では,1コネクション当たりに必要な受信バッファは3以上でしたが,バージョン7では次の計算式で求めた値と2のどちらか大きい方の値以上が必要となります。

1コネクション当たりの受信バッファ数(小数点以下を切り上げ)
 =受信バッファのバッファサイズ(バイト)/受信するメッセージの平均長
                                             (mcftbuf -b length)

(8) システムサービス共通情報定義のmax_open_fdsオペランド

バージョン5以前ではプロトコル制御で使用するファイル記述子数は,コネクションの総数とサーバ型コネクションで使用するポート数でしたが,バージョン7ではコネクションの総数,サーバ型コネクションの自システムのホストのIPアドレス(ホスト名),およびポート番号を組み合わせた数です。

max_open_fdsオペランドについては,「6. システム定義」の「システムサービス共通情報定義」を参照してください。

(9) Windows版でのシステムサービス共通情報定義のmax_socket_descriptorsオペランドとmax_open_fdsオペランド

Windows版のバージョン5ではシステムサービス共通情報定義のmax_socket_descriptorsにプロトコル制御で使用するファイル記述子数(コネクション数×2)を追加する必要がありましたが,バージョン7ではUNIX版と同様にmax_open_fdsオペランドにプロトコル制御で使用するファイル記述子を追加してください。

(10) コネクション確立要求を格納するキューの長さ

バージョン5以前ではコネクション数にかかわらず固定としていましたが,バージョン7では定義したコネクション数に応じてTP1/NET/TCP/IPが自動的に調整するように変更しました。

(11) OpenTP1終了中の相手システムからのコネクション確立

バージョン5以前ではOpenTP1終了中においても相手システムからのコネクション確立要求を受け付けていましたが,バージョン7では相手システムからのコネクション確立要求を受け付けないように変更しました。

(12) 受信バッファ数不足発生時のメッセージログ

バージョン5以前ではKFCA10618-Eを出力していましたが,バージョン7ではKFCA14847-Eを出力するように変更しました。

(13) 追加機能

バージョン5以前と比較して,バージョン7では「付録A バージョンアップ時の変更点」に記載した追加機能のほかに次の機能を追加しています。