Java Naming and Directory Interface

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Reksilier (обсуждение | вклад) в 12:42, 5 июня 2017 (Примечания). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Java Naming and Directory Interface (JNDI) — это набор Java API, организованный в виде службы каталогов, который позволяет Java-клиентам открывать и просматривать данные и объекты по их именам. Как любое другое Java API, как набор интерфейсов, JNDI не зависит от нижележащей реализации. В дополнению к этому, он предоставляет реализацию service provider interface (SPI), которая позволяет сервисам директорий работать в паре с каким-либо фреймворком. Это может быть сервер, файл или база данных[1].

Концепция JNDI основана на двух основных определениях: ассоциация и контекст. Ассоциация (binding) — это соответствие JNDI-имени и объекта. Контекст (context) — это среда, в которой хранится набор ассоциаций между объектами и именами.

Архитектура

Архитектура JNDI

Сервисы Java RMI и Java EE API используют подходы, описанные в JNDI API, для поиска объектов в сети. API предоставляет:

  • механизм ассоциации (связывания) объекта с именем;
  • интерфейс просмотра директорий для выполнения общих запросов;
  • интерфейс событий, который позволяет определить клиентам, когда элементы директории были изменены;
  • LDAP-расширение для поддержки дополнительных возможностей LDAP-сервисов.[2]

SPI часть интерфейсов позволяет поддерживать практически любой тип именования директорий, включая:

  1. Oracle Documentation. JNDI Concepts. docs.oracle.com. docs.oracle.com. Дата обращения: 5 июня 2017.
  2. Служба имен и каталогов JNDI. java-online.ru. Дата обращения: 5 июня 2017.
  3. Oracle Documentation. JNDI Overview. docs.oracle.com. docs.oracle.com.