Java Naming and Directory Interface
![]() | В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Java Naming and Directory Interface (JNDI) — это набор Java API, организованный в виде службы каталогов, который позволяет Java-клиентам открывать и просматривать данные и объекты по их именам. Как любое другое Java API, как набор интерфейсов, JNDI не зависит от нижележащей реализации. В дополнению к этому, он предоставляет реализацию service provider interface (SPI), которая позволяет сервисам директорий работать в паре с каким-либо фреймворком. Это может быть сервер, файл или база данных.
Концепция JNDI основана на двух основных определениях: ассоциация и контекст. Ассоциация (binding) — это соответствие JNDI-имени и объекта. Контекст (context) — это среда, в которой хранится набор ассоциаций между объектами и именами.
Архитектура
[править | править код]
Сервисы Java RMI и Java EE API используют подходы, описанные в JNDI API для поиска объектов в сети. API предоставляет:
- механизм ассоциации (связывания) объекта с именем;
- интерфейс просмотра директорий для выполнения общих запросов;
- интерфейс событий, который позволяет определить клиентам, когда элементы директории были изменены;
- LDAP-расширение для поддержки дополнительных возможностей LDAP-сервисов.
SPI часть интерфейсов позволяет поддерживать практически любой тип именования директорий, включая:
- LDAP
- DNS
- NIS
- сервис именования CORBA
- файловая система