Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

付録E サンプルプログラム(Solaris(TM) Operating Environment/Linux)> E.2 Portable-ORBのサンプルプログラム

E.2.1 実行手順

 本項では、Portable-ORBのJava連携機能で使用できるサンプルプログラムの実行手順について説明します。

 サンプルプログラムは、以下のディレクトリの配下に格納されています。

種別

サブディレクトリ

各種データ型

$SAMPLES/complex/samplelist.Java/data/* (注1)

POAインタフェース

$SAMPLES/POA/java/* (注1)

四則演算

$PORB_SAMPLES/CalcSample/java

注1) Java言語のサンプルプログラムが使用可能

 プログラム実行例では、以下のディレクトリ・変数を使用します。
 ・$SAMPLES: CORBAサービスのサンプルプログラム格納パス($OD_HOME/src/samples)
 ・$OD_HOME: CORBAサービスのインストールパス
  
  /opt/FSUNod(デフォルト時)
  環境変数として登録する方法は以下のとおりです。
   OD_HOME=/opt/FSUNod
   export OD_HOME
  
  /opt/FJSVod
  環境変数として登録する方法は以下のとおりです。
   OD_HOME=/opt/FJSVod
   export OD_HOME
 ・$PORB_SAMPLES: Portable-ORBのサンプルプログラム格納パス($PORB_HOME/src/samples)
 ・$PORB_HOME: Portable-ORBのインストールパス
   /opt/FJSVporb(デフォルト)

(1)各種データ型、POAインタフェース


 各種データ型、POAインタフェースのサンプルプログラムの実行方法として、complex/samplelist.Java/data/arrayの実行例を説明します。ここでは、同一システムにCORBAサービスとPortable-ORBをインストールします。サーバアプリケーションはJavaアプリケーションで、クライアントアプリケーションがPortable-ORBを使用する場合の実行例を示します。

[Solaris OEサーバ]

  1. 環境変数CLASSPATHを設定します。$OD_HOMEについては備考を参照してください。
    <JDK/JRE 1.1.8での運用時>
     CLASSPATH=.:$OD_HOME/etc/class/ODjava.jar:$CLASSPATH
     export CLASSPATH
    <JDK/JRE1.2.2またはJDK/JRE1.3での運用時>
     CLASSPATH=.:$OD_HOME/etc/class/ODjava2.jar:$CLASSPATH
     export CLASSPATH
    <JDK/JRE1.4での運用時>
     CLASSPATH=.:$OD_HOME/etc/class/ODjava4.jar:$CLASSPATH
     export CLASSPATH
  2. 環境変数LD_LIBRARY_PATHを設定します。$OD_HOMEについては備考を参照してください。
     LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH
     export LD_LIBRARY_PATH
  3. 以下のディレクトリへ現ディレクトリを移動します。
     cd $SAMPLES/complex/samplelist.Java/data/array
  4. サーバ、およびクライアントアプリケーションを作成します。
     make
  5. サンプルプログラムを実行するために必要なインプリメンテーションリポジトリIDとオブジェクトリファレンスを登録します。
     register
  6. サーバアプリケーションをバックグラウンドで実行します。
     exec-SV &
  7. 別端末を起動して、Portable-ORBを動作させるための環境変数CLASSPATHを指定します。
    <JDK/JRE 1.1.8での運用時>
     CLASSPATH=.:$PORB_HOME/lib/ODporb.jar:$PORB_HOME/lib/CosNaming.jar:$CLASSPATH
     export CLASSPATH
    <JDK/JRE1.2.2またはJDK/JRE1.3での運用時>
     CLASSPATH=.:$PORB_HOME/lib/ODporb2.jar:$PORB_HOME/lib/CosNaming2.jar:$CLASSPATH
     export CLASSPATH
    <JDK/JRE1.4での運用時>
     CLASSPATH=.:$PORB_HOME/lib/ODporb4.jar:$PORB_HOME/lib/CosNaming4.jar:$CLASSPATH
     export CLASSPATH
  8. 以下のディレクトリへ現ディレクトリを移動します。
     cd $SAMPLES/complex/samplelist.Java/data/array
  9. クライアントアプリケーションを実行します。
     exec-CL
     <実行結果が表示されます>
  10. サーバアプリケーションを終了させます。
  11. 不要となったサンプルプログラムのインプリメンテーションリポジトリIDとオブジェクトリファレンスを削除します。
     unregister


 各種データ型、POAインタフェースのサンプルプログラムの実行方法として、complex/samplelist.Java/data/arrayの実行例を説明します。ここでは、サーバシステムにCORBAサービスを、Windows(R)クライアント上にPortable-ORBをインストールします。サーバアプリケーションはJavaアプリケーションで、クライアントアプリケーションがPortable-ORBを使用する場合の実行例を示します。
 なお、Windows(R)クライアントには、Java実行環境をインストールしておいてください。

[Linuxサーバ]

  1. 環境変数CLASSPATHを設定します。$OD_HOMEについては備考を参照してください。
    <JDK/JRE1.3での運用時>
     CLASSPATH=.:$OD_HOME/etc/class/ODjava2.jar:$CLASSPATH
     export CLASSPATH
    <JDK/JRE1.4での運用時>
     CLASSPATH=.:$OD_HOME/etc/class/ODjava4.jar:$CLASSPATH
     export CLASSPATH
  2. 環境変数LD_LIBRARY_PATHを設定します。$OD_HOMEについては備考を参照してください。
     LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH
     export LD_LIBRARY_PATH
  3. 以下のディレクトリへ現ディレクトリを移動します。
     cd $SAMPLES/complex/samplelist.Java/data/array
  4. サーバ、およびクライアントアプリケーションを作成します。
     make
  5. サンプルプログラムを実行するために必要なインプリメンテーションリポジトリIDとオブジェクトリファレンスを登録します。
     register
  6. サーバアプリケーションをバックグラウンドで実行します。
     exec-SV &

[Windows(R)クライアント]

  1. Linuxサーバの$SAMPLES/complex/samplelist.Java/data/arrayディレクトリ配下(サブディレクトリ含む)にあるすべてのクラスファイル(拡張子がclassであるファイル)を、Windows(R)クライアントの任意のディレクトリ配下へバイナリ転送します。その際、Windows(R)クライアントのサブディレクトリ配下の構成、およびディレクトリ名(大文字/小文字)は、Solaris OE/Linuxサーバと同一にする必要があります。以下にftpを使用したときの例を示します。
    Windows(R)クライアントの格納先のディレクトリ配下にODsampleディレクトリを作成して、ODsampleディレクトリ配下にはarraytestPackageディレクトリをあらかじめ作成しておいてください。
     ftp <Solaris OE/Linuxサーバ名>
     :
     cd $SAMPLES/complex/samplelist.Java/data/array
     bin
     mget *.class
     lcd ODsample
     cd ODsample
     mget *.class
     lcd arraytestPackage
     cd arraytestPackage
     mget *.class
  2. Portable-ORBのORBクラスを動作させるため、ORBクラスを指定します。指定方法については、“ORB(Object Request Broker)の指定”を参照してください。
  3. Portable-ORBを動作させるため、環境変数CLASSPATHを設定します。
    <JDK/JRE1.2.2またはJDK/JRE1.3での運用時>
     set CLASSPATH=.;%PORB_HOME%\lib\ODporb2.jar;%PORB_HOME%\lib\CosNaming2.jar;%CLASSPATH%
    <JDK/JRE1.4での運用時>
     set CLASSPATH=.;%PORB_HOME%\lib\ODporb4.jar;%PORB_HOME%\lib\CosNaming4.jar;%CLASSPATH%
  4. Portable-ORBの動作環境ファイルを設定します。
    porbeditenvコマンドを使用して、%PORB_HOME%に格納される動作環境ファイルのホスト情報を設定します。
  5. クラスファイルを転送した任意のディレクトリでクライアントアプリケーションを実行します。
     java simple_c
     <実行結果が表示されます>

[Solaris OE/Linuxサーバ]

  1. サーバアプリケーションを終了させます。
  2. 不要となったサンプルプログラムのインプリメンテーションリポジトリIDとオブジェクトリファレンスを削除します。
     unregister

(2)四則演算

 四則演算のサンプルプログラムの実行方法としてCalcSample/javaの実行例を説明します。
 ここでは、同一システムにCORBAサービスとPortable-ORBをインストールします。サーバアプリケーションはC言語のアプリケーションで、Javaアプレットを同一システム上のWebサーバ上に格納して、Windows(R)クライアント上にJavaアプレットとPortable-ORBをダウンロードして使用する場合の実行例を示します。
 なお、Windows(R)クライアント上にはNetscape NavigatorまたはInternet ExplorerにJBKプラグインをインストールしておいてください。

[Solaris OE/Linuxサーバ]

  1. 以下のディレクトリへ現ディレクトリを移動します。(注1)
     cd $SAMPLES/CalcSample/c
  2. サーバアプリケーションを作成します。(注2)
     make
  3. サンプルプログラムを実行するために必要なインプリメンテーションリポジトリIDとオブジェクトリファレンスを登録します。
     register
  4. サーバアプリケーションをバックグラウンドで実行します。
     simple_s &
  5. 以下のディレクトリへ現ディレクトリを移動します。
     cd $PORB_SAMPLES/CalcSample/java
  6. クライアントアプリケーションを作成します。(注3)
    <JDK/JRE 1.1.8での運用時>
     CLASSPATH=.:$PORB_HOME/lib/ODporb.jar:$PORB_HOME/lib/CosNaming.jar:$CLASSPATH
     export CLASSPATH
     make
    <JDK/JRE1.2.2またはJDK/JRE1.3での運用時>
     CLASSPATH=.:$PORB_HOME/lib/ODporb2.jar:$PORB_HOME/lib/CosNaming2.jar:$CLASSPATH
     export CLASSPATH
     make
    <JDK/JRE1.4での運用時>
     CLASSPATH=.:$PORB_HOME/lib/ODporb4.jar:$PORB_HOME/lib/CosNaming4.jar:$CLASSPATH
     export CLASSPATH
     make
  7. 作成したクライアントアプリケーションのjarアーカイブファイル(client2.jar)を作成します。(注4)
     jar cvf client2.jar *.class ODdemo/*.class ODdemo/calculatorPackage/*.class
  8. 作成したクライアントアプリケーションのjarアーカイブファイルと使用するPortable-ORBのライブラリにデジタル署名を実施し、クライアントアプリケーションを実行するWindows(R)クライアントでデジタル署名を有効とするための環境設定を行います(注4)
    デジタル署名の詳細については、“ダウンロードオブジェクトと署名対象オブジェクト”および“keytool/jarsigner/policytoolを使用した場合のデジタル署名”を参照してください。

[Webサーバ]

  1. 作成したクライアントアプリケーションをWebサーバのドキュメントルート配下の任意のディレクトリに複写します(APPLETDIR:アプレットを格納するディレクトリです)。
    <JDK/JRE 1.1.8での運用時>
     mkdir $APPLETDIR
     mkdir $APPLETDIR/ODdemo
     mkdir $APPLETDIR/ODdemo/calculatorPackage
     cp $PORB_SAMPLES/CalcSample/java/*.class $APPLETDIR
     cp $PORB_SAMPLES/CalcSample/java/*.html $APPLETDIR
     cp $PORB_SAMPLES/CalcSample/java/ODdemo/*.class $APPLETDIR/ODdemo
     cp $PORB_SAMPLES/CalcSample/java/ODdemo/calculatorPackage/*.class $APPLETDIR/ODdemo/calculatorPackage
    <JDK/JRE1.2.2、JDK/JRE1.3またはJDK/JRE1.4での運用時>
    client2.jarは、[Solaris OE/Linuxサーバ]8.でデジタル署名を実施したjarアーカイブファイルです。
     mkdir $APPLETDIR
     cp $PORB_SAMPLES/CalcSample/java/*.html $APPLETDIR
     cp $PORB_SAMPLES/CalcSample/java/client2.jar $APPLETDIR
  2. Portable-ORBをダウンロード可能なようにリンクコマンドを使用してリンクを作成します。(注3)
    <JDK/JRE 1.1.8での運用時>
     cd $APPLETDIR
     ln -s $PORB_HOME/lib/ODporb_plugin.jar ODporb_plugin.jar
     ln -s $PORB_HOME/lib/CosNaming_plugin.jar CosNaming_plugin.jar
     ln -s $PORB_HOME/lib/InterfaceRep_plugin.jar InterfaceRep_plugin.jar
     ln -s $PORB_HOME/etc etc
    <JDK/JRE1.2.2またはJDK/JRE1.3での運用時>
    ODporb2_plugin.jar, CosNaming2_plugin.jar, InterfaceRep2_plugin.jarは、[Solaris OE/Linuxサーバ]8.でデジタル署名を実施したjarアーカイブファイルです。
     cd $APPLETDIR
     ln -s $PORB_HOME/lib/ODporb2_plugin.jar ODporb2_plugin.jar
     ln -s $PORB_HOME/lib/CosNaming2_plugin.jar CosNaming2_plugin.jar
     ln -s $PORB_HOME/lib/InterfaceRep2_plugin.jar InterfaceRep2_plugin.jar
     ln -s $PORB_HOME/etc etc
    <JDK/JRE1.4での運用時>
    ODporb4_plugin.jar, CosNaming4_plugin.jar, InterfaceRep4_plugin.jarは、[Solaris OE/Linuxサーバ]8.でデジタル署名を実施したjarアーカイブファイルです。
     cd $APPLETDIR
     ln -s $PORB_HOME/lib/ODporb4_plugin.jar ODporb4_plugin.jar
     ln -s $PORB_HOME/lib/CosNaming4_plugin.jar CosNaming4_plugin.jar
     ln -s $PORB_HOME/lib/InterfaceRep4_plugin.jar InterfaceRep4_plugin.jar
     ln -s $PORB_HOME/etc etc
  3. Solaris OE/Linuxシステムでは、HTMLファイルにjarアーカイブファイルをダウンロードするための記述を追加します。(注4)
    以下のように、<PARAM>タグ、および<EMBED>タグのARCHIVE指定部にクライアントアプリケーションのjarアーカイブファイル(client2.jar)を追加します。また、HTMLファイルはJDK/JRE1.1.8用のJavaライブラリとなっているため、これをJDK/JRE1.2.2またはJDK/JRE1.3用、JDK/JRE1.4用に修正してください。Javaライブラリの詳細については、“クライアント環境の設定(Portable-ORB)”を参照してください。
    <JDK/JRE1.2.2またはJDK/JRE1.3での運用時>
     <PARAM NAME="ARCHIVE" VALUE="client2.jar,ODporb2_plugin.jar,CosNaming2_plugin.jar,InterfaceRep2_plugin.jar">
     <EMBED ... ARCHIVE="client2.jar,ODporb2_plugin.jar,CosNaming2_plugin.jar,InterfaceRep2_plugin.jar" ... >
    <JDK/JRE1.4での運用時>
     <PARAM NAME="ARCHIVE" VALUE="client2.jar,ODporb4_plugin.jar,CosNaming4_plugin.jar,InterfaceRep4_plugin.jar">
     <EMBED ... ARCHIVE="client2.jar,ODporb4_plugin.jar,CosNaming4_plugin.jar,InterfaceRep4_plugin.jar" ... >
  4. Portable-ORBの環境ファイルの設定を行います。
    porbeditenvコマンドを使用して、$PORB_HOMEに格納される動作環境ファイルのホスト情報を設定します。

[Windows(R)クライアント]

  1. Portable-ORBのORBクラスが動作するようにORBクラスの指定を行います。(注4)
    指定方法については、“ORB(Object Request Broker)の指定”を参照してください。
  2. ブラウザでCalcSample.htmlが格納されるURLを指定し、アプレットを起動します。
  3. 入力画面から数値や文字を入力して"OK"をクリックします。

[Solaris OE/Linuxサーバ]

  1. サーバアプリケーションを終了させます。
  2. 不要となったサンプルプログラムのインプリメンテーションリポジトリIDとオブジェクトリファレンスを削除します。
     unregister

注1) 本サンプルプログラムを実行するときは、以下のどちらかのサーバアプリケーションを使用します。
 ・CalcSample/c
 ・CalcSample/c++

注2) C++言語のサンプルプログラムのコンパイル時に、以下のような警告メッセージが出力されることがありますが、動作上は問題ありません。

 "simple_stub_c++.C", line 172: warning:_result used before set

 xxx.C: In function `void _dt_intf1 (void *)':
 xxx.C:xx: warning: ...

注3) Solaris OEシステムでは、使用するJDK/JREの環境により指定するJavaライブラリが異なります。Javaライブラリの詳細については、“クライアント環境の設定(Portable-ORB)”を参照してください。

注4) Solaris OEシステムでJDK/JRE1.1.8を使用する場合は、本作業を行う必要はありません。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005