JNDI


JNDI

La Interfaz de Nombrado y Directorio Java (Java Naming and Directory Interface) es una Interfaz de Programación de Aplicaciones (API) para servicios de directorio. Esto permite a los clientes descubrir y buscar objetos y nombres a través de un nombre y, como todas las APIs de Java que hacen de interfaz con sistemas host, es independiente de la implementación subyacente. Adicionalmente, especifica una interfaz de proveedor de servicio (SPI) que permite que las implementaciones del servicio de directorio sean integradas en el framework. Las implementaciones pueden hacer uso de un servidor, un fichero, o una base de datos; la elección depende del vendedor.

Contenido

Introducción

La API JNDI se usa por Invocación a Método Remoto de Java y a las APIs J2EE para buscar objetos en una red. JINI tiene su propio servicio de búsqueda y no usa la API de JNDI.

La API suministra:

  • un mecanismo para asociar(bind) un objeto a un nombre
  • una interfaz de búsqueda de directorio que permite consultas generales
  • una interfaz de eventos que permite a los clientes determinar cuando las entradas de directorio han sido modificadas
  • extensiones LDAP para soportar las capacidades adicionales de un servicio LDAP

La porción SPI permite el soporte de prácticamente cualquier tipo de servicio de directorio o nombrado incluyendo:

La especificación JNDI fue primero liberada por Sun Microsystems el 10 de marzo de 1997.[1]. En 2006, la versión vigente es JNDI 1.2.

Búsqueda básica

JNDI organiza sus nombres en una jerarquía. Un nombre puede ser cualquier string tal como "com.mydomain.ejb.MyBean". Un nombre también puede ser un objeto que soporte la interfaz Name, sin embargo la forma más común de nombrar a un objeto es un string. Un nombre se asocia a un objeto en el directorio almacenando el objeto o una referencia JNDI al objeto en el servicio de directorio identificado por el nombre.

La API JNDI define un contexto que especifica donde buscar un objeto. El contexto inicial se usa normalmente como punto de partida.

En el caso más simple, un contexto inicial debe crearse usando la implementación específica y los parámetros extra requeridos por la implementación. El contexto inicial será usado para buscar un nombre. El contexto inicial es análogo a la raíz de un árbol de directorios para un sistema de ficheros. Debajo hay un ejemplo de cómo crear un contexto inicial:

 Hashtable args = new Hashtable();
 //primero debes especificar la factory.
 //Así es como eliges entre la implementación  jboss o una de Sun
 args.put( Context.INITIAL_CONTEXT_FACTORY, "com.jndiprovider.TheirContextFactory");
 //El siguiente argumento es la URL que especifica dónde está el almacén de datos:
 args.put( Context.PROVIDER_URL, <nowiki>"http://jndiprovider-database"</nowiki> );
 //Puedes tener que suministrar credenciales de seguridad
 //lo siguiente es crear el contexto inicial
 Context myCurrentContext = new InitialContext( args );

Un contexto se usa entonces para buscar previamente los nombres asociados en ese contexto. Por ejemplo:

 Object reference = myCurrentContext.lookup( "com.mydomain.MyBean" );
 //este paso es obligatorio con EJB.
 MyBean myBean = (MyBean) PortableRemoteObject.narrow( reference, MyBean.class );

Búsquedas

Los atributos pueden ser adjuntados a entradas especiales llamadas directorios. Los Directorios se necesitan para permitir la búsqueda de objetos por sus atributos asociados. Los Directorios son un tipo de contexto, ellos restringen el espacio del nombres más como lo hace una estructura de directorios en un sistema de ficheros.

Enlaces externos


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • JNDI — est une API Java de connexion à des annuaires, notamment des annuaires LDAP. Sommaire 1 Présentation 2 Usages 2.1 J2EE 3 Concepts …   Wikipédia en Français

  • JNDI — Java Naming and Directory Interface (JNDI) ist eine Programmierschnittstelle (API) innerhalb der Programmiersprache Java für Namensdienste und Verzeichnisdienste. Mit Hilfe dieser Schnittstelle können Daten und Objektreferenzen anhand eines… …   Deutsch Wikipedia

  • JNDI — noun Java naming and directory interface …   Wiktionary

  • JNDI — Java Naming And Directory Interface (Computing » Software) …   Abbreviations dictionary

  • JNDI — Java Naming and Directory Interface …   Acronyms

  • JNDI — ● ►en sg. f. tm. ►PROG Java Naming and Directory Interface. Extension de Java permettant aux programmes codés dans ce langage d accéder aux services d annuaire les plus courants …   Dictionnaire d'informatique francophone

  • JNDI — Java Naming and Directory Interface …   Acronyms von A bis Z

  • JNDI — abbr. Java Naming and Directory Interface (JavaSoft, API, Java) …   United dictionary of abbreviations and acronyms

  • Java Naming and Directory Interface — JNDI est une API Java de connexion à des annuaires, notamment des annuaires LDAP. Sommaire 1 Présentation 2 Usages 2.1 Java EE 3 Concepts …   Wikipédia en Français

  • Java Naming and Directory Interface — (JNDI) ist eine Programmierschnittstelle (API) innerhalb der Programmiersprache Java für Namensdienste und Verzeichnisdienste. Mit Hilfe dieser Schnittstelle können Daten und Objektreferenzen anhand eines Namens abgelegt und von Nutzern der… …   Deutsch Wikipedia