UDDI レジストリー・バージョン 3 エンティティー・キー

UDDI バージョン 3 の仕様では、キーに使用できるスペースが拡張されています。 推奨される UDDI スキームに従っている任意の Universal Resource Identifier (URI) をエンティティー・キーにすることができます。 レジストリー・ポリシーに応じて、UDDI レジストリーと、エンティティーのパブリッシャーの両方がキーを割り当てることができます。

エンティティー・キーは、UDDI レジストリー内のエンティティーのアドレッシングに使用される ID です。 businessEntity、businessService、bindingTemplate、または tModel の各エンティティーには、最初に UDDI レジストリーに公開されるときに生成または割り当てられる固有の ID があります。 キーは、特定のレジストリー内では固有でなければなりません。 UDDI バージョン 1 およびバージョン 2 の場合、スペースは Universal Unique Identifier (UUID) に限られます。 UDDI バージョン 3 の場合は、推奨される UDDI スキームに従っている URI であれば、いずれの URI でもエンティティー・キーにすることができます。

UDDI バージョン 3 の場合、レジストリー・ポリシーに応じて、UDDI レジストリーだけでなく、エンティティーのパブリッシャーもキーを割り当てることができます。これらの違いによって、キーの一意性の維持とキー・スペースの管理に問題が発生します。

UDDI スキーム

