ブートストラッププロトコル

次のIDLインタフェース定義では、「初期化エージェント」のインタフェースが提供されます。
interface InitialReferences 
{
    typedef sequence<string> ObjectIdList;
 
   
Object get(in string objectId);
 
   
ObjectIdList list();
};
この定義の目的は、resolve_initial_referencesおよびlist_initial_servicesというORB メソッドを実装するために、ORB実装によって使用されることです。相互運用可能なクライアントORBでは、InitialReferencesインタフェースを実装する「初期化エージェント」に呼び出しを送信します。すると、エージェントでは、要求された情報をクライアントORBに返信します。最初の操作のgetでは、要求されたサービスIDである文字列を受け付け、要求されたサービスのオブジェクト参照を返すか、または何も見つからない場合はNILオブジェクト参照を返します。2番目の操作のlistでは、引数を受け付けずに、サポートされているサービスを含むObjectIDList (文字列のシーケンス)を返します32ビットの語は。

このインタフェースは、オブジェクトキーの長さが4バイトの特別なオブジェクトによって実装されます。オブジェクトキーの値は、常に、ISOLatin-1 (8859.1)を使用してエンコード化された4文字(大文字)の「INIT」(16進値は 0x49 0x4e 0x49 0x54、 0x494e4954)です。このオブジェクトでは、前のIDLを使用して定義されたインタフェースを実装します。CORBA::Objectで定義された操作(is_a、get_implementation、get_interfaceなど)をすべて実装する必要はありません。

ブートストラッププロトコルの実装

ORBのすべてのプロセスでは、「初期化エージェント」が実行されますsho。 ローカルAPI (「初期参照サービス」を参照) は、ローカル/リモート初期オブジェクト参照を発行するだけでなく、指定のホストおよびポートに対する「初期化エージェント」 を取得するためにも提供されます。 ORBデーモンは、サーバ起動やセキュリティなどをサポートするためのオブジェクト参照がある「識別初期化エージェント」を実行します。ORBインスタンスは、ORBDefaultInitRef プロパティまたはパラメータを使用して、ある「初期化エージェント」のアドレスを含むIIOP URLとともに設定する必要があります。 ORBDefaultInitRef を指定しなかった場合、これは、デフォルトにより、ORBデーモンがリッスンするポートであるiiopboot://localhost:2506に設定されます。

注記:ポート2506は、IANAからNovellによって予約されます。


Copyright © 1998-2003, Novell, Inc.All rights reserved.