[31] オブジェクトリファレンス:詳細
(Part of the CORBA FAQ, Copyright (C) 1996)
[31.1] オブジェクトリファレンスは、アプリケーションによってど
のように取得されるのですか?
[Recently created (10/1996).
Click here to go to the next FAQ in the "chain" of recent changes]
オブジェクトリファレンスによって、分散したリクエストの発行が可能と
なります。アプリケーションはどのようにしてオブジェクトリファレンスを
獲得するのでしょうか? CORBAはオブジェクトリファレンス取得の為に何種類
もの方法を提供しています。これらの方法は基本的には以下の2つのカテゴリ
に分類されます。初期オブジェクトリファレンスの獲得メカニズムと、そこか
ら導出されるオブジェクトリファレンスの獲得メカニズムです。CORBAは初期
オブジェクトリファレンスを獲得する為に、2つの標準的な方法を提供してい
ます。
- ORB::resolve_initial_references(string): CORBAは初期
オブジェクトリファレンスのセットを取得する、ベンダー特有のメカニズム
を定義しています。CORBAはこのメカニズムのインターフェースを定義して
いますが、この機能を動作させるために必要な内部的な処理は標準化されて
いません。CORBAが規定しているのは、アプリケーションが
resolve_initial_references()を呼び出すことでオブジェクトリ
ファレンスを獲得する事ができるということであり、この関数の呼び出しが
成功する為には、ベンダー特有の設定ファイル、コマンドラインの引数、
環境変数などが必要となるかもしれません。このようにして得られたオブジ
ェクトリファレンスは、ほとんどの場合、同じベンダーのORBの中でのみ、
利用可能なものです。
- ORB::string_to_object(string): CORBAはベンダー非依存の
オブジェクトリファレンス獲得メカニズムを提供しています。
string_to_object()関数は、指定された文字列から、直接オブジェ
クトリファレンスを返します。オブジェクトリファレンスは、実際に相互運
用可能なオブジェクトリファレンスであり、それ故ORBがサポートする
IIOPの内部で実装されています。
文字列は基本的に記号化されており、人間の読めるものではありません。
文字列をアプリケーションのソースに直接埋め込むこともできますし、
ファイルに保存しておき、そこから取り出す事もできますし、なんらかの
IPCメカニズムを用いて取得する事もできます。文字列は、実際のオブジ
ェクトリファレンスに対し、object_to_string()を呼び出すこ
とで作成されます。
一旦、アプリケーションがオブジェクトリファレンスを獲得すれば、
そこから導出されるオブジェクトは、元のオブジェクトリファレンス
に対するリモートオペレーション呼び出しで、獲得することができま
す。CORBAは、オブジェクトリファレンスを返す事ができるオブジェク
トの機能をFactoryと呼んでいます。CORBAは導出されるオブジェクトの
オブジェクトリファレンスを返すという、基本的なメカニズムをもって
いるサービスを2つ定義しています。それらは以下のものです:
- CORBA NameService
- CORBA TraderService
Back to the top of section [31]
E-mail us
[ CORBA FAQ
| 目次; 詳細目次; アルファベット順
| Subject index
| About the authors
| (C)
| TM
| Wingnest.com ]
Revised Oct 5, 1996 Translated 0ct 24, 1996