UDDI バージョン 3 レジストリーは、 推奨される UDDI スキームを実装します。 詳しくは、UDDI バージョン 3 仕様のセクション 4.4 を参照してください。(http://uddi.org/pubs/uddi_v3.htm). このスキームでは、 キーのフォーマット、有効な文字、およびキー・スペースの概念が定義されています。

UDDI バージョン 3 レジストリーでは、 キーは任意の URI であり、255 文字までに制限されています。次の図は、 UDDI キー・スキームのさまざまなキー・タイプを示したものです。

uuidKey は uddi:<UUID> によって表され、domainKey は uddi:<domain> によって表され、derivedKey は <subkey>:<kss> によって表されています。
キーはすべて、コロン (:) で区切られた一連のトークンで構成されています。UDDI スキームに従っているキーの 最初のトークンは、uddi です。キーには次の 3 つのタイプがあります。
  • uuidKey キーには 2 つのトークン (必須の uddi と <UUID>) が含まれています。 これらのキーは、UUID アルゴリズムを通じての一意性を保ちます。
  • domainKey キーには 2 つのトークン (必須の uddi とドメイン名) が含まれています。これらのタイプのキーは、互いに排他的なキー・スペースを追加作成するためのものです。
  • derivedkey キーは、サブキー (任意の uddiKey) と追加のトークン kss (キーを区別するキー固有のストリング) に基づくコンポジット・キーです。 kss トークンは、パブリッシャーが割り当てるか、アルゴリズムを使用して計算することができます (UUID)。
UDDI キー・スキームに関与しているもう 1 つの概念が、鍵生成プログラムです。鍵生成プログラムは、キー・スペースを表します。 パブリッシャーは、特定のキー・スペースを表す鍵生成プログラムを所有している場合に限り、 そのキー・スペースのキーを使用してエンティティーを保存することができます。 このフィーチャーは、固有キーを保護するのに役立ちます。鍵生成プログラムは、<subkey>:keygenerator という形式のキーを持つ tModel エンティティーです。 この tModel エンティティーを所有することで、パブリッシャーは <subkey>:<kss> 形式のキーを割り当てることができます。 パブリッシャーは、新規の鍵生成プログラム tModel エンティティーを <subkey>:<kss>:keygenerator 形式で公開することもできます。

キーの一意性とレジストリー・ルート・キー・スペース

UDDI レジストリーのインスタンスは、ルート・レジストリーまたは関連レジストリーとして構成することができます。

ルート・レジストリーは、独自のルート・キー・ジェネレーターを定義することで、独自のルート・キー・スペースを定義します。 このアクションにより、レジストリーが管理するキー・スペース全体が定義されます。 レジストリーが生成するすべてのキーは、このキー・スペース内にあります。 ポリシーで許可されている場合、パブリッシャーは、新規の鍵生成プログラム tModel エンティティーを <rootkeygenerator>:<subdivisionIdentifier>:keygenerator という形式で公開することにより、このキー・スペースのサブディビジョンを要求することができます。 次にパブリッシャーは、それぞれに割り振られたキー・スペース・サブディビジョン (<rootkeygenerator>:<subdivisionIdentifier>:<kss>) 内にある、以降の公開要求でパブリッシャーが提供したキーを組み込むことができます。

キーの衝突を避けるため、関連レジストリーは、 まず、関連付けたいルート・レジストリーに tModel:keygenerator 要求を送信し、次にルート・レジストリーのキー・スペースのこのサブディビジョンを独自のルート・キー・ジェネレーターとして使用することにより、独自のルート・キー・ジェネレーターを確立する必要があります。 このプロセスにより、関連レジストリーが生成または受け入れたキーと、ルート・レジストリー・キー・スペースにある他のキーとの間で衝突が起きることを確実に回避できます。

キーの一意性を維持するため、単純なルールを適用しています。 レジストリーは、新規のキーを、それ独自のルート・キー・ジェネレーターによって定義されたキー・スペースにのみ生成します。 レジストリーは、以前に tModel tModel:keygenerator 公開要求が成功した結果としてパブリッシャーが所有することになったキー・スペースのサブディビジョン内にある、そのパブリッシャーが提供したキーしか受け入れません。

プライベート・ルート・レジストリーの簡単な例

with a Root keygenerator:

uddi:aPrivateRegistryKeySpaceIdentifier:keygenerator  

generates Entity Keys of format:

uddi:aPrivateRegistryKeySpaceIdentifier:<uuid>

depending on Policy, accepts tModel:keygenerator requests from Publishers for
‘top-level' subdivisions of format:

uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:
keygenerator

キー・スペースのサブディビジョンに対する tModel:keygenerator 要求の公開

ポリシーによっては、パブリッシャーは、ルート・レジストリー内のキー・スペースの最上位のサブディビジョンに対する要求を、独自に使用するためにサブミットすることができます。 このポリシーでは、パブリッシャーが提供したキーをレジストリーがサポートしているかどうか、および特定のパブリッシャーのユーザー資格で、そのパブリッシャーがキー・スペースに対する要求をサブミットすることができるかどうかを指定できます。

ルート・レジストリー内のキー・スペースの最上位レベル・サブディビジョンだけでなく、パブリッシャーはキー・スペースのサブディビジョンも追加作成することができます。

以下に、前の続きの簡単な例を示します。この例では、サブディビジョン a を要求しています。
uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:
a:keygenerator

さらなるサブディビジョンの要求を正常に行うには、前述のサブディビジョンの tModel エンティティーを要求し、現在そのエンティティーを所有しているパブリッシャーが要求を行う必要があります。前の例では、このパブリッシャーは uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:keygenerator です。

パブリッシャー提供のキーによる公開

パブリッシャーは、ルート・レジストリー内のキー・スペースのサブ ディビジョン要求が正常に行われると、以降の公開要求でパブリッシャー提供のキーとして使用するために生成されたキーが、そのサブディビジョン内で固有のものとなるよう、独自のスキームを確立して保守する必要があります。

有効なスキームは、割り振られたキー・スペース・サブディビジョン内で、固有の派生キーを生成する必要があります。 例えば、固有の (増分する) 数値索引などを含めます。

以下に、前からの続きである簡単な例を示します。tModel:keygenerator 要求から生成されるキー・スペース・サブディビジョンの場合:
uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:
a:keygenerator

valid keys are:

uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:a:1

uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:a:2 

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwsu_entity_keys
ファイル名:cwsu_entity_keys.html