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

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.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO