| Java からの手続き型 COBOL の呼び出し |
この章では、分散コンピューティング環境で COBOL と Java のコンポーネントを使用するために Server Express が提供する機能を紹介し、作業を始める前に知っておくべき重要な情報を説明します。
COBOL と Java を併用するには、2 通りの方法があります。
また、既存の COBOL ビジネスロジックを Enterprise JavaBean として、取り込むことができます。詳しくは、『Java からのオブジェクト COBOL の呼び出し』を参照してください。
Java 自体は、Remote Method Invocation(RMI)や Java Naming and Directory Interface(JNDI)など、他のテクノロジにアクセスを提供するため、異なる機種のマシンにオブジェクトを配布することができます。
このテクノロジを有効に使用するには、少なくとも Java 言語の基礎知識が必要です。このような基礎知識は、Sun の Java サイトに掲載されています。
以降の項では、Java と COBOL を併用するために必要な事柄がすべて説明されています。これらの事柄には、Java から COBOL を呼び出す場合にのみ適用されるものや、COBOL から Java を呼び出す場合にのみ適用されるものがあります。
Java アプリケーションを実行するマシン上には必ず、Java ランタイムシステムが必要です。Java および COBOL 混合アプリケーションを開発する場合は、開発環境とランタイム環境の両方を提供する Java Virtual Machine (JVM) が必要です。Java Virtual Machine はオペレーティングシステムのベンダから入手できます。
使用しているプラットフォームが複数の JVM をサポートしている場合は、以下のメソッドを使用して JVM を切り替えることができます。
COBJVM=ibm_122 export COBJVM
COBJVM 環境変数の詳細については、『ユーザガイド』の『環境変数』の章を参照してください。
HP-UX:
使用しているプラットフォームが HP-UX の場合は、COBJVM 環境変数を使用して JVM を変更することはできません。代わりに、Server Express が Java 環境を検索するディレクトリを変更するための PATH 設定値を追加することにより JVM を変更できます。『HP-UX 用環境変数の設定』の項を参照してください。
連動する COBOL および Java プログラムを書き始める前に、COBOL および Java ランタイムシステム用に環境変数の一部を設定する必要があります。これらの環境変数の厳密な設定値は、使用しているプラットフォームにより異なります。以下のリストでは、一般的な場合に必要な設定を説明しています。その後の項では、いくつかのプラットフォーム用の設定例を示します。
このセクションでは、Solaris プラットフォーム上で COBOL/Java を動作させるための環境変数設定値を示します。以下の設定は、システム上の適切なディレクトリが指定されるよう変更する必要があります。
export JH=$HOME/java1.2
export COBDIR=<server_express_directory>
export PATH=$JH/bin:$PATH
export PATH=$COBDIR/bin:$PATH
export LD_LIBRARY_PATH=$JH/jre/lib/sparc:$COBDIR/lib:$LD_LIBRARY_PATH
export CLASSPATH=$COBDIR/lib/mfcobol.jar:$JH/jre/lib/rt.jar:.
export COBCPY=$COBDIR/cpylib
export PATH=/usr/openwin/bin:$PATH
ここで、server_express_directory は Server Express がインストールされているディレクトリを表します。
このセクションでは、AIX プラットフォーム上で COBOL/Java を動作させるための環境変数設定値を示します。以下の設定は、システム上の適切なディレクトリが指定されるよう変更する必要があります。
export JH=/usr/java_dev2
export COBDIR=server_express_directory
export PATH=/usr/java_dev2/jre/sh:/usr/java_dev2/sh:$PATH
export PATH=$COBDIR/bin:$PATH
export LIBPATH=$JH/jre/bin/classic:$JH/jre/bin:$COBDIR/lib:$LIBPATH
export CLASSPATH=$COBDIR/lib/mfcobol.jar:/usr/java_dev2/jre/lib/rt.jar:.
export COBCPY=$COBDIR/cpylib
ここで、server_express_directory は Server Express がインストールされているディレクトリを表します。
このセクションでは、AIX プラットフォーム上で COBOL/Java を動作させるための環境変数設定値を示します。以下の設定は、システム上の適切なディレクトリが指定されるよう変更する必要があります。
export JH=/usr/java2
export COBDIR=server_express_directory
export PATH=$JH/bin:$PATH
export PATH=$COBDIR/bin:$PATH
export
LD_LIBRARY_PATH=$JH/jre/lib/x86at/:$JH/jre/lib/x86at/classic:$JH/jre/lib/x86at/native_threads:$COBDIR/lib:$LD_LIBRARY_PATH
export CLASSPATH=$COBDIR/lib/mfcobol.jar:$JH/jre/lib/rt.jar:.
export COBCPY=$COBDIR/cpylib
export PATH=/usr/X/bin:$PATH
ここで、server_express_directory は Server Express がインストールされているディレクトリを表します。
このセクションでは、HP-UX プラットフォーム上で、Server Expressインストール時にデフォルトの JVMとして指定した JVM を使用して COBOL/Java を動作させるための環境変数設定値を示します。 以下の設定は、システム上の適切なディレクトリが指定されるよう変更する必要があります。
HP-UX PA-RISC
export JH=/usr/java1.2 export COBDIR=server-express-directory export PATH=$JH/bin:$PATH export PATH=$COBDIR/bin:$PATH export SHLIB_PATH=$JH/jre/lib/PA_RISC:$JH/jre/lib/PA_RISC/hotspot: $JH/jre/lib/PA_RISC/native_threads:$COBDIR/lib:$SHLIB_PATH export CLASSPATH=$COBDIR/lib/mfcobol.jar:$JH/jre/lib/rt.jar:. export COBCPY=$COBDIR/cpylib export PATH=/usr/X/bin:$PATH
HP-UX IA64
export JH=/usr/java1.2 export COBDIR=server-express-directory export PATH=$JH/bin:$PATH export PATH=$COBDIR/bin:$PATH export SHLIB_PATH=$JH/jre/lib/IA64:$JH/jre/lib/IA64/hotspot: $JH/jre/lib/IA64/native_threads:$COBDIR/lib:$SHLIB_PATH export CLASSPATH=$COBDIR/lib/mfcobol.jar:$JH/jre/lib/rt.jar:. export COBCPY=$COBDIR/cpylib export PATH=/usr/X/bin:$PATH
ここで、server_express_directory は Server Express がインストールされているディレクトリを表します。
別の JVM に変更するには、当該 JVM の Java 環境が配置されているディレクトリを指し示す PATH 設定を追加します。その設定行の形式は次のようになります。
export PATH=$COBDIR/bin/jdkn.n:$PATH
ここで、n.n は JVM バージョン番号の最初の 2 桁の数字を表し、JVM のバージョンが 1.2.n の場合は 1.2、1.3.n の場合は 1.3 となります。この行は次の行よりあとに指定する必要があります。
export PATH=$COBDIR/bin:$PATH
デフォルト JVM に戻すには、上記の設定行を削除するか、コメント行にします。
Java を呼び出す COBOL プログラムはどれでも、以下の指令でコンパイルする必要があります。
ooctrl"+p-f"
次の 2 つの作業が行われます。
Java/COBOL アプリケーションランチャーは、COBOL ランタイム環境からの Java アプリケーションの起動に使用します。Java/COBOL アプリケーションランチャーにより、COBOL ランタイムシステムと Java 仮想マシンの両方を正しく管理できるよう、環境がセットアップされます。したがって、通常の Java アプリケーションランチャーでなく、このアプリケーションランチャーを使用する必要があります。
Java/COBOL アプリケーションランチャーを実行するコマンドの形式は、以下のいずれかです。
cobjrun [options] class [arguments]
または
cobjrun -jar [options] jarfile [arguments]
パラメータの説明は次のとおりです。
options |
Java アプリケーションランチャーに通常指定するオプション |
class |
実行されるクラスの名。Java/COBOL アプリケーションランチャーは、この名前の Java クラスを見つけられない場合は、同じ名前の COBOL プログラムを探します。COBOL プログラムが見つかると、それが実行されます。 |
arguments |
主関数に渡される引数。 |
-jar |
JAR ファイルからのプログラムが実行されるよう指定します。 |
jarfile |
実行される JAR ファイルの名前。 |
注:
public static void main(String args[])
-classpath(または -cp)オプションを使用して、そのファイルを
CLASSPATH に追加し、完全に修飾されたクラス名を指定する必要があります。
-jar オプションを指定してアプリケーションを実行することができます。Java と併用する COBOL プログラムはすべて、マルチスレッドランタイムシステムにリンクされている必要があります。リンクするには、-t cob フラグを使用します。このフラグについて詳しくは、『Server Express ユーザガイド』の 『cob のフラグの説明』の章にある『マルチスレッドプログラムの作成』 を参照してください。マルチスレッドについて詳しくは、 『Multi-threaded Programming』マニュアルを参照してください。
Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法で保護されています。
| Java からの手続き型 COBOL の呼び出し |