JNDI est une API Java de connexion à des annuaires, notamment des annuaires LDAP.
Présentation JNDI signifie , 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 () ; de faire des opérations sur des annuaires () tels que : LDAP : un annuaire léger X500 : normes d'annuaires lourdes à mettre en œuvre NIS : annuaire obsolète
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 : 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
Pour pouvoir utiliser un service de nommage, il faut tout d'abord obtenir un contexte racine qui va encapsuler la connexion au service.
À partir de ce contexte, il est possible de réaliser plusieurs opérations : bind : associer un objet avec un nom rebind : modifier une association unbind : supprimer une association lookup : obtenir un objet à partir de son nom list : obtenir une liste des associations
Toutes les opérations possèdent deux versions surchargées attendant respectivement :
Un objet de type Name : cet objet encapsule une séquence ordonnée de un ou plusieurs éléments (l'intérêt de cette classe est de permettre la manipulation individuelle de chaque élément). Une chaîne de caractères : elle contient la séquence
Architecture
Contexte initial
LDAP Les concepts JNDI et LDAP diffèrent LDAP Operations and JNDI Mapping beaucoup et les noms des méthodes disponibles peuvent entrainer des confusions.
Voir aussi Liens externes Site officiel de JNDI Explications et utilisation de JNDI Pourquoi utiliser JNDI ? Uniformiser le déploiement avec JNDI
Notes
Catégorie:Bibliothèque logicielle Java