ネーミングサービスによって,一つ以上の論理名称を一つのオブジェクトリファレンスに対応させ,これらの名前をネームスペースに格納できるようになります。また,クライアントアプリケーションはネーミングサービスを使用して,オブジェクトに割り当てられた論理名称を使用してオブジェクトリファレンスを取得できます。
図14-1に,次の内容のネーミングサービス簡略図を示します。
- オブジェクトインプリメンテーションが,どのようにして名前をネームスペース内のオブジェクトの一つにバインドできるか。
- クライアントアプリケーションが,ネーミングコンテキストまたはオブジェクトにオブジェクトリファレンスを返す名前を解決するために,どのように同じネームスペースを使用できるか。
図14-1 ネームスペース内のネーミングコンテキストからのオブジェクト名のバインド,解決,使用
Borland Enterprise Server VisiBrokerネーミングサービスを使用してオブジェクトインプリメンテーションを探す場合は,スマートエージェントを使用した場合と比べて考慮しなくてはならない相違点が幾つかあります。
- スマートエージェントはフラットなネームスペースを使用しますが,ネーミングサービスは階層形式のものを使用します。
- C++の場合に,スマートエージェントを使用するとき,オブジェクトのインタフェース名は,クライアントアプリケーションとサーバアプリケーションのコンパイル時に定義されます。インタフェース名を変更するにはアプリケーションを再度コンパイルしなければなりません。これとは対照的に,ネーミングサービスでは,オブジェクトインプリメンテーションはランタイム時に論理名称とオブジェクトをバインドできます。
- C++の場合に,スマートエージェントを使用するとき,オブジェクトは一つのインタフェース名しか実装できませんが,ネーミングサービスによって,一つ以上の論理名称を一つのオブジェクトにバインドできます。
- Javaの場合,オブジェクトのインタフェース名は,クライアントアプリケーションとサーバアプリケーションのコンパイル時に定義されます。インタフェース名を変更するにはアプリケーションを再度コンパイルしなければなりません。これとは対照的に,ネーミングサービスでは,オブジェクトインプリメンテーションはランタイム時に論理名称とオブジェクトにバインドできます。
- Javaの場合,オブジェクトは一つのインタフェース名しかインプリメントできませんが,ネーミングサービスによって,一つ以上の論理名称を一つのオブジェクトにバインドできます。
All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd.
COPYRIGHT (C) 1992-2004 Borland Software Corporation. All rights reserved.