CORBAネーム・サービスの使用

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

CORBA Name Serviceサンプル・アプリケーションの使用

ここでは、以下の内容について説明します。

注意: 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に関する技術的なサポートやドキュメントは提供していません。

 


Name Serviceサンプル・アプリケーションのしくみ

CORBA Name Serviceサンプル・アプリケーションは、Simpappサンプル・アプリケーションを変更したものです。このサンプル・アプリケーションでは、CORBA C++のクライアントとサーバーを提供します。Name Serviceサンプル・アプリケーションは、ネームスペースを使用してSimpleFactoryオブジェクトを格納します。サーバー・アプリケーションは、SimpleFactoryオブジェクトを作成し、それをネームスペースにバインドします。クライアント・アプリケーションは、ネームスペースに接続し、SimpleFactoryオブジェクトの名前を解決して、SimpleFactoryのメソッドを呼び出します。図4-1では、Name Serviceサンプル・アプリケーションのしくみを示しています。

図4-1 Name Serviceサンプル・アプリケーション

Name Serviceサンプル・アプリケーション

Name Serviceサンプル・アプリケーションは、表4-1のリストにあるCORBAインタフェースを実装します。

表4-1 Name Serviceサンプル・アプリケーションのCORBAインタフェース
インタフェース
説明
オペレーション
SimpleFactory
Simpleオブジェクトのオブジェクト参照を作成します。
find_simple()
Simple
文字列の大文字と小文字を変換します。
to_upper()
to_lower()

リスト 4-1は、Name Serviceサンプル・アプリケーションのCORBAインタフェースを定義するsimple.idlファイルを示しています。

リスト4-1 Name Serviceサンプル・アプリケーションの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();
};

 


Name Serviceサンプル・アプリケーションのビルドと実行

Name Serviceサンプル・アプリケーションをビルドおよび実行するには、次の手順に従います。

  1. Name Serviceサンプル・アプリケーションのファイルを作業ディレクトリにコピーします。
  2. 作業ディレクトリのファイルに対する権限を変更します。
  3. 環境変数で定義した場所を確認します。
  4. runmeコマンドを実行します。

ステップ1: Name Serviceサンプル・アプリケーションのファイルを作業ディレクトリにコピーする

Name Serviceサンプル・アプリケーションのファイルを、ローカル・マシンの作業ディレクトリにコピーします。作業ディレクトリでサンプル・アプリケーションを実行すると、サンプル実行時に作成されたファイルを識別できるようになります。以下のセクションでは、Name Serviceサンプル・アプリケーションのディレクトリの場所とソース・ファイルの詳細を説明します。

CORBA C++クライアントおよびサーバー・バージョンのName Serviceサンプル・アプリケーション

Name Serviceサンプル・アプリケーションのファイルは、次のディレクトリにあります。

Windows

drive:\tuxdir\samples\corba\cnssimpapp

UNIX

/usr/local/tuxdir/samples/corba/cnssimpapp

表4-2にリストされているファイルを使用して、Name Serviceサンプル・アプリケーションをビルドおよび実行します。

表4-2 Name Serviceサンプル・アプリケーションに含まれるファイル
ファイル
説明
simple.idl
SimpleインタフェースとSimpleFactoryインタフェースを宣言するOMG IDLコード。
simples.cpp
Name Serviceサンプル・アプリケーションのCORBAサーバー・アプリケーションのC++ソース・コード。
simplec.cpp
Name Serviceサンプル・アプリケーションのCORBAクライアント・アプリケーションのC++ソース・コード。
simple_i.cpp
SimpleメソッドとSimpleFactoryメソッドを実装するC++ソース・コード。
simple_i.h
SimpleメソッドとSimpleFactoryメソッドの実装を定義するC++ヘッダー・ファイル。
Readme.txt
C++クライアントとサーバーのName Serviceサンプル・アプリケーションのビルドと実行に関する情報を提供します。
runme.cmd
Name Serviceサンプル・アプリケーションをビルドおよび実行するWindowsコマンド。
runme.ksh
Name Serviceサンプル・アプリケーションをビルドおよび実行するUNIX Kornシェル・スクリプト。
makefile.mk
UNIXオペレーティング・システムのName Serviceサンプル・アプリケーションのmakefile。このファイルは、Name Serviceサンプル・アプリケーションを手動でビルドするのに使用します。詳細は、Readme.txtを参照してください。実行可能なUNIX makeコマンドの場所は、PATH環境変数で定義する必要があります。
makefile.nt
Windowsオペレーティング・システムのName Serviceサンプル・アプリケーションのmakefile。このmakefileは、Visual C++のnmakeコマンドで直接使用できます。このファイルは、Name Serviceサンプル・アプリケーションを手動でビルドするのに使用します。詳細は、Readme.txtを参照してください。実行可能なWindows nmakeコマンドの場所は、PATH環境変数で定義する必要があります。

ステップ2: Name Serviceサンプル・アプリケーションのファイルに対する保護属性を変更する

サンプル・アプリケーションのファイルは、読取り専用のパーミッション・レベルでインストールされます。Name Serviceサンプル・アプリケーションのファイルを編集またはビルドする前に、作業ディレクトリにコピーするファイルの保護属性を次のように変更する必要があります。

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:環境変数の設定を確認する

Name Serviceサンプル・アプリケーションを実行する前に、一部の環境変数が正しい場所で定義されていることを確認する必要があります。ほとんどの場合、環境変数はインストール手順の一部として設定されます。一部の環境変数は、runmeコマンドの実行時に設定されます。環境変数をチェックして、正しい情報を反映していることを確認する必要があります。

表4-3に、Name Serviceサンプル・アプリケーションの実行に必要な環境変数を示します。

表4-3 Name Serviceサンプル・アプリケーションで必須の環境変数
環境変数
説明
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. 「システムのプロパティ」ウィンドウが表示されます。

  6. 「詳細」タブの「環境変数」をクリックします。
  7. 「環境変数」ページが表示されます。

  8. 環境変数の設定をチェックします。

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コマンドを使用してサーバー・アプリケーションを終了します。
注意: Name Serviceサンプル・アプリケーションを手動で実行することもできます。Name Serviceサンプル・アプリケーションを手動で実行する手順については、Readme.txtファイルで説明しています。

Name Serviceサンプル・アプリケーションをビルドおよび実行するには、次のようにrunmeコマンドを入力します。

Windows

prompt> cd workdirectory

prompt> runme

UNIX

ksh prompt> cd workdirectory

ksh prompt> ./runme.ksh

Name Serviceサンプル・アプリケーションが最初から最後まで正常に実行されると、次の一連のメッセージが出力されます。

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オペレーティング・システム・プラットフォームのName Serviceサンプル・アプリケーションのビルドと実行に必要な環境変数を設定するためのコマンドを格納します。
setenv.ksh
UNIXオペレーティング・システム・プラットフォームのName Serviceサンプル・アプリケーションのビルドと実行に必要な環境変数を設定するためのコマンドを格納します。
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 Name Serviceサンプル・アプリケーション用のUBBCONFIGファイル。
ULOG.date
tmbootコマンドによって生成されるメッセージを含んだログ・ファイル。


  先頭に戻る       前  次