Sistema de Nombrado en Java (JNDI) [Parte I]

Una facilidad fundamental en cualquier sistema de ordenadores es el servicio de nombrado -- significa qu nombres estn asociados con qu objetos y cmo se localizan los objetos basndose 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 electrnico, 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 funcin primaria de un servicio de nombres es mapear nombres amigables para las personas con objetos, como direcciones, identificadores, u objetos tpicamente usados por programas de ordenador. Por ejemplo, el Internet Domain Name System (DNS) mapea nombres de mquinas (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 tambin 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 sntaxis que deben seguir los nombres. Est sntaxis algunas veces es conocida como convencin de nombrado.

Por ejemplo, la convencin de nombrado del sistema de ficheros UNIXTM es que un fichero es nombrado desde su path relativo a la raz 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 raz del sistema de ficheros.

La convencin de nombrado DNS llama a los componentes en el nombre DNS para ordenarlos de derecha a izquierda y estn 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 convencin 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 ms, cada componente del nombre debe ser una pareja nombre/valor con el nombre y el valor separados por el signo igual ("=").

.Uniones

La asociacin de un nombre con un objeto se llama una Unin. Por ejemplo, un nombre de fichero est unido a un fichero.

El DNS contiene uniones que mapea nombres de mquinas 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 informacin sobre cmo acceder a un objeto. Tpicamente, es una representacin mucho ms compacta que puede ser usada para comunicarse con el objeto, mientras que el propio objeto podra contener ms informacin de estado. Usando la referencia podemos contactar con el objeto y obtener ms informacin sobre l.

Por ejemplo, un objeto avin, podra contener una lista de pasajeros y de tripulacin, su plan de vuelo, el estado de combustible y de los instrumentos, y su nmero de vuelo y hora de salida. Por contraste, una referencia a un objeto avin, slo podra contener su nmero de vuelo y su hora de salida.

La referencia es una representacin mucho ms compacta de informacin sobre el objeto avin, y puede usarse para obtener informacin adicional. Por ejemplo, a un objeto fichero, se puede acceder usando una referencia a fichero, tambin llamado manejador de fichero. Por ejemplo, un objeto impresora, podra 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, slo podra contener informacin sobre cmo llegar hasta ella, como el nombre de su servidor de impresin y el protocolo de impresin.

Aunque en general una referencia puede contener cualquier informacin arbitraria, es til referirnos a su contenido co direcciones (o puntos finales de comunicacin): informacin especfica sobre cmo acceder al objeto.

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

.Contexto

Un contexto es un conjunto de uniones nombre-a-objeto. Cada contexto tiene una convencin de nombrado asociada. Un contexto proporciona una operacin de localizacin (resolucin) que devuelve el objeto y podra 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 convencin 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 relacin 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 relacin 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 relacin 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 convencin de nombrado) y proporciona un conjunto comn 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 travs de su propio interface. Por ejemplo, el DNS ofrece un servicio de nombres que mapea el nombre de una mquina a una direccin 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.

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
SIGUIENTE ARTÍCULO

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.