|
|
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 -- -fC
:\cnsroot.dat -M 0"
idl
コマンドとオプションの詳細については、CORBA ネーム・サービス・リファレンスを参照してください。コンフィギュレーション・ファイル作成の詳細については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo アプリケーションの設定』を参照してください。
CORBA ネーム・サービスのサーバ・プロセスを起動すると、名前空間の内容を表示し、名前空間内のオブジェクトを管理するために、表 3-1 のコマンドを使用できます。コマンドとオプションの詳細については、CORBA ネーム・サービス・リファレンスを参照してください。
名前空間の永続化
CORBA ネーム・サービスは、名前空間内に情報のコピーを 2 つ保持します。1 つはメモリ内に保持されます。このコピーにアクセスすると、高速化および名前解決の最適化が可能になります。もう 1 つのコピーは、必要に応じて永続ストレージに保存されます。このコピーでは、名前空間の状態と構造の保存および復元が可能になります。
名前空間の永続化する主な目的は、名前空間の現在実行中のインスタンスによって保持されるメモリ内のネーミング情報を現在の状態にしておくことです。名前空間の永続コピーを保持することで、CORBA ネーム・サービスは、サーバ・プロセスが終了した場合に現在のネーミング情報を再作成できます。永続ストレージ・ファイルを読み取り、最後に記録されたネーミング情報を再作成するように、CORBA ネーム・サービスのサーバ・プロセスの新しいインスタンスをコンフィギュレーションできます。
名前空間の永続コピーを作成し、そのコピーをファイルに保存するには、CORBA ネーム・サービスのサーバ・プロセスの起動時に cns
コマンドの -p
オプションを指定します。CORBA ネーム・サービスは、指定した場所と名前で永続ストレージ・ファイルを作成します。
-p
オプションで指定した永続ストレージ・ファイルが既に存在する場合は、ファイルがオープンされ、処理されます。永続ストレージ・ファイルのバックアップは、CORBA ネーム・サービスのサーバ・プロセスが開始される前に作成されます。永続ストレージ・ファイルのバックアップ・コピーの名前は、filename
.BAK
です。永続ストレージ・ファイルの名前を再利用する場合、既存の永続ストレージ・ファイルを削除または移動し、CORBA ネーム・サービスのサーバ・プロセスを再起動する必要があります。
永続ストレージ・ファイルが正常に作成された場合、ファイルのエントリが ULOG
ファイルに書き込まれます。エントリは、ディレクトリの場所とファイル名、ファイルが新しく作成されたかどうか、およびファイル名の決定に使用するメカニズム (指定、環境、デフォルトなど) を示します。永続ストレージ・ファイルの作成時にエラーが発生すると、発生したエラーのタイプを示すエントリが ULOG
ファイルに書き込まれます。
CORBA ネーム・サービスのサーバ・プロセスは、起動時に永続ストレージ・ファイルから名前空間の構造を再作成するので、起動時間は、永続ストレージ・ファイルのサイズに比例します。数百メガバイト単位のサイズの大きな永続ストレージ・ファイルの場合、CORBA ネーム・サービスのサーバ・プロセスが起動時に名前空間を再作成するのに数秒または数分かかる場合もあります。
永続ストレージ・ファイルの圧縮
永続ストレージ・ファイルは、名前空間のメモリ内コピーに影響するすべてのオペレーションに関する情報を格納します。永続ストレージ・ファイルは、現在の名前空間の構造と状態の再作成に必要とする以上の情報を格納することがあります。名前空間の構造が同じサイズのままでも、永続ストレージ・ファイルのサイズは非常に大きくなることがあります。
CORBA ネーム・サービスでは、永続ストレージ・ファイルを圧縮して不要な情報を削除できます。cns
コマンドの -c
オプションは、永続ストレージ・ファイルの圧縮を制御します。圧縮オプションは、現在の情報を処理して、新しく圧縮された永続ストレージ・ファイルを作成します。
CORBA ネーム・サービスのサーバ・プロセスが起動されたときに、圧縮オペレーションは以下を実行します。
CosNaming::NamingContext::destroy()
メソッドを実行したときに発生し
ます。
-c
オプションは、cns
コマンドの -p
オプションが指定されている場合にのみ使用できます。cns
コマンドの -c
オプションの詳細については、CORBA ネーム・サービス・リファレンスを参照してください。
関連付けのない NamingContext オブジェクトの削除
関連付けのないコンテキストは、ほかのどのオブジェクトにもバインドされていないコンテキストです。このコンテキストは、一度もバインドされていない可能性もありますし、コンテキストにバインドされた後で明示的に、または再バインドによって破棄された可能性もあります。CORBA ネーム・サービスでは、関連付けのない NamingContext
オブジェクトは、以下のいずれかの方法で作成されます。
CosNaming::NamingContext::new_context
メソッドを使用して、新しい NamingContext
オブジェクトを作成する方法。ただし、新しい NamingContext
オブジェクトを名前空間にはバインドしません。CosNaming::NamingContext::rebind()
メソッドまたは CosNaming::NamingContext::unbind()
メソッドを使用して、最新の親 NamingContext
オブジェクトから NamingContext
オブジェクトをアンバインドする方法。ただし、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 アプリケーションで cnsls
、cnsbind
、および cnsunbind
コマンドを使用する場合、BEA Tuxedo ドメインの PrincipalAuthenticator オブジェクトを取得し、適切なセキュリティ情報でそのドメインにログオンする必要があります。
セキュリティで保護されたログオンを有効にするには、TOBJ_SYSAUTH
または TOBJ_APPAUTH
のセキュリティ・レベルで BEA Tuxedo ドメインをコンフィギュレーションする必要があります。cnsls
、cnsbind
、および cnsunbind
コマンドのユーザ名は cnsutils
です。cnsutils
という名前のユーザを作成するには、tpusradd
コマンドを使用する必要があります。BEA Tuxedo ドメインに対して指定したセキュリティ・レベルに従って、UBBCONFIG
ファイルの USER_AUTH
および APP_PW
環境変数でユーザ・パスワードやドメイン・パスワードを定義できます。これらの環境変数が設定されてなく、BEA Tuxedo ドメインに TOBJ_SYSAUTH
または TOBJ_APPAUTH
セキュリティ・レベルがある場合、cnsls
、cnsbind
、および cnsunbind
コマンドでは、パスワードを入力するように求められます。
セキュリティ・レベルの詳細、および BEA Tuxedo セキュリティ環境でのユーザの定義については、BEA Tuxedo オンライン・マニュアルの『BEA Tuxedo CORBA アプリケーションのセキュリティ機能』を参照してください。
|
Copyright © 2001, BEA Systems, Inc. All rights reserved.
|