Accueil🇫🇷Chercher

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 :
    • 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 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

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

LDAP

Les concepts JNDI et LDAP diffèrent[1] beaucoup et les noms des méthodes disponibles peuvent entrainer des confusions.

Voir aussi

Liens externes

Notes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.