Tuxedo CORBA ネーム サービス

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

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
{
// 文字列を小文字に変換 (新しい文字列を返す)
string to_lower(in string val);
     // 文字列を大文字に変換 (置換)
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 コマンドによって生成されるメッセージを含んだログ ファイル。


  ページの先頭       前  次