Java Enterprise: APIs JNDI
Java Naming and Directory Interface (JNDI)
BearbeitenJNDI ist eine Programmierschnittstelle innerhalb der Programmiersprache Java für Namens- und Verzeichnisdienste. Mithilfe dieser Schnittstelle können Daten und Objektreferenzen anhand eines Namens abgelegt und von Nutzern der Schnittstelle abgerufen werden. Die abgerufene Schnittstelle ist dabei unabhängig von der tatsächlichen Implementierung.
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 (z.B. RMI oder Soap) weiteren 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 bereits viele Arten von Namens- und Verzeichnisdiensten, insbesondere von
- LDAP
- DNS
- NIS
- CORBA Namensdienst
- Dateisystem
JNDI ist hierbei ein sogenanntes Service Provider Interface (SPI), das es Herstellern erlaubt, eigene Lösung in dieses Framework einzubinden und somit die Liste der unterstützten Dienste zu erweitern.