Java Naming and Directory Interface
Java Naming and Directory Interface (JNDI) ist eine Programmierschnittstelle (API) innerhalb der Programmiersprache Java für Namensdienste und Verzeichnisdienste. Mithilfe dieser Schnittstelle können Daten und Objektreferenzen anhand eines Namens abgelegt und von Nutzern der Schnittstelle abgerufen werden. Die Schnittstelle ist dabei unabhängig von der tatsächlichen Implementierung. Vielmehr ist JNDI ein sogenanntes Service Provider Interface (SPI), das es Herstellern erlaubt, eigene Lösung in dieses Framework einzubinden.
In der Praxis wird JNDI vor allem dazu benutzt, im Rahmen von Java Enterprise Anwendungen (J2EE-Anwendungen) verteilte Objekte in einem Netzwerk zu registrieren und sie für Remote-Aufrufe (RMI) weiteren Java-Programmteilen zur Verfügung zu stellen.
Das API enthält
- einen Mechanismus zur Bindung eines Objekts an einen Namen
- Methoden für den Abruf von Informationen anhand eines Namens
- ein Ereigniskonzept, über das Clients von Änderungen informiert werden
- spezielle Erweiterungen für LDAP-Funktionalitäten
JNDI erlaubt die Unterstützung praktisch aller Arten von Namens- und Verzeichnisdiensten, insbesondere von