目次 前 次 PDF


CORBAネーム・サービス・サンプル・アプリケーションの使用

CORBAネーム・サービス・サンプル・アプリケーションの使用
このトピックには次の項が含まれます:
注意:
Oracle Tuxedo CORBA JavaクライアントとOracle Tuxedo CORBA JavaクライアントORBはTuxedo 8.1で非推奨になり、サポートされなくなりました。すべてのOracle Tuxedo CORBA JavaクライアントおよびOracle Tuxedo CORBA JavaクライアントORBのテキスト・リファレンスとコード・サンプルは、サード・パーティのJava ORBライブラリを実装または実行する際の参考や、プログラマの参照用としてのみ使用してください。
サード・パーティのCORBA Java ORBのテクニカル・サポートは、各ベンダーによって提供されます。Oracle Tuxedoでは、サード・パーティのCORBA Java ORBに関する技術的なサポートまたはドキュメントは提供していません。
ネーム・サービス・サンプル・アプリケーションのしくみ
CORBAネーム・サービス・サンプル・アプリケーションは、Simpappサンプル・アプリケーションを変更したものです。このサンプル・アプリケーションでは、CORBA C++のクライアントとサーバーを提供します。ネーム・サービス・サンプル・アプリケーションは、ネームスペースを使用してSimpleFactoryオブジェクトを格納します。サーバー・アプリケーションは、SimpleFactoryオブジェクトを作成し、それをネームスペースにバインドします。クライアント・アプリケーションは、ネームスペースに接続し、SimpleFactoryオブジェクトの名前を解決して、SimpleFactoryのメソッドを呼び出します。図4-1では、ネーム・サービス・サンプル・アプリケーションのしくみを示しています。
図4-1 ネーム・サービス・サンプル・アプリケーション
 
 
ネーム・サービス・サンプル・アプリケーションは、表4-1のリストにあるCORBAインタフェースを実装します。
 
表4-1 ネーム・サービス・サンプル・アプリケーションのCORBAインタフェース
インタフェース
説明
操作
SimpleFactory
Simpleオブジェクトのオブジェクト参照を作成します。
find_simple()
Simple
文字列の大文字と小文字を変換します。
to_upper()
to_lower()
リスト4-1は、ネーム・サービス・サンプル・アプリケーションのCORBAインタフェースを定義するsimple.idlファイルを示しています。
リスト4-1 ネーム・サービス・サンプル・アプリケーションのOMG IDLコード
#pragma prefix "beasys.com"
interface Simple
{
     //Convert a string to lower case (return a new string)
     string to_lower(in string val);
     //Convert a string to upper case (in place)
     void to_upper(inout string val);
};
interface SimpleFactory
{
     Simple find_simple();
};
 
ネーム・サービス・サンプル・アプリケーションのビルドと実行
ネーム・サービス・サンプル・アプリケーションをビルドおよび実行するには、次の手順に従います。
1.
ネーム・サービス・サンプル・アプリケーションのファイルを作業ディレクトリにコピーします。
2.
作業ディレクトリのファイルに対する権限を変更します。
3.
環境変数で定義した場所を確認します。
4.
runmeコマンドを実行します。
ステップ1: ネーム・サービス・サンプル・アプリケーションのファイルを作業ディレクトリにコピーする
ネーム・サービス・サンプル・アプリケーションのファイルを、ローカル・マシンの作業ディレクトリにコピーします。作業ディレクトリでサンプル・アプリケーションを実行すると、サンプル実行時に作成されたファイルを識別できるようになります。以下のセクションでは、ネーム・サービス・サンプル・アプリケーションのディレクトリの場所とソース・ファイルの詳細を説明します。
CORBA C++クライアントおよびサーバー・バージョンのネーム・サービス・サンプル・アプリケーション
ネーム・サービス・サンプル・アプリケーションのファイルは、次のディレクトリにあります。
Windows
drive:\tuxdir\samples\corba\cnssimpapp
UNIX
/usr/local/tuxdir/samples/corba/cnssimpapp
表4-2にリストされているファイルを使用して、ネーム・サービス・サンプル・アプリケーションをビルドおよび実行します。
 
