環境を設定する

初回のみ - Eclipse Web Tools Platform の追加

Eclipse WTP を Micro Focus COBOL for Eclipse のインストールに追加する必要があります。これにより、ソフトウェア・リポジトリが追加され、適切なプラグインがインストールされます。次の手順を実行します。
  1. [Help] をクリックしてから、[Install New Software] をクリックします。
  2. 右上にある [Add] をクリックします。
  3. [Location] を http://download.eclipse.org/webtools/repository/indigo/ に、[Name] を Eclipse Web Tools Platform に設定します。
  4. 使用可能なソフトウェアのリストにある Web Tools Platform 3.3.0 パッケージを選択して [Next] をクリックし、パッケージ全体をインストールします。
  5. ソフトウェアをインストールするためのライセンスを受け入れます。

ワークスペースの作成

プロジェクトを含める新しい Eclipse ワークスペースを作成する必要があります。このチュートリアルではロケーション C:\work\JSPBook を使用しますが、都合のよい任意の場所にワークスペースを配置してください。

Apache Tomcat のインストール

チュートリアルでは、アプリケーションをディプロイするために Tomcat 7 サーバが必要になります。

Apache Tomcat 内での JVM COBOL の実行
Micro Focus JVM COBOL の存在は、これまで COBOL で利用するのが難しかったインフラストラクチャに COBOL をディプロイすることについて、いくつかの可能性をもたらします。そのようなフレームワークは、Java サーブレットと JSP をディプロイするためのユビキタス Apache Tomcat 環境です。現在は、Tomcat にディプロイできる JVM COBOL を使用して記述されたサーブレットを作成することが可能です。また、これらのサーブレットから JVM COBOL にコンパイルされた従来の COBOL アプリケーションを呼び出して、JVM Web アプリケーションと統合することも可能になりました。

現在、JVM COBOL ランタイムは、デフォルトでネイティブ COBOL にアクセスします。JVM COBOL を Tomcat にディプロイできるようにするには、特定のセットアップ要件が存在する必要があります。このトピックでは、Windows および Red Hat Enterprise Linux 上の Tomcat に JVM COBOL をディプロイするために必要な手順を説明します (ただし、この手順は、サポートされているすべての Linux および UNIX プラットフォームに使用できます)。

注: サポート・ライブラリ jar を Web アプリケーションにディプロイする通常の方法は、Web アプリケーションの WEB-INF/lib ディレクトリに jar ファイルを含めることです。このプロセスは、メイン JVM COBOL ランタイムには機能しません。現在、JVM COBOL は、ファイル処理などの機能にアクセスするためにネイティブ COBOL ランタイムを利用しています (純粋な JVM ソリューションを提供するための作業は現在進行中です)。Tomcat は、Web アプリケーション lib ディレクトリ内の jar を、その Web アプリケーション・インスタンスに固有のクラス・ローダで起動します。ネイティブ・ライブラリがそのようなクラス・ローダでロードされると、ネイティブ・ライブラリはクラス・ローダに結合された状態になります。アプリケーションの再ディプロイでは新しいクラス・ローダが使用されるため、アプリケーションはそのネイティブ・ライブラリを使用できなくなります。

Tomcat でランタイムを機能させるには、システム・クラス・ローダ (システム全体の基本クラス・ローダ) にロードされるように jar をディプロイする必要があります。本文書では、そのようなディプロイを実行するのに必要な手順と、必須のネイティブ・ライブラリをランタイムが検出できるようにするために必要な環境設定について説明します。

UNIX では、追加の構成を必要とする cobjrun の使用に関して特定の問題も存在します。

Windows 上での Tomcat 7 for JVM COBOL の設定
Windows では、プロセスは比較的単純です。ランタイム jar を Tomcat lib ディレクトリにコピーし、PATH 変数に適切なエントリがある状態で Tomcat を起動するだけで済みます。
初回のみ:

Apache Tomcat 7 をインストールするには、http://tomcat.apache.org/download-70.cgi に移動して、Windows サービス・インストーラを選択します。

まず第一に、Micro Focus COBOL インストールが %COBDIR% (Windows 7 では、通常は C:\Program Files (x86)\Micro Focus\Visual COBOL 2010) にあること、および Apache Tomcat インストールが %CATALINA_HOME% (通常は C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0) にあることを前提とします。%COBDIR%\bin ディレクトリには、JVM COBOL ランタイム jar が含まれています。これらは、mfcobolrts.jarmfcobol.jar です。これらの jar を %CATALINA_HOME%\lib にコピーします。これにより、Tomcat は特定の Web アプリケーションに固有のローダではなくシステム・クラス・ローダにランタイムをロードするようになります。

