Introducción
¿Qué es un Regsitro?
La mayoría de las interacciones negocio-a-negocio (B2B) se basan en un proceso de colaboración entre 2 partes que se unen
en una sociedad. Un registro es un tercera parte neutral que facilita ayudas para colaboración. Un registro está disponible para
las organizaciones como un recurso compartido a menudo en la forma de un servicio basado en Web. Un registro es un componente
clave en cualquier configuración de servicios Web porque proporciona a las organizaciones la capacidad de publicar, descubrir
y utilizar servicios Web. Los registros permiten una colaboración B2B dinámica y cercanamente unida.
|
[Nota]
Mientras que este documento podría presentar el uso de registro en contextos enfocados al negocio, el API JAXR es
suficientemente general como para soportar muchos otros tipos de usos.
|
Escenarios de usos de Registros
La siguiente figura muestra unos pocos escenarios comunes que involucran un registro de negocio. El escenario muestra cómo
un registro facilita a una compañía compradora el descubriento de una compañera vendedora y su unión en una proceso de
colaboración B2B.
Un escenario de uso de Registros.
- Primero, la compañía vendedora pide a un registro las especificaciones que definen un proceso de colaboración de negocio así
como los componentes base que definen los elementos XML reutilizables usados en los documentos de negocio (por ejemplo,
dirección, contacto etc.). Estas especificaciones han sido préviamente enviadas por una organización de estándares vertical.
- Entonces el vendedor utiliza las especificaciones y los componentes base descargados del registro para implementar su
sistema local de eBusiness con la ayuda de los procesos de colaboración deseados.
- Entonces el vendedor coloca la información sobre su compañía, sus productos y sus servicios en el registro. Dicha información
se puede clasificar para facilitar su descubrimiento por compradores potenciales.
- Una compañía compradora puede hojear el registro por clasificaciones etc. y descubrir al vendedor. También puede descargar
especificaciones técnicas y componentes base para implementar su sistema local para utilizar el proceso colaborativo.
- Entonces el comprador negocia con el vendedor en un acuerdo para colaborar en el proceso de colaboración elegido implementado
y convenido por ambas partes.
- Finalmente las dos partes se unen en el proceso de negocio colaborativo deseado e intercambian documentos de negocio.
Roles de los Participantes
Esta sección describe los roles clave ejecutados por los participantes o actores dentro de varios escenarios de registros.
Esta sección no es una lista completa de roles.
Organización Enviante
Una organización enviante (SO) es una organización que envía o publica contenidos en un registro.
Una SO podría ser una empresa o una entidad dentro de una empresa.
Una SO muestra el contenido que publica en un registro.
Emisor de Contenido
Un emisor de contenido es un usuario que pertenece a una organización y que está autorizado para enviar contenido de parte de
la organización.
Invitado del Registro
Un invitado del registro es un usuario casual no privilegiado del registro que simplemente navega por los datos
del registro.
Registro contra Repositorio
Los términos Registro y Repositorio frecuentemente se usan juntos y algúnas veces se confunden uno con otro.
Las siguientes secciones describen la distinción entre un registro y un repositorio y presenta el contenido de cada uno.
Repositorio e Ítems de Repositorio
La información publicada por un SO en un registro se salva en un almacén estable
llamado repositorio. El registro mantiene el repositorio. El repositorio es el sostenedor del contenido
(e.g. DTDs, esquemas XML, documentos WSDL, etc.) enviado por un SO a un registro. Los contenidos
grabados en el repositorio se llaman items del repositorio.
El API JAXR no proporciona directamente el acceso al repositorio. En su lugar, todo el acceso al repositorio se hace a través
del registro. Como tal, el repositorio es un detalle de implementación de un registro. Se menciona en esta especificación
solamente como concepto. Sin embargo, ni el repositorio ni los items del repositorio son parte del modelo de información JAXR
o del API.
Registro y Entradas de Registro
Cuando un SO envía items a repositorio usando el API JAXR, también proporciona los
metadata adicionales que catalogan o describen los items del repositorio. Dichos
metadatas son referidos como entradas del registro en el modelo de información JAXR.
En resumen, un repositorio es un contenedor del contenido enviado mientras que un registro es un catálogo que describe
el contenido enviado al repositorio. Deberíamos observar que no todos los registros incluyen las funcionaliades de repositorio.
Funcionalidad de un Registro
Esta sección describe las funcionalidades proporcionadas por un registro.
Registro como Páginas Amarillas Electrónicas
Los registros facilitan la creación de relaciones de negocio proporcionando un servicio de intercambio de infromación independiente
online que permite que los proveedores de servicios (vendedores) anuncien sus productos y servicios, y los consumidores del servicio
(compradores) descubranr estos productos y servicios. Dicho servicio de intercambio de información se conoce a veces como
"páginas amarillas electrónicas".
Capacidad de Clasificación Flexible
Los registros proporcionan a una rica capacidad de clasificación que permite que los proveedores de contenido clasifiquen
el contenido como las descripciones de la organización y su servicio de formas arbitrarias y flexibles. Por ejemplo, el contenido
enviado al registro puede ser la descripción de una organización de negocio que esté clasificada por la industria a la que pertenece,
por la zona geografíca donde se localiza, por los procesos que soporta el negocio, y por los productos que vende.
Dichas capacidades de clasificación flexible de registro facilitan la localización del contenido por las partes interesadas.
Registro como una Base de Datos de Datos Relativamente Estáticos
Un registro (y su repositorio) almacena metadatos y datos. De esta forma, es mucho más que una base de datos. Almacena información
sobre:
- Descripciones de proceso del negocio colaborativo que describen en formato XML un protocolo específico del negocio.
(por ejemplo, RosettaNet PIP3A4 para ordenes de compra)
- Las partes de un proceso de negocio colaborativo.
- Esquemas ML que definen la estructura de documentos XML intercambiados durante un proceso de negocio colaborativo.
Un registro desempeña un papel en aplicaciones B2B que es similar al jugado por las bases de datos en aplicaciones empresariales;
proporciona una forma para que las aplicaciones graben la información relativamente estática de forma confiada y permiten compartir
dicha información.
Registro como Boletín Electrónico
Un registro también puede proporcionar medios para intercambiar el contenido dinámico entre las partes. Los ejemplos incluyen la
notificación genérica de eventos, cambios de precios, descuentos, promociones, etc. Dichas capacidades dinámicas permiten
más sociedades B2B "Just-In-Time".
Especificaciones de Registros Existentes
Actualmente hay varias especificaciones de registro. Los ejemplos incluyen OASIS, el marco de trabajo
eCo, ebXML y UDDI. Al igual que podría haber ciertas semejanzas
entre estas especificaciones, en general son diferentes.
El API JAXR aspira a ser la confluencia de varias especificaciones de registros como se ve en la sigueinte figura.
Árbol de Familia de las Especificaciones de Registro.
Proveedor de Registro
Un proveedor de registro proporciona una implementación de una especificación o estándar de registro. Los ejemplos
incluyen:
- Un proveedor de registro UDDI que implementa especificaciones de regsitro UDDI.
- Un proveedor de registro ebXML que implementa especificaciones de registro ebXML.
No se espera que un proveedor de servicio implemente la especificación JAXR.
Proveedor JAXR
Un proveedor JAXR proporciona una implementación de la especificación JAXR. Un proveedor JAXR se puede implementar como su
propio proveedor que cumple el registro JAXR. Sin embargo, es más probable que un proveedor JAXR esté implementado como una
fachada alrededor de un proveedor de registro existente como un registro UDDI o ebXML.
Cliente JAXR
Un cliente JAXR es una programa Java que usa el API JAXR para acceder a servicios proporcionados por un proveedor JAXR.
Soporte para Múltiples Especifiaciones de Registros
El API JAXR debe soportar distintas especificaciones de registro que pueden variar significativamente en sus capacidades
y en el modelo de información subyacente.
JAXR apunta a utilizar diversas especificaciones de registro proporcionando un API amplio y capaz en vez de un API "mínimo
denominador común". Para utilizar una analogía Java, la filosofía JAXR esta relacionada con diseñar una máquina virtual
Java que sea una unión de las capacidades más útiles de todas las plataformas hardware utilizadas en vez de una intersección
de sus capacidades. Este acercamiento para utilizar diversas especificaciones de registro significa que no todos los
registros pueden soportar todos los aspectos del API JAXR.
Capacidades y Perfiles de Capacidad
Los grupos JAXR relacionan características con capacidades. Cada capacidad está representada por un interface JAXR, mientras
que cada característica dentro de una capacidad está representada por un método dentro del interface.
Para facilitar la compatibilidad y para minimizar los problemas de interoperabilidad, JAXR divide las capacidades en un
pequeño número de perfiles de capacidad. Actualmente sólo se han definido dos perfiles.
Un perfil de capacidad define el conjunto de interfaces JAXR que debe soportarse para alcanzar los requerimientos de
ese perfil de capacidad. Un proveedor JAXR debe implementar todos los interfaces completamente según lo requerido
por el perfil de capacidad fuente.
Para facilitar el descubrimiento de la capacidad, JAXR también define un interface discovery
que permite a un cliente interrogar y describir capacidades de registro.
Perfil de Nivel 0
El Perfil de Nivel 0 se requiere que sea soportado por todos los proveedores JAXR. El interface definido mediante
este perfil proporciona las capacidades de registro más básicas.
El API JAXR Business
El perfil de nivel 0 consta de interfaces que definen un API de nivel de negocio que soporta enfoque y funciones
específicas orientadas a negocio. El API Business está diseñado para clientes que
tienen requerimientos sencillos para capacidades de registros. El perfil de nive 0 requiere total soporte para
todos los interfaces incluidos en el API Business.
Perfil Nivel 1
El Perfil Nivel 1 es opcional para los proveedores JAXR. Los interfaces definidos por este perfil proporcionan
capacidades de registros más avanzadas, que son necesarias para clientes JAXR más exigentes y relativamente más
sofisticados. Soportar el perfil de nivel 1 también implica el soporte total del nivel 0.
El API JAXR Generic
El perfil de nivel 1 consta de interfaces que definen un API Generic que proporciona una
funcionalidad más avanzada. Este API está diseñado para clientes que demandan más flexibilidad y capaciades funcionales
del proveedor JAXR. El perfil de nivel 1 requiere total soporte del API Generic.
Múltiples Escenarios de Registro
La siguiente figura muestra cómo el API JXR soporta dos niveles diferentes de perfiles de capacidad. Un cliente JAXR podría
escribirse para usar sólo el API Business como define el pérfil de nivel 0 de JAXR. Dichos
clientes pueden acceder a cualquier proveedor JAXR de una forma portable.
Un cliente JAXR avanzado también podría escribirse para usar el API Generic según lo
definido por el perfil de nivel 1 de JAXR. Este cliente de nivel 1 sólo puede acceder a proveedores JAXR que soporten el
nivel 1 de una forma portable.
Los proveedores para UDDI son compatibles con el nivel 0 y son accesibles mediante el API
Business. Los proveedores JAXR para ebXML son compatibles con el nivel 1 y sin accesibles
mediante los APIs Business o Generic.
Soporte JAXR para Distintas Especificaciones de Registro.