表4-2 ネーム・サービス・サンプル・アプリケーションに含まれるファイル
ファイル
説明
simple.idl
SimpleインタフェースとSimpleFactoryインタフェースを宣言するOMG IDLコード。
simples.cpp
ネーム・サービス・サンプル・アプリケーションのCORBAサーバー・アプリケーションのC++ソース・コード。
simplec.cpp
ネーム・サービス・サンプル・アプリケーションのCORBAクライアント・アプリケーションのC++ソース・コード。
simple_i.cpp
SimpleメソッドとSimpleFactoryメソッドを実装するC++ソース・コード。
simple_i.h
SimpleメソッドとSimpleFactoryメソッドの実装を定義するC++ヘッダー・ファイル。
Readme.txt
C++クライアントとサーバーのネーム・サービス・サンプル・アプリケーションのビルドと実行に関する情報を提供します。
runme.cmd
ネーム・サービス・サンプル・アプリケーションをビルドおよび実行するWindowsコマンド。
runme.ksh
ネーム・サービス・サンプル・アプリケーションをビルドおよび実行するUNIX Kornシェル・スクリプト。
makefile.mk
UNIXオペレーティング・システムのネーム・サービス・サンプル・アプリケーションのmakefile。このファイルは、ネーム・サービス・サンプル・アプリケーションを手動でビルドするのに使用します。詳細は、Readme.txtを参照してください。実行可能なUNIX makeコマンドの場所は、PATH環境変数で定義する必要があります。
makefile.nt
Windowsオペレーティング・システムのネーム・サービス・サンプル・アプリケーションのmakefile。このmakefileは、Visual C++のnmakeコマンドで直接使用できます。このファイルは、ネーム・サービス・サンプル・アプリケーションを手動でビルドするのに使用します。詳細は、Readme.txtを参照してください。実行可能なWindows nmakeコマンドの場所は、PATH環境変数で定義する必要があります。
ステップ2: ネーム・サービス・サンプル・アプリケーションのファイルに対する保護属性を変更する
サンプル・アプリケーションのファイルは、読取り専用のパーミッション・レベルでインストールされます。ネーム・サービス・サンプル・アプリケーションのファイルを編集またはビルドする前に、作業ディレクトリにコピーするファイルの保護属性を次のように変更する必要があります。
Windows
prompt> attrib -r drive:\workdirectory\*.*
UNIX
1.
prompt> /bin/ksh
2.
ksh prompt> chmod u+w /workdirectory/*.*
また、UNIXプラットフォームでは、ファイルに実行権限を与えるためにrunme.kshのパーミッションを次のように変更する必要もあります。
ksh prompt> chmod +x runme.ksh
ステップ3:環境変数の設定を確認する
ネーム・サービス・サンプル・アプリケーションを実行する前に、一部の環境変数が正しい場所で定義されていることを確認する必要があります。ほとんどの場合、環境変数はインストール手順の一部として設定されます。一部の環境変数は、runmeコマンドの実行時に設定されます。環境変数をチェックして、正しい情報を反映していることを確認する必要があります。
表4-3に、ネーム・サービス・サンプル・アプリケーションの実行に必要な環境変数を示します。
 
表4-3 ネーム・サービス・サンプル・アプリケーションで必須の環境変数
環境変数
説明
APPDIR
runmeコマンドを実行すると、この環境変数がカレント・ディレクトリの絶対パス名に設定されます。サンプル・アプリケーション・ファイルのコピー先ディレクトリからrunmeコマンドを実行します。例:
Windows
APPDIR=C:¥workdirectory¥cnssimpapp
UNIX
APPDIR=/usr/workdirectory/cnssimpapp
RESULTSDIR
runmeコマンドを実行すると、この環境変数は、APPDIR環境変数で定義された場所の下位ディレクトリresultsに設定されます。
Windows
RESULTSDIR=%APPDIR%\results
UNIX
RESULTSDIR=$APPDIR\results
TUXCONFIG
runmeコマンドを実行すると、この環境変数は、構成ファイルのディレクトリ・パスとファイル名に設定されます。
Windows
TUXCONFIG=%RESULTSDIR%\tuxconfig
UNIX
TUXCONFIG=$RESULTSDIR/tuxconfig
インストール時に定義された環境変数の情報が正しいかどうかを確認するには、以下の手順を実行します。
Windows
1.
「スタート」メニューの、「設定」をポイントします。
2.
「設定」メニューから、「コントロール・パネル」をクリックします。
「コントロール・パネル」が表示されます。
3.
「システム」アイコンをクリックします。
「システムのプロパティ」ウィンドウが表示されます。
4.
「詳細」タブの「環境変数」をクリックします。
「環境変数」ページが表示されます。
5.
環境変数の設定をチェックします。
UNIX
ksh prompt> printenv TUXDIR
設定を変更するには、以下の手順を実行します。
Windows
1.
「システムのプロパティ」ウィンドウの「環境」ページで、変更する環境変数をクリックするか、「変数」フィールドに環境変数の名前を入力します。
2.
」フィールドに、環境変数の正しい情報を入力します。
3.
「OK」をクリックして変更を保存します。
UNIX
ksh prompt> export TUXDIR=directorypath
ステップ4: runmeコマンドを実行する
runmeコマンドは、以下の手順を最初から最後まで実行します。
1.
システム環境変数を設定します。
2.
UBBCONFIGファイルをロードします。
3.
クライアント・アプリケーションのコードをコンパイルします。
4.
サーバー・アプリケーションのコードをコンパイルします。
5.
tmbootコマンドを使用してサーバー・アプリケーションを起動します。
6.
クライアント・アプリケーションを起動します。
7.
tmshutdownコマンドを使用してサーバー・アプリケーションを終了します。
注意:
ネーム・サービス・サンプル・アプリケーションを手動で実行することもできます。ネーム・サービス・サンプル・アプリケーションを手動で実行する手順については、Readme.txtファイルで説明しています。
ネーム・サービス・サンプル・アプリケーションをビルドおよび実行するには、次のようにrunmeコマンドを入力します。
Windows
prompt> cd workdirectory
prompt> runme
UNIX
ksh prompt> cd workdirectory
ksh prompt> ./runme.ksh
ネーム・サービス・サンプル・アプリケーションが最初から最後まで正常に実行されると、次の一連のメッセージが出力されます。
Testing NameService simpapp
cleaned up
prepared
built
loaded ubb
booted
ran
shutdown
saved results
PASSED
表4-4では、runmeコマンドで作業ディレクトリ内に生成されたファイルを示しています。
 
表4-4 runmeコマンドで生成されるC++ファイル
ファイル
説明
simple_c.cpp
idl コマンドによって生成されます。このファイルは、SimpleFactoryインタフェースとSimpleインタフェースのクライアント・スタブを格納します。
simple_c.h
idl コマンドによって生成されます。このファイルは、SimpleFactoryインタフェースとSimpleインタフェースのクライアント定義を格納します。
simple_s.cpp
idl コマンドによって生成されます。このファイルは、SimpleFactoryインタフェースとSimpleインタフェースのサーバー・スケルトンを格納します。
simple_s.h
idl コマンドによって生成されます。このファイルは、SimpleFactoryインタフェースとSimpleインタフェースのサーバー定義を格納します。
.adm/.keybd
セキュリティ暗号鍵データベースを格納するファイルです。サブディレクトリは、runmeコマンドのtmloadcfコマンドによって生成されます。
results
runmeコマンドで作成されたディレクトリ。APPDIR環境変数によって定義された場所の下位にあります。
 
表4-5に、runmeコマンドでresultsディレクトリ内に生成されるファイルを示します。
 
表4-5 runmeコマンドでresultsディレクトリに生成されるファイル
ファイル
説明
input
runmeコマンドがJavaクライアント・アプリケーションに提供する入力を格納します。
output
runmeコマンドがJavaクライアント・アプリケーションを実行するときに生成される出力を格納します。
expected_output
runmeコマンドがJavaクライアント・アプリケーションを実行するときに予測される出力を格納します。テストに成功したか失敗したかを判別するために、outputファイルのデータはexpected_outputファイルのデータと比較されます。
log
runmeコマンドで生成される出力を格納します。runmeコマンドが失敗すると、このファイルのエラーをチェックします。
setenv.cmd
Windowsオペレーティング・システム・プラットフォームのネーム・サービス・サンプル・アプリケーションのビルドと実行に必要な環境変数を設定するためのコマンドを格納します。
setenv.ksh
UNIXオペレーティング・システム・プラットフォームのネーム・サービス・サンプル・アプリケーションのビルドと実行に必要な環境変数を設定するためのコマンドを格納します。
stderr
tmbootコマンドによって生成されるコマンドからの出力です。このコマンドは、runmeコマンドによって実行されます。-noredirect JavaServerオプションがUBBCONFIGファイルで指定されている場合、System.err.printlnメソッドは、ULOGファイルではなく、stderrファイルに出力を送信します。
stdout
tmbootコマンドによって生成される出力です。このコマンドは、runmeコマンドによって実行されます。-noredirect JavaServerオプションがUBBCONFIGファイルで指定されている場合、System.out.printlnメソッドは、ULOGファイルではなく、stdoutファイルに出力を送信します。
tmsysevt.dat
TMSYSEVT (システム・イベント・レポート)プロセスで使用するフィルタ規則および通知規則を格納します。このファイルは、runmeコマンドのtmbootコマンドによって生成されます。
tuxconfig
バイナリ形式のUBBCONFIGファイル。
ubb
Java ネーム・サービス・サンプル・アプリケーション用のUBBCONFIGファイル。
ULOG.date
tmbootコマンドによって生成されるメッセージを含んだログ・ファイル。
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved