The Java Naming and Directory InterfaceTM (JNDI)
provides naming and directory functionality to applications written
in the JavaTM programming language. It
is designed to be independent of any specific
naming or directory service implementation. Thus a variety of services--new,
emerging, and already deployed ones--can be accessed in a
common way.
The JNDI architecture consists of an API (Application Programming Interface) and an
SPI (Service Provider Interface). Java applications use this API to access a
variety of naming and directory services. The SPI enables a variety of naming and
directory services to be plugged in transparently, allowing the Java application
using the API of the JNDI technology to access their services.
JavaTM 2 SDK, v 1.4 includes JNDI and
four service providers (listed below). These packages
are also available separately
for use with the JDK 1.1.x, the Java 2 SDK, v 1.2 and v 1.3.
Security Enhancements to the LDAP Service Provider
These enhancements bring the LDAP service provider in conformance
with standard LDAP security requirements
(RFC 2829)
and promote better interoperability with widely deployed LDAP servers.
Support for the "Start TLS" (Transport
Layer Security) extension
(RFC 2830)
and External SASL authentication mechanism.
This enables applications to establish
secure sessions over existing LDAP connections.
This feature introduces two new classes.
Support for the GSS-API/Kerberos v5 SASL authentication mechanism
(RFC 2222).
This enables secure, authenticated access to the Windows 2000 and XP
Active Directory servers.
Support for the Digest-MD5 SASL authentication mechanism
(RFC 2831).
To use JNDI with a particular naming or directory service, you need a
JNDI service provider, which is a module that plugs in
beneath the JNDI API to access the naming or directory service. The
Java Software Web site maintains a list of
service providers available
for JNDI.
Java 2 SDK, v 1.4 includes the following service providers: