bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo CORBA ネーム・サービス

 Previous Next Contents Index View as PDF  

BEA Tuxedo 名前空間の管理

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

 


CORBA ネーム・サービスのインストール

BEA Tuxedo をインストールするときに、CORBA ネーム・サービスをインストールします。BEA Tuxedo のインストールの詳細については、『BEA Tuxedo システムのインストール』を参照してください。

 


CORBA ネーム・サービスのサーバ・プロセスの起動

CORBA ネーム・サービスのサーバ・プロセスを起動するには、使用している BEA Tuxedo CORBA アプリケーションの UBBCONFIG ファイルでサーバ・プロセスを定義する必要があります。CORBA ネーム・サービスのサーバ・プロセスを起動するには、cns コマンドを使用します。UBBCONFIG ファイルの CLOPT パラメータの後に、cns コマンド行オプションを入力します。BEA Tuxedo ドメインごとに実行される CORBA ネーム・サービスのサーバ・プロセスは 1 つだけです。リスト3-1 は、CORBA ネーム・サービスのサーバ・プロセスに対する UBBCONFIG エントリの例です。

コード リスト 3-1 CORBA ネーム・サービスの UBBCONFIG ファイル・エントリ

...
#
#BEA Tuxedo CORBA ネーム・サービスのサーバ・プロセス
#
cns
SRVGRP = SYS_GRP
SRVID = 6
RESTART = N
CLOPT = "-A -- -f C:¥cnsroot.dat -M 0"

cns コマンドとオプションの詳細については、CORBA ネーム・サービス・リファレンスを参照してください。コンフィギュレーション・ファイル作成の詳細については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo アプリケーションの設定』を参照してください。

CORBA ネーム・サービスのサーバ・プロセスを起動すると、名前空間の内容を表示し、名前空間内のオブジェクトを管理するために、表 3-1 のコマンドを使用できます。コマンドとオプションの詳細については、CORBA ネーム・サービス・リファレンスを参照してください。

表 3-1 BEA Tuxedo 名前空間を管理するためのコマンド

コマンド

説明

cns

BEA Tuxedo 名前空間のサーバ・プロセスを起動します。

cnsbind

アプリケーション・オブジェクトおよびネーミング・コンテキストを BEA Tuxedo 名前空間にバインドします。

cnsls

BEA Tuxedo 名前空間の内容を表示します。

cnsunbind

BEA Tuxedo 名前空間のバインディングを解除します。


 

 


名前空間の永続化

CORBA ネーム・サービスは、名前空間内に情報のコピーを 2 つ保持します。1 つはメモリ内に保持されます。このコピーにアクセスすると、高速化および名前解決の最適化が可能になります。もう 1 つのコピーは、必要に応じて永続ストレージに保存されます。このコピーでは、名前空間の状態と構造の保存および復元が可能になります。

名前空間の永続化する主な目的は、名前空間の現在実行中のインスタンスによって保持されるメモリ内のネーミング情報を現在の状態にしておくことです。名前空間の永続コピーを保持することで、CORBA ネーム・サービスは、サーバ・プロセスが終了した場合に現在のネーミング情報を再作成できます。永続ストレージ・ファイルを読み取り、最後に記録されたネーミング情報を再作成するように、CORBA ネーム・サービスのサーバ・プロセスの新しいインスタンスをコンフィギュレーションできます。

名前空間の永続コピーを作成し、そのコピーをファイルに保存するには、CORBA ネーム・サービスのサーバ・プロセスの起動時に cns コマンドの -p オプションを指定します。CORBA ネーム・サービスは、指定した場所と名前で永続ストレージ・ファイルを作成します。

-p オプションで指定した永続ストレージ・ファイルが既に存在する場合は、ファイルがオープンされ、処理されます。永続ストレージ・ファイルのバックアップは、CORBA ネーム・サービスのサーバ・プロセスが開始される前に作成されます。永続ストレージ・ファイルのバックアップ・コピーの名前は、filename.BAK です。永続ストレージ・ファイルの名前を再利用する場合、既存の永続ストレージ・ファイルを削除または移動し、CORBA ネーム・サービスのサーバ・プロセスを再起動する必要があります。

永続ストレージ・ファイルが正常に作成された場合、ファイルのエントリが ULOG ファイルに書き込まれます。エントリは、ディレクトリの場所とファイル名、ファイルが新しく作成されたかどうか、およびファイル名の決定に使用するメカニズム (指定、環境、デフォルトなど) を示します。永続ストレージ・ファイルの作成時にエラーが発生すると、発生したエラーのタイプを示すエントリが ULOG ファイルに書き込まれます。

CORBA ネーム・サービスのサーバ・プロセスは、起動時に永続ストレージ・ファイルから名前空間の構造を再作成するので、起動時間は、永続ストレージ・ファイルのサイズに比例します。サイズが数百メガバイト単位の大きな永続ストレージ・ファイルの場合、CORBA ネーム・サービスのサーバ・プロセスが起動時に名前空間を再作成するのに数秒または数分かかる場合もあります。

 


永続ストレージ・ファイルの圧縮

永続ストレージ・ファイルは、名前空間のメモリ内コピーに影響するすべてのオペレーションに関する情報を格納します。永続ストレージ・ファイルは、現在の名前空間の構造と状態の再作成に必要とする以上の情報を格納することがあります。名前空間の構造が同じサイズのままでも、永続ストレージ・ファイルのサイズは非常に大きくなることがあります。

CORBA ネーム・サービスでは、永続ストレージ・ファイルを圧縮して不要な情報を削除できます。cns コマンドの -c オプションは、永続ストレージ・ファイルの圧縮を制御します。圧縮オプションは、現在の情報を処理して、新しく圧縮された永続ストレージ・ファイルを作成します。

CORBA ネーム・サービスのサーバ・プロセスが起動されたときに、圧縮オペレーションは以下を実行します。

  1. メモリ内の名前空間の構造を処理します。

  2. 既存の永続ストレージ・ファイルを上書きします。

  3. アンバインド、再バインド、または破棄オペレーションによって名前空間から削除されたすべてのバインドおよび再バインド・エントリを削除します。

  4. バインドされていないバインディングをすべて削除します。バインドされていないバインディングは、バインディングが関連付けられているオブジェクトが名前空間から削除されても名前空間内に残っているバインディングです。バインドされていないバインディングは、ネーミング・コンテキストが親コンテキストからアンバウンドされた状態で CosNaming::NamingContext::destroy() メソッドを実行したときに発生します。

-c オプションは、cns コマンドの -p オプションが指定されている場合にのみ使用できます。cns コマンドの -c オプションの詳細については、CORBA ネーム・サービス・リファレンスを参照してください。

 


関連付けのない NamingContext オブジェクトの削除

関連付けのないコンテキストは、ほかのどのオブジェクトにもバインドされていないコンテキストです。このコンテキストは、一度もバインドされていない可能性もありますし、コンテキストにバインドされた後で明示的に、または再バインドによって破棄された可能性もあります。CORBA ネーム・サービスでは、関連付けのない NamingContext オブジェクトは、以下のいずれかの方法で作成されます。

NamingContext オブジェクトに連合されているクライアント・アプリケーションとほかの名前空間は、NamingContext オブジェクトへのオブジェクト・リファレンスが保持されている限り、関連付けのない NamingContext オブジェクトのオペレーションを実行できます。

名前空間の現在のインプリメンテーションは、関連付けのない NamingContext オブジェクトを、特殊な LostandFoundContext オブジェクトの形式で保持します。

cns コマンドの -d オプションを使用して、関連付けのない NamingContext オブジェクトを名前空間から削除します。-d オプションは、関連付けがないと認識されたすべての NamingContext オブジェクトをアンバインドして破棄します。

-d オプションは、cns コマンドの -p オプションが指定されている場合にのみ使用できます。cns コマンドの -d オプションの詳細については、CORBA ネーム・サービス・リファレンスを参照してください。

 


名前空間のフェデレーション

CORBA ネーム・サービスは、論理名前空間の要素が別の複数のリモート・マシンに存在することを意味する連合型名前空間の概念をサポートします。連合型名前空間では、ある名前空間で保持されている NamingContext オブジェクトへのオブジェクト・リファレンスを使用して、別の名前空間に NamingContext オブジェクトをバインドできます。CORBA ネーム・サービスは、サード・パーティのネーム・サービスに加えて、ほかのマシンで動作している CORBA ネーム・サービスのインプリメンテーションとのフェデレーション (連合) をサポートします。CORBA ネーム・サービスがサード・パーティのネーム・サービスと連合するには、サード・パーティのネーム・サービスは、Object Management Group (OMG) のインターオペラブル・ネーム・サービス (INS) 仕様で指定した命名形式をサポートしている必要があります。

以下のトピックでは、サード・パーティのネーム・サービスとのフェデレーション加えて、インバウンド・フェデレーションとアウトバウンド・フェデレーションをサポートする方法について説明します。

インバウンド・フェデレーション

インバウンド・フェデレーションは、ローカルの BEA Tuxedo 名前空間に存在する NamingContext オブジェクトをリモート・ネーム・サービスにバインドする機能です。名前空間が連合されると、リモート・ネーム・サービスは、BEA Tuxedo 名前空間内の NamingContext オブジェクトのオペレーションを実行できます。サード・パーティのネーム・サービスとのインバウンド・フェデレーションには、インターネット ORB 間プロトコル (IIOP) を使用します。したがって、非公式の IIOP 接続をサポートするように、CORBA ネーム・サービスの IIOP リスナ/ハンドラをコンフィギュレーションする必要があります。

IIOP リスナ/ハンドラで非公式の接続を有効化するには、ISL コマンドの -C パラメータを使用します。-C パラメータは、非公式の接続が確立されたときに IIOP リスナ/ハンドラがどのように動作するかを決定します。インバウンド・フェデレーションを使用するには、-C パラメータに対して warn または none 値を指定します。warn 値を指定すると、IIOP リスナ/ハンドラは、非公式の接続が検出されたときにメッセージをユーザ・ログ例外に記録します。例外は発生しません。none 値を指定すると、IIOP リスナ/ハンドラは非公式の接続を無視します。ISL コマンドの詳細については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo コマンド・リファレンス』を参照してください。

リスト3-2 は、インバウンド・フェデレーションをサポートする IIOP リスナ/ハンドラに対する UBBCONFIG エントリの例です。

コード リスト 3-2 インバウンド・フェデレーションをサポートする IIOP リスナ/ハンドラに対する UBBCONFIG ファイルのエントリ

#                                       
# インバウンド・フェデレーションをサポートする
# IIOP リスナ/ハンドラを開始するためのエントリ

ISL
SRVGRP = SYS_GRP
SRVID = 5
MIN = 1
MAX = 1
CLOPT = "-A -- -n //blotto:2470 -C none"

アウトバウンド・フェデレーション

アウトバウンド・フェデレーションは、リモート・ネーム・サービスに存在する NamingContext オブジェクトを CORBA ネーム・サービスの名前空間にバインドする機能です。アウトバウンド・フェデレーションを使用すると、CORBA ネーム・サービスを使用し、この NamingContext オブジェクトに対してオペレーションを実行できます。サード・パーティのネーム・サービスとのアウトバウンド・フェデレーションには、IIOP を使用します。したがって、アウトバウンド・フェデレーションをサポートするように、CORBA ネーム・サービスの IIOP リスナ/ハンドラをコンフィギュレーションする必要があります。

