nバッチアプリケーション/1ライブラリのパターン
複数のバッチアプリケーションと対応するCOBOL実行基盤インタフェース、およびバッチアプリケーションから呼び出されるプログラムを 1つのライブラリにするパターンです。
パターン1 (複数個のバッチアプリケーションで共用ライブラリを形成)
パターン2 (複数個のバッチアプリケーションとサブプログラムで共用ライブラリを形成)
パターン3 (複数個のバッチアプリケーションで共用ライブラリが形成され、かつサブプログラムは別の共用ライブラリで形成)
ソースファイル内に書くバッチアプリケーションのプログラムの数は、1個から複数個です。
COBOL実行基盤インタフェースとバッチアプリケーションを別のライブラリにする以下のような形態は、サポートしていません。
・ 1バッチアプリケーションの場合
・ nバッチアプリケーションの場合
バッチワークユニット内共用ライブラリ
バッチワークユニット内の複数のバッチアプリケーションから呼び出す共用のプログラムを別のライブラリ(以降、“バッチワークユニット 内共用ライブラリ”と呼びます)にできます。バッチワークユニット内共用ライブラリのプログラムには、COBOL実行基盤インタフェースは 不要です。
バッチワークユニット内共用ライブラリ内のプログラムの数は、1個から複数個です。
2.6.2 バッチアプリケーションのロード方法
バッチアプリケーションのロード方法は、以下のとおりです。
・ プレロード
バッチワークユニット起動時に、アプリケーションのライブラリがロードされ、バッチワークユニットが起動している間、アプリケーショ ンはメモリに常駐します。
・ ダイナミックロード
ジョブステップ実行時に、アプリケーションのライブラリがメモリにロードされ、ジョブステップ終了時にアンロードされます。
アプリケーションのロード方法は、バッチアプリケーションが構成するライブラリごとに選択してください。また、選択するときは、バッチア プリケーションの利用頻度や特性、共用ライブラリ内のサブプログラムの使用状況などに合わせてください。
プレロード、ダイナミックロードの選択は、バッチアプリケーションをバッチワークユニットに配備する時に使用する、アプリケーション配 備定義ファイルで行います。
プレロードに多数のライブラリを配置すると、バッチワークユニットのメモリ使用量が増大します。プレロードに配置するライブラリの数、
およびライブラリのファイルサイズの総量を、実行環境に合った適切な値にしてください。
アプリケーション配備定義ファイルでの指定方法については、“Interstage Job Workload Server セットアップガイド”の“アプリケーション 配備定義ファイルの作成”を参照してください。
2.6.3 ライブラリの構成とロード方法の関係
アプリケーションのライブラリは、ライブラリの構成によって、プレロード/ダイナミックロードの属性に特性があります。
バッチアプリケーションのライブラリ構成による、プレロード/ダイナミックロードの長所/短所
バッチアプリケーションのライブラリの構成によって、プレロード/ダイナミックロードの以下の長所/短所があります。バッチアプリケー ションのライブラリ構成を設計するうえで、考慮してください。
プレロード ダイナミックロード
nバッチアプリ ケーション/1ラ イブラリの構成
長 所
・ 類似するバッチアプリケーションを1ライブラリ構成にすることで、ライブラリ単位の管理がで きます。
・ バッチアプリケーションで共用プログラム を静的結合すると、バッチワークユニット のメモリ使用量を削減できます。
・ ライブラリ内のすべてのバッチアプリケー ションの使用頻度が高い場合、バッチア プリケーションの起動時間が短くなります。
-
短 所
・ 以下の作業を行った場合、配備するときに対処が不要なバッチアプリケーションまで置き 換えます。
- 既存のライブラリにバッチアプリケーションのプログラムを追加する
- ライブラリ内のバッチアプリケーションのプログラムを修正する
- ライブラリ内のバッチアプリケーションのプログラムを削除する
・ ライブラリ内で使用頻度の少ないバッチア プリケーションが存在する場合、バッチワー クユニットのメモリの使用量が不必要に増 大します。
・ ジョブステップで不要なバッチアプリケー ションがメモリにロードされるため、バッチ アプリケーションの起動時間が長くなりま す。
・ ジョブステップで不要なバッチアプリケー ションがメモリにロードされるため、バッチ ワークユニットのメモリ使用量が一時的に 増大します。
1バッチアプリ ケーション/1ラ イブラリの構成
長 所
・ バッチアプリケーションの追加/修正後のライブラリの配備のときに、配備済みのバッチア プリケーションに影響することなく配備できます。
短 所
・ 各バッチアプリケーションで共用するプロ グラムを静的結合すると、バッチワークユ ニットのメモリ使用量が増大します。
-
動的プログラム構造/動的リンク構造
バッチ実行基盤では、プレロード/ダイナミックロードのライブラリが存在するディレクトリを環境変数"LD_LIBRARY_PATH"(Windows(R) の場合は"PATH")に設定します。このため、アプリケーションは、プレロードのライブラリ、およびダイナミックロードのライブラリに存在す るバッチワークユニット内共用ライブラリを、動的プログラム構造、または動的リンク構造で呼び出すことができます。
同名のライブラリが、ダイナミックロードとプレロードに存在する場合、アプリケーションからダイナミックロードのライブラリを呼び出せま せん。
動的プログラム構造、および動的リンク構造については、アプリケーションの開発言語のマニュアルを参照してください。
2.6.4 バッチアプリケーションの配備の単位
バッチワークユニットへの配備は、バッチアプリケーション単位ではなく、ライブラリ単位で行います。
ジョブの投入は、ジョブキューに対して行います。このため、ジョブキューに関連付けられたバッチワークユニットに、ジョブから呼び出 されるバッチアプリケーション(ライブラリ)を配備します。したがって、以下のような場合は、複数のバッチワークユニットに同一のライブ ラリを配備します。
・ 複数のジョブキューに同一のジョブを投入する場合
・ 同一のアプリケーションを呼び出すジョブが複数存在し、これらのジョブを投入するジョブキューが複数存在する場合 以下に、バッチワークユニットが複数存在する場合の例を示します。
バッチアプリケーションの配備構成
・ バッチワークユニットに配備するアプリケーションは、“cobol_3”や“cobol_4”のように、同じアプリケーションであっても、異なるジョ ブの実行環境で実行する場合は、それぞれのジョブの実行環境のバッチワークユニットに配備する必要があります。
・ スクリプトやコマンドは、バッチワークユニットにパスを登録して、ジョブの実行環境が異なるジョブから実行される場合で も、“shell_1”のように共通の場所に配置します。
ジョブキュー、イニシエータ、およびバッチワークユニットの設定方法は、“Interstage Job Workload Server セットアップガイド”の“バッチ サーバ環境の作成”を参照してください。