JNDI und seine Verwendung in Java

Muhammad Zeeshan 20 Juni 2023
  1. Java Naming and Directory Interface (JNDI) in Java
  2. Verwendung von JNDI in Java
  3. Vor- und Nachteile von JNDI in Java
JNDI und seine Verwendung in Java

In diesem Artikel wird erläutert, was JNDI (Java Naming and Directory Interface) ist, wie es hauptsächlich verwendet wird und wann es verwendet wird. Es vergleicht auch die Vor- und Nachteile von JNDI in Java.

Java Naming and Directory Interface (JNDI) in Java

Java-Programme können die Namens- und Verzeichnisfunktionen von JNDI, einer Anwendungsprogrammierschnittstelle (API), verwenden.

Es ist möglich, es in verteilten Systemen zu verwenden, was bedeutet, dass selbst wenn ein System über zahlreiche Server verfügt, es dennoch die Informationen über alle Server hinweg teilen kann.

  • Beispielsweise können Sie ein JNDI-Verzeichnis verwenden, um Konfigurationsdaten wie die IP-Adressen von Anwendungsservern zu speichern, und Apps können diese Informationen abrufen.
  • JNDI soll unabhängig von einer Verzeichnisdienstimplementierung betrieben werden. Infolgedessen können Benutzer auf eine breite Palette von Verzeichnissen zugreifen, einschließlich neuer, in Entwicklung befindlicher und bereits implementierter Verzeichnisse.

Verwendung von JNDI in Java

Mit JNDI können Sie auf viele verschiedene Arten von Daten zugreifen, wie z. B. Objekte, Geräte, Dateien mit Namen und Verzeichnisdienste und so weiter. Zum Beispiel verwendet EJB es, um entfernte Objekte zu lokalisieren.

JNDI wurde entwickelt, um einen standardisierten Zugangspunkt zu bereits existierenden Diensten wie DNS, NDS, LDAP, CORBA und RMI bereitzustellen.

Daher sollten Sie die JNDI-Klassen und einen oder mehrere Dienstanbieter haben, um JNDI zu nutzen. Das Java 2 SDK bietet drei verschiedene Dienstanbieter für die unten aufgeführten Namens- und Verzeichnisdienste:

  • Lightweight Directory Access Protocol (LDAP)
  • Common Object Request Broker Architecture (CORBA) Common Object Services (COS) Namensdienst
  • Java Remote Method Invocation (RMI) Registry

Daher erstellen Sie zuerst Objekte und registrieren sie dann bei den Verzeichnisdiensten, damit Sie sie später nachschlagen und Operationen an ihnen ausführen können.

Vor- und Nachteile von JNDI in Java

Im Folgenden sind einige der Vorteile aufgeführt, die JNDI bietet:

  • Wenn Sie eine Bereitstellungssequenz verwenden, bei der Anwendungen aus devl->int->test->prod-Umgebungen migrieren, können Sie die tatsächlich verwendete Datenbank verschleiern, indem Sie in jeder Umgebung denselben JNDI-Namen verwenden.
  • Wenn Anwendungen zwischen Umgebungen migriert werden, müssen keine Änderungen vorgenommen werden.
  • Benennungsaktivitäten, wie Leseoperationen und Operationen zum Ändern des Namensraums, können mit dem JNDI ausgeführt werden.
  • Die Anzahl der Personen, die Zugriff auf eine Datenbank in der Produktion benötigen, kann auf ein Minimum beschränkt werden. Die Verwendung von JNDI kann vor jedermann verborgen bleiben, mit Ausnahme des Java EE-Anwendungsservers.
  • Solange die Ressourcen in einem JNDI-Verzeichnis aufgeführt sind, kann Ihr Code auf einem einzelnen Computer oder in einer verteilten Umgebung darauf zugreifen.
  • Wir können neue Apps erstellen, die stark und portabel sind. Außerdem verwendet es das Objektmodell von Java und ist gut mit der Umgebung verbunden, in der sie bereitgestellt werden.

Einer der Nachteile ist unten angegeben:

  • Einer der Nachteile ist das Fehlen eines Standardsicherheitsmodells; Einige Implementierungen bieten jedoch APIs zum Aufbau verschlüsselter Verbindungen zu Verzeichnisdiensten an.
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn