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:


Conceptos de Nombrado

Una facilidad fundamental en cualquier sistema de ordenadores es el servicio de nombrado -- significa qué nombres están asociados con qué objetos y cómo se localizan los objetos basándose en sus nombres. Cuando usamos cualquier programa o sistema de ordenador, siempre estamos nombrando un objeto u otro. Por ejemplo, cuando usamos un sistema de correo electrónico, debemos proporcionar el nombre del recipiente al que queremos enviar el correo. Para acceder a un fichero en el ordenador, debemos suministrar su nombre. Un servicio de nombres nos permite localizar un objeto dando su nombre.

La función primaria de un servicio de nombres es mapear nombres amigables para las personas con objetos, como direcciones, identificadores, u objetos típicamente usados por programas de ordenador. Por ejemplo, el Internet Domain Name System (DNS) mapea nombres de máquinas (como www.sun.com) a direcciones IP (como 192.9.48.5). Un sistema de ficheros mapea un nombre de fichero (por ejemplo, c:\bin\autoexec.bat) a un manejador de fichero que el programa pueda usar para acceder a los contenidos del fichero. Estos dos ejemplos también ilustran el ámplio rango de escalas en las que existen servicios de nombrado -- desde nombrar un objeto en Internet hasta nombrar un objeto en el sistema local de ficheros.

Nombres

Para localizar un objeto en un sistema de nombrado, suministramos el nombre del objeto. El sistema de nombrado determina la síntaxis que deben seguir los nombres. Está síntaxis algunas veces es conocida como convención de nombrado.

Por ejemplo, la convención de nombrado del sistema de ficheros UNIXTM es que un fichero es nombrado desde su path relativo a la raíz del sistema de ficheros, con cada componente separado por una barra inclinada ("/").

Por ejemplo, el nombre de path UNIX, /usr/hello, nombra un fichero hello en el directorio usr, que está localizacio en el directorio raíz del sistema de ficheros.

La convención de nombrado DNS llama a los componentes en el nombre DNS para ordenarlos de derecha a izquierda y están delimitados por puntos ("."). Así el nombre DNS sales.Wiz.COM nombra una entrada DNS con el nombre sales, relativo a la entrada DNS Wiz.COM.

A su vez, la entrada DNS Wiz.COM, nombra una entrada con el nombre Wiz en la entrada COM.

La convención de nombrado de Lightweight Directory Access Protocol (LDAP) ordena ls componentes de derecha a izquierda, delimitados por comas (","). Así, el nombre LDAP cn=Rosanna Lee, o=Sun, c=US nombra una entrada LDAP cn=Rosanna Lee, relativa a la entrada o=Sun, que a su vez, es relativa a c=us.

El LDAP tiene una regla más, cada componente del nombre debe ser una pareja nombre/valor con el nombre y el valor separados por el signo igual ("=").

Uniones

La asociación de un nombre con un objeto se llama una Unión. Por ejemplo, un nombre de fichero está unido a un fichero.

El DNS contiene uniones que mapea nombres de máquinas a direcciones IP. Un nombre LDAP está unido a una entrada LDAP.

Referencias y Direcciones

Dependiendo del servicio de nombres, algunos objetos no pueden almacenarse directamente, es decir, no se puede situar una copia del objeto dentro del servicio de nombrado. En su lugar, deben ser almacenados por referencia; es decir, un puntero o una referencia al objeto se almacenan dentro del servicio de nombrado. Una referencia es información sobre cómo acceder a un objeto. Típicamente, es una representación mucho más compacta que puede ser usada para comunicarse con el objeto, mientras que el propio objeto podría contener más información de estado. Usando la referencia podemos contactar con el objeto y obtener más información sobre él.

Por ejemplo, un objeto avión, podría contener una lista de pasajeros y de tripulación, su plan de vuelo, el estado de combustible y de los instrumentos, y su número de vuelo y hora de salida. Por contraste, una referencia a un objeto avión, sólo podría contener su número de vuelo y su hora de salida.

La referencia es una representación mucho más compacta de información sobre el objeto avión, y puede usarse para obtener información adicional. Por ejemplo, a un objeto fichero, se puede acceder usando una referencia a fichero, también llamado manejador de fichero. Por ejemplo, un objeto impresora, podría contener el estado de la impresora, como su cola actual y la cantidad de papel que le queda. Por otro lado, una referencia al objeto impresora, sólo podría contener información sobre cómo llegar hasta ella, como el nombre de su servidor de impresión y el protocolo de impresión.

Aunque en general una referencia puede contener cualquier información arbitraria, es útil referirnos a su contenido co direcciones (o puntos finales de comunicación): información específica sobre cómo acceder al objeto.

Por simplicidad, este tutorial usa "objeto" para referirse tanto a objetos como a referencias a objetos cuando no se requiera una distinción entre los dos.

Contexto

Un contexto es un conjunto de uniones nombre-a-objeto. Cada contexto tiene una convención de nombrado asociada. Un contexto proporciona una operación de localización (resolución) que devuelve el objeto y podría proporcionar operaciones como aquellas para unir nombres, desunir nombres y listar uniones de nombres. Un nombre en un objeto contexto puede unirse a otro objeto contexto (llamado un subcontexto) que tenga la misma convención de nombrado.

Por ejemplo, un directorio de ficheros, como /usr, en el sistema de ficheros UNIX es un contexto. Un directorio de ficheros nombrado en relación a otro directorio de ficheros es un un subcontexto (algunos usuarios UNIX se refieren a esto como un subdirectorio). Es decir, en un directorio de fichero /usr/bin, el directorio bin es un subcontexto de usr. En otro ejemplo, un dominio DNS, como por ejemplo COM, es un contexto. Un dominio DNS nombrado en relación a otro dominio DNS es un subcontexto. Por ejemplo, en el dominio DNS Sun.COM, el dominio DNS Sun es un subcontexto de COM.

Finalmente, una entrada LDAP como c=us, es un contexto. Una entrada LDAP nombrada en relación a otra entrada LDAP es un subcontexto. Por ejemplo, en un entrada LADP o=sun,c=us, la entrada o=sun es un subcontexto de c=us.

Sistemas de Nombrado y Espacios de Nombres

Un sistema de nombrado está conectado a un conjunto de contextos del mismo tipo (tienen la misma convención de nombrado) y proporciona un conjunto común de operaciones.

Por jemplo, un sistema que implementa el DNS es un sistema de nombrado. Un sistema que se comunique usando LDAP es un sistema de nombrado.

Un sistema de nombrado proporciona un servicio de nombrado a sus clientes para realizar operaciones relacionadas con el nombrado. A un servicio de nombrado se accede a través de su propio interface. Por ejemplo, el DNS ofrece un servicio de nombres que mapea el nombre de una máquina a una dirección IP. El LDAP ofrece un servicio de nombres que mapea nombres LDAP a entradas LDAP. Un sistema de ficheros ofrece un servicio de nombres que mapea los nombres de ficheros a ficheros y directorios.

Un espacio de nombres es el conjunto de nombres en un sistema de nombrado. Por ejemplo, el sistema de ficheros UNIX tiene un espacio de nombres que consiste en todos los nombres de ficheros y directorios en ese sistema de ficheros. El espacio de nombres DNS contiene nombres de dominios DNS y entradas.

El espacio de nombres LDAP contiene nombres de entradas LDAP.


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