JNDI y sus usos en Java

Muhammad Zeeshan 20 junio 2023
  1. Interfaz de nombres y directorios de Java (JNDI) en Java
  2. Usos de JNDI en Java
  3. Ventajas y desventajas de JNDI en Java
JNDI y sus usos en Java

Este artículo discutirá qué es JNDI (Java Naming and Directory Interface), su uso principal y cuándo se usa. También compara los pros y los contras de JNDI en Java.

Interfaz de nombres y directorios de Java (JNDI) en Java

Los programas Java pueden usar las capacidades de nombre y directorio de JNDI, una interfaz de programación de aplicaciones (API).

Es posible utilizarlo en sistemas distribuidos, lo que significa que incluso si un sistema tiene numerosos servidores, aún puede compartir la información entre todos los servidores.

  • Por ejemplo, puede usar un directorio JNDI para almacenar datos de configuración, como las direcciones IP de los servidores de aplicaciones, y las aplicaciones podrán recuperar esta información.
  • JNDI está destinado a operar independientemente de cualquier implementación de servicio de directorio. Como resultado, los usuarios pueden acceder a una amplia gama de directorios, incluidos los que son nuevos, en desarrollo y ya implementados.

Usos de JNDI en Java

Puede acceder a muchos tipos diferentes de datos utilizando JNDI, como objetos, dispositivos, archivos de nombre y servicios de directorio, etc. Por ejemplo, EJB lo usa para localizar objetos remotos.

JNDI se desarrolló para proporcionar un punto de entrada estandarizado a servicios preexistentes como DNS, NDS, LDAP, CORBA y RMI.

Por lo tanto, debe tener las clases JNDI y uno o más proveedores de servicios para utilizar JNDI. El SDK de Java 2 ofrece tres proveedores de servicios diferentes para los servicios de nombres y directorios que se enumeran a continuación:

  • Protocolo Ligero de Acceso a Directorios (LDAP)
  • Servicio de nombres Common Object Request Broker Architecture (CORBA) Common Object Services (COS)
  • Registro de Invocación de Método Remoto Java (RMI)

Por lo tanto, primero construye objetos y luego los registra en los servicios de directorio para que pueda buscarlos y realizar operaciones sobre ellos más adelante.

Ventajas y desventajas de JNDI en Java

Las siguientes son algunas de las ventajas que ofrece JNDI:

  • Cuando utiliza una secuencia de implementación en la que las aplicaciones migran desde entornos devl->int->test->prod, puede ocultar la base de datos real utilizada utilizando el mismo nombre JNDI en cada entorno.
  • Cuando las aplicaciones migran entre entornos, no es necesario realizar ningún cambio.
  • Las actividades de denominación, como las operaciones de lectura y las operaciones de modificación del espacio de nombres, se pueden ejecutar mediante el JNDI.
  • Se podrá minimizar el número de personas que requieran acceso a una base de datos en producción. El uso de JNDI puede permanecer oculto para cualquiera, excepto para el servidor de aplicaciones Java EE.
  • Siempre que los recursos estén listados en un directorio JNDI, su código puede acceder a ellos en una sola computadora o en un entorno distribuido.
  • Podemos crear nuevas aplicaciones que sean fuertes y portátiles. Además, utiliza el modelo de objetos de Java y está bien conectado con el entorno en el que se implementan.

Una de las desventajas se da a continuación:

  • Uno de los inconvenientes es la ausencia de un modelo de seguridad predeterminado; sin embargo, algunas implementaciones ofrecen API para establecer conexiones encriptadas a servicios de directorio.
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