Programación en castellano Añadir una dirección | Buscador | Cursos | Artículos | Foros | Formación

Sistema de Nombrado en Java (JNDI) [Parte I]
Autor: Sun
Traductor: Juan Antonio Palos (Ozito)


En esta página:


URLs como Referencias para Federaciones

Federación es el proceso de "enganchar" sistemas de nombres para que el sistema agregado pueda procesar nombres mixtos. Un significado básico por el que federamos sistemas para unir la referencia de un sistema de nombrado a un contexto en otro sistema de nombrado. La lección Almacenar Objetos en Directorios contiene descripciones de la clase Reference y cómo almacenar estas referencias desde el directorio.

El contenido de una referencia usado para federación no está restringido, pero un tipo útil de referencia es uno que contiene un string URL. Podemos crear una Reference desde un string URL creando un StringRefAddr cuyo tipo sea "URL" y cuyo contenido es el string URL.

Aquí tenemos un ejemplo de una referencia a un contexto del sistema de ficheros.

// Create the file system reference
Reference fsRef = new Reference("javax.naming.Context", 
    new StringRefAddr("URL", "file:/tmp"));

Podemos unir esta referencia a otros sistema de nombrado, como el LDAP.

ldapCtx.bind("cn=fs", fsRef);

El LDAP y el sistema de fichero ahora están federados.

Ahora, suministramos el nombre al proveedor de servicios LDAP que expande ambos sistemas de nombres, el LDAP y el sistema de ficheros.

Object obj = ldapCtx.lookup("cn=fs/tutorial/report.txt");

Aunque el nombre "cn=fs" que está en el sistema de nombres LDAP, está nombrando un objeto en el sistema de ficheros, el objeto (contexto) llamado por la URL "file:/tmp".

Cuando el proveedor de servicios LDAP procesa la entrada "cn=fs", le pide al JNDI que devuelva el contexto identificado por esa entrada para que pueda continuar con la operación. El proveedor de servicio hace esto usando NamingManager.getContinuationContext() y DirectoryManager.getContinuationDirContext(), que se explican en la sección Construir un Proveedor de Servicio. El JNDI, cuando ofrece una referencia que contiene una "URL" StringRefAddr y no contiene un nombre de factoría de clases, devolverá el string URL en la referencia dentro de un contexto usando el mismo algoritmo usado para localizar una implementación de contexto URL, como es explicó en la sección URLs como Nombres del Contexto Inicial de esta lección. En el ejemplo anterior, el JNDI usa la implementación de contexto file para procesar la URL "file:/tmp". Luego usa el contexto resultante para procesar el resto del nombre: "tutorial/report.txt".


Principio Página
© 1999-2002, Programación en castellano, s.l.
Contacto - Datos legales

ReD Internet: Hospedaje Web | envio sms gratis | Salvapantallas | Fondos de Escritorio, famosas | melodias moviles gratis| Gratis