Qu’est ce que JNDI? Quelle est son utilisation de base ..? Quand est-il utilisé?

Qu’est ce que JNDI? Quelle est son utilisation de base? Quand est-il utilisé?

Qu’est ce que JNDI?

Il signifie Java Naming and Directory Interface .

Quelle est son utilisation de base?

JNDI permet aux applications dissortingbuées de rechercher des services de manière abstraite, indépendante des ressources.

Quand est-il utilisé?

Le cas d’utilisation le plus courant consiste à configurer un pool de connexions de firebase database sur un serveur d’applications Java EE. Toute application déployée sur ce serveur peut accéder aux connexions dont ils ont besoin en utilisant le nom JNDI java:comp/env/FooBarPool sans avoir à connaître les détails de la connexion.

Cela présente plusieurs avantages:

  1. Si vous avez une séquence de déploiement où les applications passent des devl->int->test->prod , vous pouvez utiliser le même nom JNDI dans chaque environnement et masquer la firebase database utilisée. Les applications n’ont pas à changer à mesure qu’elles migrent d’un environnement à l’autre.
  2. Vous pouvez minimiser le nombre de personnes qui ont besoin de connaître les informations d’identification pour accéder à une firebase database de production. Seul le serveur d’applications Java EE doit savoir si vous utilisez JNDI.

Qu’est ce que JNDI?

JNDI (Java Naming and Directory Interface) est une interface de programmation d’applications (API) qui fournit des fonctionnalités de nommage et d’annuaire aux applications écrites à l’aide du langage de programmation Java TM . Il est défini pour être indépendant de toute implémentation de service d’annuaire spécifique. Ainsi, une variété de répertoires (nouveaux, émergents et déjà déployés) sont accessibles de manière commune.

Quelle est son utilisation de base?

La majeure partie de cette question est abordée dans la réponse ci-dessus, mais je souhaiterais fournir l’architecture ici pour que ce qui précède soit plus logique.

entrer la description de l'image ici

Pour utiliser le JNDI, vous devez avoir les classes JNDI et un ou plusieurs fournisseurs de services. Java 2 SDK, v1.3 comprend trois fournisseurs de services pour les services de noms / répertoires suivants:

  1. Protocole LDAP (Lightweight Directory Access Protocol)
  2. Service CORBA (Common Object Request Broker Architecture) Service de noms COS (Common Object Services)
  3. Registre Java RMI (Remote Method Invocation)

Donc, fondamentalement, vous créez des objects et vous les enregistrez sur les services de répertoire que vous pourrez ensuite rechercher et exécuter les opérations.

JNDI en termes simples est fondamentalement une interface pour pouvoir obtenir des instances de ressources internes / externes telles que

  javax.sql.DataSource, javax.jms.Connection-Factory, javax.jms.QueueConnectionFactory, javax.jms.TopicConnectionFactory, javax.mail.Session, java.net.URL, javax.resource.cci.ConnectionFactory, 

ou tout autre type défini par un adaptateur de ressources JCA. Il fournit une syntaxe permettant de créer un access, qu’il soit interne ou externe. ie (comp / env dans cette instance signifie où composant / environnement, il y a beaucoup d’autres syntaxes):

 jndiContext.lookup("java:comp/env/persistence/customerDB"); 

Présentation de JNDI

JNDI est une API spécifiée dans la technologie Java qui fournit des fonctionnalités de nommage et de répertoire aux applications écrites dans le langage de programmation Java. Il est spécialement conçu pour la plate-forme Java utilisant le modèle d’object Java. Grâce à JNDI, les applications basées sur la technologie Java peuvent stocker et récupérer des objects Java nommés de tout type. En outre, JNDI fournit des méthodes permettant d’effectuer des opérations de répertoire standard, telles que l’association d’atsortingbuts à des objects et la recherche d’objects à l’aide de leurs atsortingbuts.

JNDI est également défini indépendamment de toute implémentation de service de répertoire ou de nom spécifique. Il permet aux applications d’accéder à différents services de nommage et d’annuaire, éventuellement multiples, à l’aide d’une API commune. Différents fournisseurs de services de noms et de répertoires peuvent être connectés en toute transparence derrière cette API commune. Cela permet aux applications basées sur la technologie Java de tirer parti des informations de divers services de noms et de répertoires existants, tels que LDAP, NDS, DNS et NIS (YP), tout en permettant aux applications de coexister avec des logiciels et des systèmes existants.

En utilisant JNDI comme outil, vous pouvez créer de nouvelles applications puissantes et portables qui non seulement tirent parti du modèle d’object de Java, mais qui sont également bien intégrées à l’environnement dans lequel elles sont déployées.

Référence

Qu’est ce que JNDI?

JNDI signifie Java Naming and Directory Interface. Il est livré en standard avec J2EE.

Quelle est son utilisation de base?

Avec cette API, vous pouvez accéder à de nombreux types de données, tels que des objects, des périphériques, des fichiers de noms et des services de répertoire, par exemple. il est utilisé par EJB pour trouver des objects distants. JNDI est conçu pour fournir une interface commune pour accéder aux services existants tels que DNS, NDS, LDAP, CORBA et RMI.

Quand est-il utilisé?

Vous pouvez utiliser JNDI pour effectuer des opérations de dénomination, notamment des opérations de lecture et des opérations de mise à jour de l’espace de noms. Les opérations suivantes sont décrites ici .

Un service d’atsortingbution de noms associe des noms à des objects et trouve des objects en fonction de leur nom (le registre RMI est un bon exemple de service de nommage). JNDI fournit une interface commune à de nombreux services de nommage tels que LDAP, DNS.

Sans JNDI, les informations de localisation ou d’access des ressources distantes devraient être codées en dur dans les applications ou mises à disposition dans une configuration. Maintenir cette information est assez fastidieux et sujet aux erreurs.