Entitätsschlüssel der UDDI-Registry der Version 3

Die Spezifikation UDDI Version 3 erweitert den für Schlüssel verfügbaren Bereich. Entitätsschlüssel können beliebige URIs (Universal Resource Identifier) nach dem empfohlenen UDDI-Schema sein. Je nach Registry-Richtlinie kann sowohl die UDDI-Registry als auch der Publisher der Entität Schlüssel zuordnen.

Entitätsschlüssel sind Bezeichner für die Adressierung von Entitäten in einer UDDI-Registry. Für jede Entität, wie z. B. businessEntity, businessService, bindingTemplate oder tModel-Entität, die zum ersten Mal in der UDDI-Registry publiziert wird, wird ein eindeutiger Bezeichner generiert und der Entität zugeordnet. Ein Schlüssel muss innerhalb einer Registry eindeutig sein. For UDDI Version 1 und Version 2 ist der Bereich auf eine universelle eindeutige Kennung (UUDI, Universal Unique Identifier) beschränkt. Für UDDI Version 3 können Entitätsschlüssel beliebige URIs sein, die dem empfohlenen UDDI-Schema entsprechen.

Für UDDI Version 3 kann je nach Registry-Richtlinie nicht nur die UDDI-Registry Schlüssel zuordnen, sondern auch der Publisher der Entität. Dieser Unterschied hat Folgen für die Bewahrung der Eindeutigkeit von Schlüsseln und für die Verwaltung des Schlüsselbereichs.

UDDI-Schema

UDDI Version 3 Registry implementiert das empfohlene UDDI-Schema, wie es im Abschnitt 4.4 der Spezifikation UDDI Version 3 beschrieben ist (http://uddi.org/pubs/uddi_v3.htm). Dieses Schema definiert das Format der Schlüssel, die gültigen Zeichen und das Konzept des Schlüsselbereichs.

In der Registry der UDDI Version 3 ist ein Schlüssel ein beliebiger URI und auf 255 Zeichen beschränkt. Die folgende Abbildung zeigt die verschiedenen Schlüsseltypen innerhalb des UDDI-Schlüsselschemas:

uuidKey wird mit uddi:<UUID>, domainKey mit uddi:<domain> und derivedKey mit <subkey>:<kss> angezeigt
Alle Schlüssel setzen sich aus Token zusammen, die durch Doppelpunkte (:) voneinander getrennt sind. Das erste Token für alle Schlüssel nach UDDI-Schema ist "uddi". Es gibt drei Schlüsseltypen:
  • Die uuidKey-Schlüssel enthalten zwei Token, das obligatorische "uddi" und eine <UUID>. Diese Schlüssel gewährleisten die Eindeutigkeit innerhalb des UUID-Algorithmus.
  • Die domainKey-Schlüssel enthalten zwei Token, das verbindliche "uddi" und einen Domänennamen. Diese Schlüssel werden für das Erstellen weiterer exklusiver Schlüsselbereiche verwendet.
  • Die derivedKey-Schlüssel sind zusammengesetzte Schlüssel, die auf einem Unterschlüssel (beliebiger uddiKey) basieren, der mit einem zusätzlichen Token (kss) versehen wird. Dieses Token ist eine schlüsselspezifische Zeichenfolge, anhand derer die Schlüssel unterschieden werden. Ein Publisher kann kss-token zuordnen, oder das kss-Token kann über einen Algorithmus (UUID) berechnet werden.
Ein weiteres Konzept im UDDI-Schlüsselschema ist der Schlüsselgenerator. Ein Schlüsselgenerator stellt einen Schlüsselbereich dar. Ein Publisher darf Entitäten nur mit Schlüsseln aus einem bestimmten Schlüsselbereich speichern, wenn er der Eigner des Schlüsselgenerators für diesen Schlüsselbereich ist. Dieses Feature unterstützt die Gewährleistung eindeutiger Schlüssel. Der Schlüsselgenerator ist eine tModel-Entität, deren Schlüssel das Format "<Unterschlüssel>:keygenerator" haben. Ein Publisher, der Eigner dieser tModel-Entität ist, kann Schlüssel im Format <Unterschlüssel>:<kss> zuordnen. Der Publisher kann auch neue tModel-Entitäten für Schlüsselgeneratoren im Format<Unterschlüssel>:<kss>:keygenerator publizieren.

Eindeutigkeit von Schlüsseln und Stammschlüsselbereiche der Registry

Instanzen der UDDI-Registry können als Stammregistry oder angegliederte Registry konfiguriert werden.

Stammregistrys definieren ihren eigenen Stammschlüsselbereich, indem sie ihren eigenen Stammschlüsselgenerator festlegen. Diese Aktion definiert den gesamten von der Registry verwalteten Schlüsselbereich. Alle Schlüssel, die von der Registry generiert werden, sind in diesem Schlüsselbereich enthalten. Sofern es die Richtlinie zulässt, können Publisher Teile dieses Schlüsselbereichs anfordern, indem sie neue tModel-Entitäten für Schlüsselgeneratoren im Format "<Stammschlüsselgenerator>:<Teilbereichs-ID>:keygenerator" veröffentlichen. Anschließend können die vom Publisher bereitgestellten Schlüssel in nachfolgenden Veröffentlichungsanforderungen verwendet werden, die sich zugeordneten Teilbereich des Schlüsselbereichs (<Stammschlüsselgenerator>:<Teilbereichs-ID>:<kss>) befinden.

Um Schlüsselkollisionen zu vermeiden, müssen angegliederte Registrys ihren Stammschlüsselgenerator einrichten, indem Sie zunächst eine Anforderung tModel:keygenerator an die Stammregistry übergeben, der sie angegliedert werden möchten. Anschließend verwenden die angegliederten Registrys diesen Teilbereich des Schlüsselbereichs der Stammregistry als ihren eigenen Stammschlüsselgenerator. Auf diese Weise wird sichergestellt, dass die generierten oder von einer angegliederten Registry akzeptierten Schlüssel nicht in Kollision mit anderen Schlüsseln im Schlüsselbereich der Stammregistry kommt.

Zur Bewahrung der Eindeutigkeit der Schlüssel werden einfache Regeln angewendet. Die Registry generiert nur innerhalb des Schlüsselbereichs neue Schlüssel, der von ihrem eigenen Stammschlüsselgenerator definiert wurde. Die Registry akzeptiert nur Schlüssel von Publishern, die in dem Teilbereich des Schlüsselbereichs enthalten sind, der dem jeweiligen Publisher im Ergebnis einer erfolgreichen tModel-Publish-Anforderung "tModel:keygenerator" zugewiesen wurde.

Einfaches Beispiel für private Stammregistry

Mit einem Stammschlüsselgenerator:

uddi:aPrivateRegistryKeySpaceIdentifier:keygenerator

werden Entitätsschlüssel im folgenden Format generiert:

uddi:aPrivateRegistryKeySpaceIdentifier:<uuid>

Je nach Richtlinie werden tModel:keygenerator-Anforderungen
von Publishern für Teilbereiche der Ausgangsebene im folgenden
Format akzeptiert:

uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:
keygenerator

tModel:keygenerator-Anforderungen für Teilbereiche des Schlüsselbereichs veröffentlichen

Je nach Richtlinie kann ein Publisher eine Anforderung für einen übergeordneten Teilbereich im Schlüsselbereich der Stammregistry zur eigenen Verwendung übergeben. Die Richtlinie definiert, ob die Registry von Publishern angegebene Schlüssel unterstützt und ob die Benutzerberechtigungen eines bestimmten Publishers die Übergabe von Schlüsselbereichsanforderungen ermöglichen.

Ein Publisher kann nicht nur übergeordnete Teilbereiche im Schlüsselbereich der Stammregistry, sondern auch weitere Teilbereiche im Schlüsselbereich erstellen.

Das folgende einfache Beispiel ist eine Fortsetzung des vorherigen Beispiels und fordert den Teilbereich a an:
uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:
a:keygenerator

Damit eine Anforderung eines weiteren Teilbereichs erfolgreich ist, muss der Publisher, der die tModel-Entität für den vorherigen Teilbereich angefordert hat und besitzt, die Anforderung absetzen. Im vorherigen zurück ist dieser Publisher "is uddi:aSchlüsselbereichsIDderPrivatenRegistry:aPublisherTeilbereichsID:keygenerator".

Veröffentlichung mit einem vom Publisher bereitgestellten Schlüssel

Nachdem ein Publisher einen Teilbereich im Schlüsselbereich einer Stammregistry erfolgreich angefordert hat, muss dieser Publisher ein eigenes Schema konfigurieren und verwalten, um sicherzustellen, dass die Schlüssel, die als vom Publisher bereitgestellte Schlüssel für nachfolgenden Veröffentlichungsanforderungen generiert werden, im Teilbereich eindeutig sind.

Ein gültiges Schema generiert Schlüssel, die innerhalb des zugeordneten Teilbereichs des Schlüsselbereichs eindeutige abgeleitete Schlüssel sind. Dies könnte beispielsweise durch Aufnahme eines eindeutigen numerischen Index (der erhöht wird) geschehen.

Das folgende Beispiel ist eine Fortsetzung des vorherigen Beispiels. Beispiel für einen Teilbereich des Schlüsselbereichs, der sich aus der tModel:keybenerator-Anforderung ergibt:
uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:
a:keygenerator
sind folgende Schlüssel gültig:

uddi:aSchlüsselbereichsIDderPrivatenRegistry:aPublisherTeilbereichsID:a:1

uddi:aSchlüsselbereichsIDderPrivatenRegistry:aPublisherTeilbereichsID:a:2

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwsu_entity_keys
Dateiname:cwsu_entity_keys.html