Tomcat を起動するには、PATH 変数を正しく設定する必要があります。ネイティブ・ランタイムと JVM ネイティブ・サポート・ライブラリは、Tomcat の起動元である PATH 変数上に存在する必要があります。32 ビット JVM の場合、これらは %COBDIR%\bin にあります。64 ビット JVM の場合は、%COBDIR%\bin64 を使用します。現在実行中の Tomcat インスタンスを停止してから、新しい環境で Tomcat を起動する必要があります。これをコマンド・ラインから行うには、次のコマンドを実行します。

#set PATH=%PATH%;%COBDIR%\bin;%CATALINA_HOME%\bin
#Tomcat7 //SS//
#Tomcat7

Web ページ localhost:8080 に移動すると、Tomcat ランディング・ページが表示されます。これで、JVM COBOL クラスを使用する Web アプリケーション・アーカイブは、通常の Java Web アプリケーションであれば、この Tomcat インスタンスにディプロイできるようになります。

Red Hat Enterprise Linux 上での Tomcat 7 for JVM COBOL の設定
Linux および UNIX プラットフォームでは、ディプロイ要件は多少複雑になります。JVM COBOL プログラムでシグナル処理を扱うには、一般に JVM ランタイムへの Micro Focus cobjrun トリガでそれらのプログラムを起動する必要があります。そのため、JVM COBOL を使用する Tomcat インスタンスは、通常の java トリガではなく cobjrun トリガを使用して起動する必要があります。

ただし、これは、cobjrunjava に名前変更してパス上に置くほど単純ではありません。Tomcat は JAVA_HOME を使用して java トリガと VM を検索するため、Tomcat 上での JVM COBOL の実行専用に Java インスタンスを変更する必要があります。

初回のみ:

Java 6 インストールのコピーを作成します。Tomcat の実行には、このコピーを使用します。

Tomcat コア zip を http://tomcat.apache.org/download-70.cgi からダウンロードして解凍します。次のことを前提とします。
  • Java コピーが $JAVA_HOME にある
  • Micro Focus COBOL インストールが $COBDIR (通常は /opt/microfocus/VisualCOBOL) にある
  • Tomcat が $CATALINA_HOME にインストールされている
次の手順を実行します。
  1. java トリガをバックアップ・ロケーションに移動します。
    #mv $JAVA_HOME/bin/java $JAVA_HOME/bin/javabu
  2. 適切な cobjrun トリガをリンクして、java トリガを置き換えます。32 ビット JVM の場合、これは cobjrun32 です。64 ビット JVM の場合は、cobjrun64 が必要です。32 ビットの場合は、次の操作を実行します。
    #ln -s $COBDIR/bin/cobjrun32 $JAVA_HOME/bin/java
  3. 非純粋 JVM ランタイムを Tomcat にコピーします。これを行うには、JVM ランタイム jar (mfcobolrts.jar) と JVM ネイティブ相互運用性 jar (mfcobol.jar) の両方を $CATALINA_HOME/lib にコピーする必要があります。
    #cp $COBDIR/lib/mfcobolrts.jar $CATALINA_HOME/lib
    #cp $COBDIR/lib/mfcobol.jar $CATALINA_HOME/lib
  4. 場合によっては、tomcat マネージャのユーザ・プロファイルを設定する必要があります。これを行うには、$CATALINA_HOME/conf/tomcat-users.xml ファイルを編集して、次の行を tomcat-users ノードに追加します。
    <role rolename="manager-gui"/>
    <user username="admin" password="admin" roles="manager-gui"/>

変更版の Java および Tomcat インストールを上記のように作成したら、次の手順を実行して、それを JVM COBOL サポートで起動します。

  1. Java と Tomcat をパスに追加します。
    #export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH
  2. COBDIR 環境変数を設定します。
    #$COBDIR/bin/cobsetenv $COBDIR
  3. 次のように java トリガを使用してみます。
    #java -version
    これにより、バージョン情報が出力されるはずです。代わりに "java: Could not load libjvm.so" というエラー・メッセージが出力された場合は、トリガが JVM ランタイム・ライブラリを検出できないことを意味しています。トリガが機能するためには、これを LD_LIBRARY_PATH (AIX/HP_UX 上の LIBPATH) に追加する必要があります。libjvm.so の正確な場所は JVM ごとに異なります。Linux 上の 32 ビット Oracle 1.6.27 VM の場合、必要なコマンドは次のとおりです。
    #JAVA_LIB=$JAVA_HOME/jre/lib/i386/server
    #export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_LIB
  4. Tomcat を起動するには、次のコマンドを実行します。
    #startup.sh
  5. Web ページ localhost:8080 に移動すると、Tomcat ランディング・ページが表示されます。これで、JVM COBOL クラスを使用する Web アプリケーション・アーカイブは、通常の Java Web アプリケーションであれば、この Tomcat インスタンスにディプロイできるようになります。
Tomcat を停止するには、次のコマンドを実行します。
 #shutdown.sh