COBOL実行環境の開設および閉鎖処理を、アプリケーション連携実行基盤が行います。これによって、WORKING-STRAGE SECTIONにおけるむだな領域の獲得や解放をしない制御を行うことができます。また、COBOL実行環境の開設・閉鎖間では、変数などの実行環境情報について前回呼び出したときの状態がCOBOLランタイムで保持されるため、サーバアプリケーションを再度呼び出した場合にアプリケーション間で情報共有できます。
COBOLアプリケーションの実行パターンには、以下の3種類があります。サーバアプリケーションの動作モード(プロセスモード、スレッドモード)によって、実行環境情報が保持される場合とされない場合があります。
No. | 動作モード | COBOL実行環境の保持 | 備考 |
---|---|---|---|
1 | プロセスモード | あり |
|
2 | スレッドモード | あり | シングルスレッド(1プロセスに1スレッドの場合)のみサポート |
3 | なし(処理要求を受信ごとに初期化) |
|
注意
実行環境のOSがWindowsかつアプリケーション開発言語がC言語の場合、プロセスモードは使用できません。
COBOL実行環境を保持した場合のデータの共有は、プロセス内で情報を共有したい場合に使用します。リクエスト間でのデータの受渡しは保証されません。
プロセス内のデータ共有は、データを初期処理だけで設定して、その他の処理では参照だけを行うことを推奨します。
プロセスの起動から停止までの間、COBOLの実行環境を保持します。COBOLの実行環境を引継ぐモードと、処理要求ごとに初期化を行い、実行環境を引き継がないモードの2種類のモードがあります。実行環境を引継ぐモードは、サーバアプリケーションで使用する変数を初期処理で初期化し、以降の処理で参照できます。なお、プロセスモードにおいてリクエストごとに変数の初期化を行いたい場合は、前処理などのリクエストごとの処理で、初期化を行う必要があります。
処理の詳細を以下に示します。
COBOLの実行環境を引き継ぐモード
COBOLの実行環境を引き継がないモード
COBOL実行環境の初期化を起動時に1度だけ行って実行環境を引き継ぐモードと、処理要求ごとに初期化を行って実行環境を引き継がないモードの、2種類のモードがあります。
注意
実行環境を引き継ぐモードは、シングルスレッド(1プロセスに1スレッド)の場合にだけ利用してください。実行環境を引き継ぐモードの場合、ワークユニットの定義で最大スレッド数に2以上を指定すると、ワークユニットの起動に失敗します。
処理の詳細を以下に示します。
COBOLの実行環境を引き継ぐモード
COBOLの実行環境を引き継がないモード