Claves de entidad de registro UDDI versión 3

La especificación UDDI Versión 3 amplía el espacio disponible para las claves. Las claves de entidad pueden ser cualquier URI (Universal Resource Identifier) que siga el esquema UDDI recomendado. En función de la política de registro, tanto el registro UDDI como el editor de la entidad pueden asignar claves.

Las claves de entidad son identificadores que se utilizan para controlar entidades en un registro UDDI. Para cada entidad businessEntity, businessService, bindingTemplate o tModel se genera o asigna un identificador exclusivo cuando se publica por primera vez en el registro de UDDI. Dentro de un registro dado, una clave debe ser única. Para UDDI Versión 1 y Versión 2, el espacio está limitado a un UUID (Universal Unique Identifier). Para UDDI versión 3, las claves de entidad pueden ser cualquier URI que siga el esquema de UDDI recomendado.

Para UDDI versión 3, dependiendo de la política de registro, tanto el registro UDDI como el editor de la entidad pueden asignar claves. Estas diferencias generan problemas para mantener la exclusividad de las claves y la gestión del espacio de claves.

Esquema de UDDI

El registro de IBM UDDI Versión 3 implementa el esquema de UDDI recomendado, tal como se indica en la sección 4.4 de la especificación UDDI Versión 3. (http://uddi.org/pubs/uddi_v3.htm). Este esquema define el formato de las claves, los caracteres válidos y el concepto de espacio de claves.

En el registro UDDI versión 3, una clave es cualquier URI y tiene un límite de 255 caracteres. En el siguiente diagrama se muestran los distintos tipos de claves dentro del esquema de claves UDDI:

uuidKey se muestra mediante uddi:<UUID>, domainKey se muestra mediante uddi:<domain> y derivedKey ase muestra mediante <subkey>:<kss>
Todas las claves están formadas por un conjunto de símbolos separados por os puntos (:). El primer símbolo para todas las claves que siguen al esquema de UDDI es uddi. Existen tres tipos de claves:
  • uuidKey contiene dos señales, el uddi obligatorio y un <UUID>. Estas claves aseguran la exclusividad a través del algoritmo de UUID.
  • Las claves domainKey contienen dos señales, el uddi obligatorio y un nombre de dominio. Estas claves son para crear espacios de clave adicionales que se excluyen mutuamente.
  • Las claves derivedKey son claves compuestas que se basan en una subclave que es cualquier clave uddiKey, y una señal adicional, kss, que es una serie específica de la clave que diferencia las claves. Un editor puede asignar la señal kss, o la señal kss puede calcularse a través de un algoritmo (UUID).
Otro concepto incluido en el esquema de claves UDDI es el generador de claves. Un generador de claves representa un espacio de clave. Un editor sólo puede guardar entidades mediante claves de un determinado espacio de claves si es propietario del generador de claves que representa el espacio claves. Esta característica ayuda a proteger claves exclusivas. El generador de claves es una entidad tModel, cuya clave tiene el formato <subclave>:generadorclaves. Si es propietario de este tModel, un editor puede asignar claves con el formato <subclave>:<kss>. El editor también puede publicar nuevas entidades tModel de generador de claves con el formato <subclave>:<kss>:generadorclaves.

Exclusividad de claves y espacio de claves raíz de registro

Puede configurar instancias del registro UDDI como registro raíz o como registro afiliado.

Los registros raíz definen su propio espacio de claves raíz definiendo su propio generador de claves raíz. Esta acción define el espacio de claves total que gestiona el registro. Todas las claves que genera el registro se encuentran en este espacio de claves. Si la política lo permite, los editores pueden solicitar subdivisiones de este espacio de claves publicando nuevas entidades tModel de generador de claves con el formato <generadorclavesraíz>:<identificadorSubdivisión>:generadorclaves. Los editores pueden incluir claves proporcionadas por el proveedor en solicitudes de publicación subsiguientes que se encuentren en su subdivisión de espacio de claves asignado, <generadorclavesraíz>:<identificadorSubdivisión>:<kss>.

Para que no se produzcan conflictos entre las claves, los registros afiliados deben establecer su generador de claves raíz enviando primero una solicitud tModel:keyGenerator al registro raíz al que desean estar afiliados y luego deben utilizar esta subdivisión del espacio de claves del registro raíz como su propio generador de claves raíz. Este proceso garantiza que no haya conflictos entre las claves generadas o aceptadas por un registro afiliado y otras claves del espacio de claves del registro raíz.

Para mantener la exclusividad de las claves, se aplican normas sencillas. El registro sólo genera claves nuevas en el espacio de claves definido por su propio generador de claves. El registro sólo acepta claves proporcionadas por el editor que se encuentran en subdivisiones que son propiedad del editor, es decir, como resultado de una solicitud de publicación anterior de tModel tModel:keygenerator que ha sido satisfactoria.

Ejemplo sencillo para un registro raíz privado:

with a Root keygenerator:

uddi:aPrivateRegistryKeySpaceIdentifier:keygenerator  

genera claves de entidad en el formato:

uddi:aPrivateRegistryKeySpaceIdentifier:<uuid>

en función de la política, acepta solicitudes de tModel:keygenerator de editores
para subdivisiones de 'nivel superior' con el formato:


uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:
keygenerator

Publicación de solicitudes tModel:keygenerator para subdivisiones de espacio de claves

En función de la política, un editor puede enviar una solicitud para utilizar por su cuenta una subdivisión de nivel superior del espacio de claves del registro raíz. La política puede especificar si el registro da soporte a las claves proporcionadas por el editor y si las titularidades de usuario de un editor determinado permiten al editor enviar solicitudes para espacio de claves.

Además de subdivisiones de nivel superior del espacio de claves del registro raíz, un editor puede crear también subdivisiones adicionales del espacio de claves.

El siguiente ejemplo es sencillo y es una continuación del ejemplo anterior y solicita la subdivisión a:
uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:
a:keygenerator

Para que otra solicitud de subdivisión sea satisfactoria, el editor que ha solicitado, y que posee, la entidad tModel para la subdivisión anterior debe realizar la solicitud. En el ejemplo anterior, el editor es uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:keygenerator).

Publicación con una clave suministrada por el editor

Después de que un editor solicita correctamente una subdivisión del espacio de claves de un registro raíz, dicho editor debe establecer y mantener su propio esquema para asegurarse de que las claves generadas para utilizarlas como claves suministradas por el editor en solicitudes de edición posteriores son exclusivas dentro de la subdivisión.

Los esquemas válidos necesitan generar claves que sean claves derivadas exclusivas dentro de la subdivisión del espacio de teclas que se ha asignado, por ejemplo, incluyendo un índice numérico (incrementado) exclusivo.

El siguiente ejemplo es una continuación del ejemplo anterior. Para una subdivisión de espacio de claves que es el resultado de la solicitud tModel:keygenerator:
uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:
a:keygenerator

las claves válidas son:

uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:a:1

uddi:aPrivateRegistryKeySpaceIdentifier:aPublisherSubdivisionIdentifier:a:2 

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwsu_entity_keys
File name: cwsu_entity_keys.html