Java Naming and Directory Interface
JNDI est une API Java de connexion à des annuaires, notamment des annuaires LDAP.
Présentation
JNDI signifie Java Naming and Directory Interface, cette API permet :
- d’accéder à différents services de nommage ou de répertoire de façon uniforme ;
- d'organiser et rechercher des informations ou des objets par nommage (java naming and directory interface) ;
- de faire des opérations sur des annuaires (java naming and directory interface) tels que :
Usages
Java EE
JNDI est très utilisée dans l'univers des serveurs d'applications Java et fait partie de l'ensemble des APIs Java EE où il permet de lier un nom (par exemple 'base/sql/login') à une information.
JNDI utilise principalement les packages :
- javax.naming.*
- javax.naming.directory.*
Concepts
Un service de nommage permet d'associer un nom à un objet. Cette association est nommée binding. Un ensemble d'associations nom/objet est nommé un contexte.
Ce contexte est utilisé lors de l'accès à un élément contenu dans le service.
Il existe deux types de contexte :
* Contexte racine * Sous contexte
Un sous-contexte est un contexte relatif à un contexte racine.
Par exemple, c:\ est un contexte racine dans un système de fichiers de type Windows. Le répertoire windows est un sous contexte du contexte racine (C:\windows) qui est dans ce cas nommé sous répertoire.
Dans DNS, com est un contexte racine et test est un sous contexte (test.com)
Utilisation
Architecture
Contexte initial
LDAP
Les concepts JNDI et LDAP diffèrent beaucoup et les noms des méthodes disponibles peuvent entrainer des confusions.