(8) Portable-ORBのJava連携機能で使用できるサンプルプログラムの実行例を説明します。
Java言語のCORBAアプリケーションをコンパイル、実行するためには、環境設定を行う必要があります。ORBの指定については、“5.4.2 ORB(Object Request Broker)の指定”を参照してください。クライアントの環境設定については、“5.6 クライアントの環境設定(Portable-ORB)”を参照してください。サーバの環境設定については、“5.7 サーバの環境設定”を参照してください。また、アプレットを実行する場合は、事前に“5.21.2 クライアント環境でのアプレット運用時の注意事項”を参照してください。
サンプルプログラムは、以下のディレクトリ配下に格納されています。
種別 | ディレクトリ(注) | 備考 |
---|---|---|
$OD_SAMPLES/complex/samplelist.Java/data/* |
| |
$OD_SAMPLES/POA/java_1_4/* |
| |
$PORB_SAMPLES/CalcSample/java |
| |
$OD_SAMPLES/complex/samplelist.Java/API/net_disconnect |
| |
$OD_SAMPLES/complex/samplelist.Java/API/set_client_request_timer |
| |
$OD_SAMPLES/complex/samplelist.Java/API/string_to_object |
|
注)
ここで使用している環境変数は、以下です(Interstageのインストールパス:デフォルト)。
環境変数 | 値 | 備考 |
---|---|---|
OD_SAMPLES | /opt/FSUNod/src/samples | |
/opt/FJSVod/src/samples | ||
PORB_SAMPLES | /opt/FJSVporb/src/samples |
|
注意
Portable-ORBでは、context型のデータの受け渡しができないため、context型のサンプルは実行できません。
ここでは、同一システムにCORBAサービスとPortable-ORBをインストールします。サーバアプリケーションはJavaアプリケーションで、クライアントアプリケーションがPortable-ORBを使用する場合の実行例を示します。
<作成>
“D.4.1.3 静的インタフェース/各種データ型(Java言語)”の<作成>を参照してください。
<実行>
作成したアプリケーションの実行手順を以下に示します。
環境変数CLASSPATH、LD_LIBRARY_PATH、PATHを設定します。環境変数PATHには、使用するJDK/JREのディレクトリを指定します(OD_HOME:CORBAサービスのインストールパス)。
CLASSPATH=.:$OD_HOME/etc/class/ODjava4.jar:$CLASSPATH export CLASSPATH LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH PATH=<JDK/JREのインストールパス>/bin:$PATH export PATH
サンプルアプリケーションディレクトリへ移動します。その後、registar.shを実行して、サンプルプログラムを実行するために必要なインプリメンテーションリポジトリIDとオブジェクトリファレンスを登録します。
register.sh
exec-SV.shを実行して、サーバアプリケーションを起動します。
exec-SV.sh
別端末を起動して、Portable-ORBを動作させるための環境変数CLASSPATH、PATHを指定します(PORB_HOME:Portable-ORBのインストールパス“/opt/FJSVporb”)。
CLASSPATH=.:$PORB_HOME/lib/ODporb4.jar:$PORB_HOME/lib/CosNaming4.jar:$CLASSPATH export CLASSPATH PATH=<JDK/JREのインストールパス>/bin:$PATH export PATH
サンプルアプリケーションディレクトリへ移動します。その後、exec-CL.shを実行して、クライアントアプリケーションを起動し、出力結果を確認します。
exec-CL.sh
stop-SV.shを実行して、サーバアプリケーションを停止します。
stop-SV.sh
unregister.shを実行して、不要となったサンプルプログラムのインプリメンテーションリポジトリIDとオブジェクトリファレンスを削除します。
unregister.sh
ここでは、サーバシステムにCORBAサービスを、Windows(R)クライアント上にPortable-ORBをインストールします。サーバアプリケーションはJavaアプリケーションで、クライアントアプリケーションがPortable-ORBを使用する場合の実行例を示します。
なお、Windows(R)クライアントには、Java実行環境をインストールしておいてください。
<作成>
“D.4.1.3 静的インタフェース/各種データ型(Java言語)”の<作成>を参照してください。
<実行>
作成したアプリケーションの実行手順を以下に示します。
サーバにおいて、環境変数CLASSPATH、LD_LIBRARY_PATH、PATHを設定します。環境変数PATHには、使用するJDK/JREのディレクトリを指定します(OD_HOME:CORBAサービスのインストールパス)。
CLASSPATH=.:$OD_HOME/etc/class/ODjava4.jar:$CLASSPATH export CLASSPATH LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH PATH=<JDK/JREのインストールパス>/bin:$PATH export PATH
サンプルアプリケーションディレクトリへ移動します。その後、registar.shを実行して、サンプルプログラムを実行するために必要なインプリメンテーションリポジトリIDとオブジェクトリファレンスを登録します。
register.sh
exec-SV.shを実行して、サーバアプリケーションを起動します。
exec-SV.sh &
サンプルアプリケーションディレクトリ配下にある(サブディレクトリ含む)すべてのクラスファイル(拡張子がclassであるファイル)をWindows(R)クライアントへ転送します。その際、Windows(R)クライアントのサブディレクトリ配下の構成、およびディレクトリ名(大文字/小文字)は、Solaris/Linuxサーバと同一にする必要があります。
ftpを使用した場合の例を以下に示します。Windows(R)クライアントの格納先のディレクトリ配下にODsampleディレクトリを、ODsampleディレクトリ配下にはarraytestPackageディレクトリをあらかじめ作成しておいてください。
ftp <Linuxサーバ名> : cd /opt/FJSVod/src/samples/complex/samplelist.Java/data/array bin mget *.class lcd ODsample cd ODsample mget *.class lcd arraytestPackage cd arraytestPackage mget *.class
Windows(R)クライアントにおいてPortable-ORBのORBクラスを動作させるため、ORBクラスを指定します。指定方法については、“5.4.2 ORB(Object Request Broker)の指定”を参照してください。
また、コマンドプロンプトを起動して、Portable-ORBを動作させるための環境変数CLASSPATHを指定します(PORB_HOME:Portable-ORBのインストールパス“C:\Interstage\PORB”)。
set CLASSPATH=.;%PORB_HOME%\lib\ODporb4.jar;%PORB_HOME%\lib\CosNaming4.jar;%CLASSPATH%
Portable-ORBの動作環境ファイルを設定します。porbeditenvコマンドを使用して、%PORB_HOME%に格納される動作環境ファイルのホスト情報を設定します。
クラスファイルを転送した任意のディレクトリでクライアントアプリケーションを実行し、結果を確認します。
java simple_c
サーバにおいてstop-SV.shを実行して、サーバアプリケーションを停止します。
stop-SV.sh
unregister.shを実行して、不要となったサンプルプログラムのインプリメンテーションリポジトリIDとオブジェクトリファレンスを削除します。
unregister.sh
“D.4.8.1 Portable-ORB/各種データ型”を参照してください。
ここでは、同一システム(サーバ)にCORBAサービスとPortable-ORBをインストールした上で、同一システム内のWebサーバ上にJavaアプレットを格納し、Windows(R)クライアント上にJavaアプレットとPortable-ORBをダウンロードして使用する場合の実行例を示します。
なお、Windows(R)クライアント上にJBKプラグインをインストールしておいてください。
また、ここでは以下のいずれかをサーバアプリケーションとして使用します。
種別 | ディレクトリ(注) |
---|---|
$OD_SAMPLES/CalcSample/c | |
$OD_SAMPLES/CalcSample/c++ |
注)
ここで使用している環境変数は、以下です(Interstageのインストールパス:デフォルト)。
環境変数 | 値 | 備考 |
OD_SAMPLES | /opt/FSUNod/src/samples | |
/opt/FJSVod/src/samples |
<作成/サーバ>
“D.4.1.1 静的インタフェース/各種データ型(C言語)”の<作成>を参照してください。
<作成/クライアント>
クライアントアプリケーションの作成手順を以下に示します。
クライアントアプリケーションは、サーバ上で作成します。
コマンドプロンプトを起動し、環境変数CLASSPATH、PATHを設定します(PORB_HOME:Portable-ORBのインストールパス“/opt/FJSVporb”)。
CLASSPATH=.:$PORB_HOME/lib/ODporb4.jar:$PORB_HOME/lib/CosNaming4.jar:$CLASSPATH export CLASSPATH PATH=<JDK/JREのインストールパス>/bin:$PATH export PATH
makeコマンドおよびcreate-jar.shを実行して、クライアントアプリケーションのjarアーカイブファイル(client2.jar)を作成します。
make create-jar.sh
作成したクライアントアプリケーションのjarアーカイブファイルと使用するPortable-ORBのライブラリにデジタル署名を実施し、クライアントアプリケーションを実行するWindows(R)クライアントでデジタル署名を有効とするための環境設定を行います。
デジタル署名の詳細については、“5.8.2 ダウンロードオブジェクトと署名対象オブジェクト”および“5.8.3 デジタル署名手順”を参照してください。
<実行>
作成したアプリケーションの実行手順を以下に示します。
作成したクライアントアプリケーションをWebサーバのドキュメントルート配下に存在する任意のディレクトリにコピーします(APPLETDIR:アプレットの格納パス)。
なお、client2.jarは、<作成/クライアント>の“デジタル署名の実施”でデジタル署名を実施したjarアーカイブファイルです。
mkdir $APPLETDIR cp $PORB_SAMPLES/CalcSample/java/CalcSample4.html $APPLETDIR cp $PORB_SAMPLES/CalcSample/java/CalcSample4.js $APPLETDIR cp $PORB_SAMPLES/CalcSample/java/client2.jar $APPLETDIR
Webサーバにおいて、Portable-ORBをダウンロード可能なようにリンクコマンドを使用してリンクを作成します。
なお、ODporb4_plugin.jar、CosNaming4_plugin.jar、InterfaceRep4_plugin.jarは、<作成/クライアント>の“デジタル署名の実施”でデジタル署名を実施した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
Portable-ORBの動作環境ファイルを設定します。porbeditenvコマンドを使用して、$PORB_HOMEに格納される動作環境ファイルのホスト情報を設定します。
サーバにおいて、サンプルアプリケーションディレクトリへ移動します。その後、registar.shを実行して、サンプルプログラムを実行するために必要なインプリメンテーションリポジトリIDとオブジェクトリファレンスを登録します。
register.sh
exec-SV.shを実行して、サーバアプリケーションを起動します。
exec-SV.sh &
Windows(R)クライアントにおいて、Portable-ORBのORBクラスが動作するようにORBクラスを指定します。指定方法については、“5.4.2 ORB(Object Request Broker)の指定”を参照してください。
その後、ブラウザでCalcSample4.htmlが格納されるURLを指定し、アプレットを起動します。CalcSample4.htmlをダブルクリックした場合(fileプロトコル使用)は、セキュリティチェックの対象となり、正常に動作しないことがあります。
入力画面から数値や文字を入力して“OK”をクリックし、結果を確認します。
サーバにおいてstop-SV.shを実行して、サーバアプリケーションを停止します。
stop-SV.sh
unregister.shを実行して、不要となったサンプルプログラムのインプリメンテーションリポジトリIDとオブジェクトリファレンスを削除します。
unregister.sh
<作成>
“D.4.1.3 静的インタフェース/各種データ型(Java言語)”の<作成>を参照してください。
<実行>
作成したアプリケーションの実行手順を以下に示します。
環境変数CLASSPATH、LD_LIBRARY_PATH、PATHを設定します。環境変数PATHには、使用するJDK/JREのディレクトリを指定します(OD_HOME:CORBAサービスのインストールパス)。
CLASSPATH=.:$OD_HOME/etc/class/ODjava4.jar:$CLASSPATH export CLASSPATH LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH PATH=<JDK/JREのインストールパス>/bin:$PATH export PATH
サーバにおいてSSLの環境設定を行います。SSLの環境設定については、“セキュリティシステム運用ガイド”の“CORBAサービスでSSLを利用する方法”を参照してください。
クライアントにおいてSSLの環境設定を行います。SSLの環境設定については、“セキュリティシステム運用ガイド”の“Portable-ORBでSSLを利用する方法”を参照してください。
registar.shを実行して、サンプルプログラムを実行するために必要なインプリメンテーションリポジトリIDとオブジェクトリファレンスを登録します。
register.sh
exec-SV.shを実行して、サーバアプリケーションを起動します。
exec-SV.sh &
odprtcurparamコマンドを使用して、疎通前のコネクション数(IIOP_resp_conのvalueの値)を確認します(OD_HOME:CORBAサービスのインストールパス)。
$OD_HOME/bin/odprtcurparam
別端末を起動して、Portable-ORBを動作させるための環境変数CLASSPATH/PATHを指定します(PORB_HOME:Portable-ORBのインストールパス“/opt/FJSVporb”)。
CLASSPATH=.:$PORB_HOME/lib/ODporb4.jar:$PORB_HOME/lib/CosNaming4.jar:$CLASSPATH export CLASSPATH PATH=<JDK/JREのインストールパス>/bin:$PATH export PATH
exec-CL.shを実行してクライアントアプリケーションを起動します。
exec-CL.sh
サーバ側のコマンドプロンプトにおいてodprtcurparamコマンドを使用して、疎通後のコネクション数(IIOP_resp_conのvalueの値)が疎通前より1だけ増加していることを確認します。
$OD_HOME/bin/odprtcurparam
クライアント側のコマンドプロンプトにおいてEnterキーを押下し、クライアントアプリケーションを終了します。
stop-SV.shを実行して、サーバアプリケーションを停止します。
stop-SV.sh
unregister.shを実行して、不要となったサンプルプログラムのインプリメンテーションリポジトリIDとオブジェクトリファレンスを削除します。
unregister.sh
ポイント
クライアントアプリケーションにおいて、com.fujitsu.ObjectDirector.CORBA.ORB.net_disconnectをコメントアウトした上で作成/実行することにより、APIが通信資源(コネクション数)に与える影響を確認できます。
該当のAPIをコメントアウトしたアプリケーションでは通信資源が解放されないため、“9. コネクション数の確認(疎通後)”においてコネクション数は疎通前より2だけ増加します。
net_disconnectのサーバアプリケーションは、ワークユニット上で動作させることも可能です。
サーバアプリケーションをワークユニット上で動作させる場合は、“D.4.1.3 静的インタフェース/各種データ型(Java言語)”のポイントを参照してください。
注意
サーバ側無通信監視機能/クライアント側無通信監視機能の影響により、“9. コネクション数の確認(疎通後)”において期待する結果が得られないことがあります。この場合、再度アプリケーションを実行してください。
“D.4.8.1 Portable-ORB/各種データ型”を参照してください。
ポイント
set_client_request_timerのサーバアプリケーションは、ワークユニット上で動作させることも可能です。
サーバアプリケーションをワークユニット上で動作させる場合は、“D.4.1.3 静的インタフェース/各種データ型(Java言語)”のポイントを参照してください。
<作成>
“D.4.1.3 静的インタフェース/各種データ型(Java言語)”の<作成>を参照してください。
<実行>
作成したアプリケーションの実行手順を以下に示します。
環境変数CLASSPATH、LD_LIBRARY_PATH、PATHを設定します。環境変数PATHには、使用するJDK/JREのディレクトリを指定します(OD_HOME:CORBAサービスのインストールパス)。
CLASSPATH=.:$OD_HOME/etc/class/ODjava4.jar:$CLASSPATH export CLASSPATH LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH PATH=<JDK/JREのインストールパス>/bin:$PATH export PATH
registar.shを実行して、サンプルプログラムを実行するために必要なインプリメンテーションリポジトリIDの登録、およびオブジェクトリファレンスのファイル出力を実行します。
register.sh
exec-SV.shを実行して、サーバアプリケーションを起動します。
exec-SV.sh &
別端末を起動して、Portable-ORBを動作させるための環境変数CLASSPATH/PATHを指定します(PORB_HOME:Portable-ORBのインストールパス“/opt/FJSVporb”)。
CLASSPATH=.:$PORB_HOME/lib/ODporb4.jar:$PORB_HOME/lib/CosNaming4.jar:$CLASSPATH export CLASSPATH PATH=<JDK/JREのインストールパス>/bin:$PATH export PATH
exec-CL.shを実行してクライアントアプリケーションを起動し、出力結果を確認します。なお、必要に応じて、Interstageのインストール環境にあわせてexec-CL.shを修正してください。
exec-CL.sh
stop-SV.shを実行して、サーバアプリケーションを停止します。
stop-SV.sh
unregister.shを実行して、不要となったサンプルプログラムのインプリメンテーションリポジトリIDとオブジェクトリファレンスを削除します。
unregister.sh
ポイント
string_to_objectのサーバアプリケーションは、ワークユニット上で動作させることも可能です。
サーバアプリケーションをワークユニット上で動作させる場合は、“D.4.1.3 静的インタフェース/各種データ型(Java言語)”のポイントを参照してください。