(8) Portable-ORBのJava連携機能で使用できるサンプルプログラムの実行例を説明します。
Java言語のCORBAアプリケーションをコンパイル、実行するためには、環境設定を行う必要があります。ORBの指定については“5.4.2 ORB(Object Request Broker)の指定”を、クライアントの環境設定については“5.6 クライアントの環境設定(Portable-ORB)”を、サーバの環境設定については“5.7 サーバの環境設定”を参照してください。また、アプレットを実行する場合は、事前に“5.21.2 クライアント環境でのアプレット運用時の注意事項”を参照してください。
サンプルプログラムは、以下のディレクトリ配下に格納されています。
種別 | ディレクトリ (注1) | 備考 |
---|---|---|
$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 |
|
注1)
ここで使用している環境変数は以下のとおりです。なお、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 |
注)
JDKのインストールパス(/opt/FJSVawjbk/jdk5)は使用するJDK, JREのバージョンに合わせて変更してください。使用するJDK, JREを変更した場合は、JDK,JREのバージョンに合わせて環境変数CLASSPATHも変更してください。
サンプルアプリケーションディレクトリへ移動します。その後、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 |
注)
JDKのインストールパス(/opt/FJSVawjbk/jdk5)は使用するJDK, JREのバージョンに合わせて変更してください。使用するJDK, JREを変更した場合は、JDK,JREのバージョンに合わせて環境変数CLASSPATHも変更してください。
サンプルアプリケーションディレクトリへ移動します。その後、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 |
注)
JDKのインストールパス(/opt/FJSVawjbk/jdk5)は使用するJDK, JREのバージョンに合わせて変更してください。使用するJDK, JREを変更した場合は、JDK,JREのバージョンに合わせて環境変数CLASSPATHも変更してください。
サンプルアプリケーションディレクトリへ移動します。その後、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サーバ名> |
Windows(R)クライアントにおいてPortable-ORBのORBクラスを動作させるため、ORBクラスを指定します。指定方法については、“5.4.2 ORB(Object Request Broker)の指定”を参照してください。
また、コマンドプロンプトを起動して、Portable-ORBを動作させるための環境変数CLASSPATHを指定します(PORB_HOME:Portable-ORBのインストールパス(C:\Interstage\PORB))。使用するJDK, JREを変更した場合は、JDK,JREのバージョンに合わせて環境変数CLASSPATHも変更してください。
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プラグインをインストールしておいてください。
また、ここでは以下のいずれかをサーバアプリケーションとして使用します。
種別 | ディレクトリ (注1) |
---|---|
$OD_SAMPLES/CalcSample/c | |
$OD_SAMPLES/CalcSample/c++ |
注1)
ここで使用している環境変数は以下のとおりです。なお、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 |
注)
JDKのインストールパス(/opt/FJSVawjbk/jdk5)は使用するJDK, JREのバージョンに合わせて変更してください。使用するJDK, JREを変更した場合は、JDK,JREのバージョンに合わせて環境変数CLASSPATHも変更してください。
makeコマンド、およびcreate-jar.shを実行して、クライアントアプリケーションのjarアーカイブファイル(client2.jar)を作成します。
make |
作成したクライアントアプリケーションのjarアーカイブファイルと使用するPortable-ORBのライブラリにデジタル署名を実施し、クライアントアプリケーションを実行するWindows(R)クライアントでデジタル署名を有効とするための環境設定を行います。
デジタル署名の詳細については、“5.8.2 ダウンロードオブジェクトと署名対象オブジェクト”および“5.8.4 デジタル署名手順(keytool/jarsigner/policytool)”を参照してください。
<実行>
作成したアプリケーションの実行手順を以下に示します。
作成したクライアントアプリケーションをWebサーバのドキュメントルート配下に存在する任意のディレクトリにコピーします(APPLETDIR:アプレットの格納パス)。
なお、client2.jarは<作成/クライアント>の“デジタル署名の実施”でデジタル署名を実施したjarアーカイブファイルです。
mkdir $APPLETDIR |
Webサーバにおいて、Portable-ORBをダウンロード可能なようにリンクコマンドを使用してリンクを作成します。
なお、ODporb4_plugin.jar, CosNaming4_plugin.jar, InterfaceRep4_plugin.jarは<作成/クライアント>の“デジタル署名の実施”でデジタル署名を実施したjarアーカイブファイルです。
cd $APPLETDIR |
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 |
注)
JDKのインストールパス(/opt/FJSVawjbk/jdk5)は使用するJDK, JREのバージョンに合わせて変更してください。使用するJDK, JREを変更した場合は、JDK,JREのバージョンに合わせて環境変数CLASSPATHも変更してください。
サーバにおいて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 |
注)
JDKのインストールパス(/opt/FJSVawjbk/jdk5)は使用するJDK, JREのバージョンに合わせて変更してください。使用するJDK, JREを変更した場合は、JDK,JREのバージョンに合わせて環境変数CLASSPATHも変更してください。
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 |
注)
JDKのインストールパス(/opt/FJSVawjbk/jdk5)は使用するJDK, JREのバージョンに合わせて変更してください。使用するJDK, JREを変更した場合は、JDK,JREのバージョンに合わせて環境変数CLASSPATHも変更してください。
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 |
注)
JDKのインストールパス(/opt/FJSVawjbk/jdk5)は使用するJDK, JREのバージョンに合わせて変更してください。使用するJDK, JREを変更した場合は、JDK,JREのバージョンに合わせて環境変数CLASSPATHも変更してください。
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言語)”のポイントを参照してください。