Java Enterprise: APIs JNDI

Java Naming and Directory Interface (JNDI)

Bearbeiten

JNDI 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.