IIOP リスナ/ハンドラでアウトバウンド・フェデレーションを有効化するには、ISL コマンドの -O パラメータを使用します。-O パラメータを使用すると、IIOP ハンドラに接続されていないサーバ・アプリケーション内のオブジェクトに対するアウトバウンド IIOP 呼び出しが IIOP リスナで可能になります。ISL コマンドの詳細については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo コマンド・リファレンス』を参照してください。

リスト3-3 は、アウトバウンド・フェデレーションをサポートする IIOP リスナ/ハンドラに対する UBBCONFIG エントリの例です。

コード リスト 3-3 アウトバウンド・フェデレーションをサポートする IIOP リスナ/ハンドラに対する UBBCONFIG ファイルのエントリ

#                                       
# アウトバウンド・フェデレーションをサポートする
# IIOP リスナ/ハンドラのエントリ
#
ISL   
SRVGRP = SYS_GRP
SRVID = 5
MIN = 1
MAX = 1
CLOPT = "-A -- -n //blotto:2470 -O"

複数の BEA Tuxedo ドメイン間のフェデレーション

異なる BEA Tuxedo ドメインで実行されている複数の CORBA ネーム・サービスのサーバ・プロセス間のフェデレーションでは、ドメイン間接続を可能にするためにドメイン・ゲートウェイを使用する必要があります。ドメイン・ゲートウェイのコンフィギュレーションの詳細については、『BEA Tuxedo システム入門』 の 「マルチ・ドメイン・コンフィギュレーション」 を参照してください。

 


バインディング・イテレータの管理

OMG INS 仕様では、未処理のバインディング・イテレータのコレクションが使用可能です。バインディング・イテレータではクライアント・アプリケーションによる明示的な破棄が必要なので、バインディング・イテレータを正しく削除できない場合があります。

未使用のバインディング・イテレータの数が増えたために CORBA ネーム・サービスがリソース不足になる可能性をできる限り抑えるには、cns コマンドの -M オプションを使用して、ネーム・サービスのバインディング・イテレータの最大数を設定します。この最大数に達すると、新しいバインディング・イテレータへの要求によって、未使用のバインディング・イテレータを破棄できるようになります。CORBA ネーム・サービスは、使用履歴の最も古いアルゴリズムを基に、削除するバインディング・イテレータを選択します。

CORBA ネーム・サービスのサーバ・プロセスが -M オプションで開始された場合、CORBA ネーム・サービスは、BEA Tuxedo CORBA アプリケーションで使用中のバインディング・イテレータを破棄することがあるので、すべての BEA Tuxedo アプリケーションは、バインディング・イテレータに対する呼び出しに際して CORBA::OBJECT_NOT_EXIST システム例外を処理できるようにする必要があります。

 


セキュリティで保護された BEA Tuxedo アプリケーションでの CORBA ネーム・サービスの使用

セキュリティで保護された BEA Tuxedo CORBA アプリケーションで cnslscnsbind、および cnsunbind コマンドを使用する場合、BEA Tuxedo ドメインの PrincipalAuthenticator オブジェクトを取得し、適切なセキュリティ情報でそのドメインにログオンする必要があります。

セキュリティで保護されたログオンを有効にするには、TOBJ_SYSAUTH または TOBJ_APPAUTH のセキュリティ・レベルで BEA Tuxedo ドメインをコンフィギュレーションする必要があります。cnslscnsbind、および cnsunbind コマンドのユーザ名は cnsutils です。cnsutils という名前のユーザを作成するには、tpusradd コマンドを使用する必要があります。BEA Tuxedo ドメインに対して指定したセキュリティ・レベルに従って、UBBCONFIG ファイルの USER_AUTH および APP_PW 環境変数でユーザ・パスワードやドメイン・パスワードを定義できます。これらの環境変数が設定されてなく、BEA Tuxedo ドメインに TOBJ_SYSAUTH または TOBJ_APPAUTH セキュリティ・レベルがある場合、cnslscnsbind、および cnsunbind コマンドでは、パスワードを入力するように求められます。

セキュリティ・レベルの詳細、および BEA Tuxedo セキュリティ環境でのユーザの定義については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy