JNDI "Java Naming Directory Interface"

JNDI ("Java Naming Directory Interface") es una especificación que permite localizar información en distintos directorios distribuidos (como NDS de Novell), directorios LDAP (como OpenLDAP) o servicios CORBA "(COS)Corba Object Service".Debido a la importancia que tienen los servicios antes mencionados en sistemas empresariales, JNDI es una herramienta que cobrará gran importancia en este tipo de desarrollos

Razones de JNDI

En la sección de LDAP se mencionó el diseño de un cliente LDAP el cual es utilizado para autorizar usuarios en un sistema de computo. La principal deficiencia de este cliente LDAP es la inhabilidad de realizar búsquedas o autorización en otros sistemas que puedan contener información de usuarios o contraseñas.(Como NDS de Novell o ADS).

En la mayoría de las empresas este suele ser el caso: la existencia de diversos depósitos de información sin ninguna uniformidad para accesarlos, obviamente el escribir diversos clientes para realizar búsquedas en los distintos sistemas empresariales no seria imposible pero si una labor ardua. Debido a esto surgió JNDI.

JNDI y SPI

Mediante JNDI se definen varios estándares para realizar búsquedas en diversos sistemas de información como LDAP Servers, NDS, COS. Observe el diagrama:

Mapeo JNDI hacia LDAP,NDS, COS

Naming Manager

Al escribir el programa en "Java" y que éste busque información de cualquier tipo en un directorio distribuido o "LDAP" debe indicarse dentro del programa la ubicación del directorio "LDAP Server", esto es, el "LDAP Server" o "NDS Novell se encuentra en el nodo IP 193.21.12.5, osmosislatina.com, isp.com ? Es mediante el "Naming Manager" que se logra insular la ubicación física del sistema en cuestión.

Lo anterior es de suma importancia al desarrollar aplicaciones que utilicen RMI/CORBA ya que les permite cambiar de "servidor físico" sin la necesidad de modificar el código fuente de la aplicación.