第 6 章 バッチアプリケーションのテスト環境への配備
6.1 COBOLアプリケーションの配備
6.1.3 COBOL アプリケーションのライブラリの作成(Solaris/Linuxの場合)
バッチアプリケーションのライブラリの作成は、以下のアプリケーション資産をコンパイル/リンクして作成します。
・ バッチアプリケーションのCOBOLプログラム
・ COBOL実行基盤インタフェース
・ バッチアプリケーションの入力パラメタを設定したCOBOL登録集
・ 利用者が作成したCOBOL登録集
・ バッチ実行基盤が提供しているCOBOL登録集
これらの資材と、バッチアプリケーションのライブラリの関係を示します。
バッチアプリケーションのライブラリの作成は、NetCOBOLの機能であるUNIX分散開発支援機能を使用します。バッチ実行基盤で動 作するバッチアプリケーションの開発手順は、UNIX分散開発支援機能を利用したNetCOBOLのアプリケーションを作成する場合と同 じです。
以下に、UNIX分散開発支援機能を使用するときのCOBOLプログラムなどの関係を示します。
UNIX分散開発支援機能の詳細はNetCOBOLのマニュアルを参照してください。
UNIX分散開発支援機能では、アプリケーション資産をプロジェクトとして管理します。バッチアプリケーションのプロジェクトは、以下の アプリケーション資産をプロジェクトに取り込む必要があります。
・ COBOLプログラム
- バッチアプリケーションのソースプログラム
- COBOL実行基盤インタフェース
- サブプログラム
サブプログラムの取り込みは、サブプログラムが存在する場合だけです。
・ COBOL登録集
- 入力パラメタを設定したCOBOL登録集
入力パラメタを設定したCOBOL登録集の取り込みは、バッチアプリケーションに入力パラメタが存在する場合だけです。
- バッチ実行基盤が提供しているCOBOL登録集(INVALID_MARKER.cblなど)
バッチ実行基盤が提供しているCOBOL登録集の取り込みは、バッチアプリケーションでバッチ実行基盤が提供しているCOBOL 登録集を使用している場合だけです。
- 利用者が作成したCOBOL登録集
6.1.3.1 バッチアプリケーションライブラリの作成 (Solaris/Linux の場合 )
バッチアプリケーションを作成するために、NetCOBOLのプロジェクト管理機能を使用し、プロジェクトを作成します。
バッチアプリケーションのライブラリのモードには、プロセスモードとスレッドモードがあります。動作モードの選択については、業務の設 計指針(バッチワークユニットの設定)にしたがってください。
作成したプロジェクトに対し、以下の作業を行います。
・ 翻訳オプションの設定
・ 最終ターゲットファイル名(ライブラリ名)の追加
・ COBOLソースファイルフォルダの作成とCOBOLソースファイルの追加
・ 登録集ファイルフォルダの作成とCOBOL登録集の追加
・ 分散開発固有の設定
・ サーバ環境へのアプリケーション資産の登録
・ ビルド制御文の生成
・ ビルド制御文の修正
・ バッチアプリケーションのビルド
・ プロジェクトの作成方法の詳細は、NetCOBOLのマニュアルを参照してください。
・ COBOLアプリケーションの動作モードとバッチワークユニットの動作モードについては、“3.2 ジョブの外部仕様の設計”を参照して
ください。
翻訳オプションの設定
プロジェクトで管理するソースファイルを翻訳するときに有効になる翻訳オプションを設定します。スレッドモードのバッチアプリケーショ ンを作成する場合は、翻訳オプションTHREAD(MULTI)が必要です。
バッチ実行基盤で動作するバッチアプリケーションでは、以下の翻訳オプションを設定しないでください。
・ NOALPHAL
・ BINARY(WORD,MLBOFF)
・ BINARY(BYTE)
・ ASCOMP5(ALL)
・ ASCOMP5(BINARY)
・ ASCOMP5(COMP)
最終ターゲットファイル名(ライブラリ名)の追加
最終ターゲットファイルに、ライブラリ名を登録します。ライブラリ名は、アプリケーション情報入力ファイルのlibraryタグに設定したライブ ラリ名から“lib”を除き、拡張子を“DLL”に変更した名前を登録してください。登録した名前は、後述するビルド制御文を生成するとき に、先頭に“lib”が付加され拡張子が“so”に変換されます。
例えば、UNIX系システムで作成するライブラリ名が“libSAMPLE.so”の場合、Windows(R)上のプロジェクトに登録するライブラリ名 は“SAMPLE.DLL”になります。
OS ライブラリ名
Windows(R) SAMPLE.DLL
UNIX系システム libSAMPLE.so
COBOLソースファイルフォルダの作成とCOBOLソースファイルの登録
最終ターゲットファイルであるライブラリに対して、COBOLソースファイルフォルダを作成します。作成したフォルダに以下を登録しま す。
・ COBOL実行基盤インタフェース
・ バッチアプリケーション
・ サブプログラム
COBOL実行基盤インタフェースとバッチアプリケーションは、合わせて1つのバッチアプリケーションであるため、それぞれを個別のラ イブラリとして作成しないでください。必ず、同じ最終ターゲットファイルのCOBOLソースフォルダに登録してください。
登録集ファイルフォルダの作成とCOBOL登録集の登録
プロジェクトのCOBOLソースファイルに対して登録集ファイルフォルダを作成します。作成したフォルダに以下のCOBOL登録集を登 録します。
・ 入力パラメタを設定したCOBOL登録集
・ バッチ実行基盤が提供しているCOBOL登録集
・ 利用者が作成したCOBOL登録集
バッチ実行基盤では、以下のCOBOL登録集を提供しています。
・ INVALID_MARKER.cbl
入力パラメタが未設定かどうかを判定するCOBOL登録集です。
分散開発固有の設定
プロジェクトに分散開発固有の設定を行います。
設定方法は、NetCOBOLのマニュアルを参照してください。なお、ターゲットの種別には以下を指定します。
Solaris
Linux
サーバ環境へのアプリケーション資産の登録
プロジェクトに登録したCOBOLソースファイルとCOBOL登録集を、テスト環境に転送します。転送時は、テスト環境のバッチワークユ ニットに指定した文字コードに合わせて、COBOLソースファイルとCOBOL登録集の文字コード変換を行います。
テスト環境の文字コードと、バッチワークユニットに指定した文字コードが不一致の場合、バッチアプリケーションが誤動作することがあ ります。
文字コードの設計については、“Interstage Job Workload Server セットアップガイド”の“文字コードの設計”を参照してください。
ビルド制御文の生成
プロジェクトに登録された資産から、バッチアプリケーションをビルドするための、ビルド制御文(Makefile)を生成します。
詳細はNetCOBOLのマニュアルを参照してください。
ビルド制御文の修正
生成されたMakefileをテキストエディタで開き、バッチアプリケーションが使用する、以下の資源のパスとライブラリを追加します。
・ COBOL登録集のパス:/opt/FJSVibs/copy
・ ライブラリのパス:-L/opt/FJSVibs/lib
・ ライブラリ名:-l(ライブラリ名)
リンクするライブラリは、プロセスモードとスレッドモードで以下のように異なります。
プロセスモード スレッドモード
リンクするライブラリ libapfwcdrcobol_nt.so libapfwcblconv_nt.so
libapfwcdrcobol.so libapfwcblconv.so
・ 資源(ライブラリ)の追加手順の詳細は、NetCOBOLのマニュアルを参照してください。
・ パスとライブラリの追加はプロジェクトでも行えます。
バッチアプリケーションのビルド
修正したビルド制御文(Makefile)をテスト環境へ転送後、ターゲットビルド機能を使用してバッチアプリケーションをビルドします。
ターゲットビルドの詳細は、NetCOBOLのマニュアルを参照してください。