COBOL コンテナーの概要
COBOL コンテナーによって、COBOL モジュールをバッチ・アドレス・スペースにロードすることが可能になります。 モジュールは、直接呼び出されます。
コンテナーは、アプリケーション・サーバーのライフサイクル内で何度も作成したり破棄したりできます。各コンテナーは、サーバーから分離されている Language Environment® (LE) の別プログラムで作成されます。コンテナーは、作成されるたびに、クリーンな LE が保証されます。
Java™ プログラムは、COBOL にパラメーターを渡し、結果を取得することができます。COBOL ソース内のデータおよびリンケージの定義に基づいて Java 呼び出しスタブおよびデータ・バインディングを作成するために、COBOL 呼び出しスタブ・ジェネレーター・ツールが用意されています。さらに、Java プログラムで作成された JDBC タイプ 2 接続は、同じトランザクション・コンテキストの COBOL プログラムとの共有が可能です。
COBOL コンテナーの値
この製品は、Java バッチ処理用の包括的な実行環境を提供します。 バッチ・サポートの設計には、他の情報処理との統合が含まれます。COBOL は、コンピューターの非常に初期からバッチ処理の一部として機能を果たし、COBOL 資産には多大な投資が行われています。COBOL コンテナーは、Java 処理に COBOL を直接統合する手段を提供します。
COBOL プログラムのプログラミング制約事項
- ユーザー定義のエラー・ハンドラーは使用できません。
- 明示的トランザクション制御は使用できません。例えば、COMMIT や ROLLBACK は使用できません。
- DB2® 特殊レジスター (SOLID や SCHEMA など) は設定できません。
- DD のアクセスには、DD を動的に割り振りまたは割り振り解除するユーザー・コードが必要です。
- ENTRY ラベルの Java 呼び出しはサポートされていません。
- Java コードの COBOL 呼び出しはサポートされていません。
COBOL コンパイルの要件
環境で使用する COBOL モジュールはすべて、次のオプションを指定してコンパイルする必要があります。
- dll
- COBOL モジュールは DLL フォーマットである必要があります。
- rent
- COBOL モジュールには再入可能コードが含まれなければなりません。
- thread
- COBOL モジュールはスレッド・セーフである必要があります。
- outdd(WCGILOUT)
- COBOL DISPLAY の出力を製品のジョブ・ログに書き込むために必要です。
- SQL('ATTACH(RRSAF)')
- DB2 アクセスの場合は必須です。
cbl dll,lib,rent,thread,outdd(wcgilout)
cob2 -c -bdll,rent,thread,lib,list '-qOUTDD(WCGILOUT)' sample.cbl
COBOL コンテナーの制約事項
COBOL コンテナーをホストする製品は、ワークロード・プロファイル ISOLATE を指定して構成されている必要があります。
ワークロード・プロファイルの構成方法については、『z/OS® プラットフォームでの ORB サービスの拡張設定』を参照してください。
COBOL コンテナーに関する JDBC データ・ソースの制約事項
このセクションに示されている制約事項は、ILContainer.setDB2Connection により Java と COBOL のコード間で共有される DB2 タイプ 2 接続を含むすべての JDBC データ・ソースに適用されます。[また、ILContainer.setDB2Connection にオブジェクト・タイプを指定します。]
これらの制約事項では、COBOL コードによってオープンされ、COMMIT 境界を越えて持続する DB2 データ構文 (WITH HOLD CURSOR など) が、JDBC 接続のクローズ時に正しくクリーンアップされるようにします。
接続プーリングは DISABLED (使用不可) でなければなりません。接続プーリングを使用不可にするには、disableWASConnectionPooling プロパティーを使用します。管理コンソールを使用してこのプロパティーを設定するには、
をクリックします。disableWASConnectionPooling という名前のカスタム・プロパティーを追加して、その値を true に設定します。接続共有は、UNSHARED (非共有) に設定する必要があります。データ・ソースの接続共有を UNSHARED に設定するには、globalConnectionTypeOverride プロパティーを使用します。 管理コンソールを使用してこのプロパティーを設定するには、
をクリックします。globalConnectionTypeOverride という名前のカスタム・プロパティーを追加して、その値を unshared に設定します。これらのプロパティーについて詳しくは、『接続プールの調整』を参照してください。