COBOL2002 ユーザーズガイド


19.3.1 概要

JavaプログラムからCOBOLプログラムを呼び出せます。ここでは,JavaプログラムとCOBOLプログラムの連携の手順について説明します。

Javaアプリケーションサーバを利用して既存のCOBOLプログラムを使ったWeb環境を構築する場合は,Cosminexus連携機能,およびTP1サーバ用Cosminexus連携機能を使用します。これらの機能を使用すると,Java言語の他言語インタフェース機能(Java Native Interface)処理とデータ交換処理をラッピングするJavaクラスを自動生成できるため,開発期間を短縮できます。また,COBOLプログラムで発生したエラー情報などを取得する例外メソッドを用意しているので,このAPIを使って例外処理を備えた実行環境を構築できます。

Cosminexus連携機能の詳細については,マニュアル「COBOL2002 Cosminexus連携機能ガイド」を参照してください。

TP1サーバ用Cosminexus連携機能を使用するには,次の製品が必要です。

JavaからTP1環境下のCOBOL SPP(Service Providing Program)のサービスを利用する場合(TP1サーバ用Cosminexus連携機能)に必要な製品
開発環境:

TP1/COBOL adapter for Cosminexus Version 2

サーバ実行環境:

TP1/COBOL 拡張 Server Run Time System for Cosminexus Version 2

TP1サーバ用Cosminexus連携機能の詳細については,マニュアル「TP1/COBOL adapter for Cosminexus ユーザーズガイド」を参照してください。

なお,COBOLプログラムからJavaプログラムを直接呼び出せません。Javaプログラム呼び出し機能を使用してください。

Javaプログラム呼び出し機能の詳細については,マニュアル「COBOL2002 Javaプログラム呼び出し機能ガイド」を参照してください。

〈この項の構成〉

(1) 概要

JavaプログラムからCOBOLプログラムを呼び出すには,Java言語の他言語インタフェース機能(Java Native Interface)を利用します。したがって,Java言語の他言語インタフェース機能の制限に基づいて,Javaから呼び出されるCOBOLプログラムはstdcall呼び出し規約のDLL形式で作成する必要があります。

また,JavaプログラムからCOBOLプログラムを呼び出す場合には,COBOLプログラムの初期化,および終了処理するサービスルーチン(CBLGINT/CBLEND)を呼び出す必要があります。Javaプログラムからは直接サービスルーチンを呼び出せないため,サービスルーチンを呼び出すCプログラムを作成し,JavaプログラムからそのCプログラムを呼び出すようにします。

注意事項

Javaプログラムとのインタフェースは,Sun Microsystems, IncのJava Development Kit(JDK)のバージョン1.1以降を対象とします。

(2) Javaプログラムとのインタフェースを使ったプログラムの作成手順

Javaプログラムとのインタフェースを使ったプログラムの作成手順を次に示します。

図19‒1 Javaプログラムとのインタフェースを使ったプログラムの作成手順

[図データ]

  1. Javaプログラムのソースファイルを作成する。

  2. JavaソースファイルをコンパイルしてJavaバイトコードを生成する。

  3. JavaバイトコードからC言語ヘッダファイルを生成する。

  4. COBOLプログラムのソースファイルを作成する。

  5. COBOLソースファイルをコンパイルしてCOBOLプログラム(DLL形式)を生成する。

  6. サービスルーチン(CBLGINT/CBLEND)を呼び出すCプログラムのソースファイルを作成する。

  7. CソースファイルをコンパイルしてDLLを生成する。

  8. Javaプログラムを実行する。

なおこの節では,次のような構成でJavaプログラムとのインタフェースの利用手順を説明します。

Java言語での作業

次の作業について説明します。

  • Java言語のmainメソッドを含むJavaプログラムの作成

  • COBOLプログラムを呼び出すJavaプログラムの作成

  • Cプログラムを呼び出すJavaプログラムの作成

COBOL言語での作業

Javaプログラムから呼び出すCOBOLプログラムの作成方法について説明します。

C言語での作業

COBOLプログラムの初期化・終了処理を呼び出すCプログラムの作成方法について説明します。

Javaプログラムの実行

作成したJavaプログラムの実行方法について説明します。

制限事項

Javaプログラムとのインタフェースでの制限事項について説明します。