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
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.
Enhancements in Version 1.5.0
Support for accessing the fullname from the NameClassPair class
This feature enables getting the Distinguished Name from the
To support this, two new methods have been added to the
Support for standard LDAP controls
The necessary LDAP controls are already supported in the LDAP
Booster Pack extension package which is available for the JNDI/LDAP
The LDAP controls have been recently standardized in RFCs.
These are made available in the javax.naming.ldap package of J2SE
through the following classes.
Support for manipulation of LDAP names
This feature enables easy manipulation of LDAP Names to build
distinguished names or relative distinguished names methodically, and
enables formatting them into their strings representation
as defined by RFC 2253. To support this, two new classes have been
added to the javax.naming.ldap package.
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 for use with the JDK 1.1.x, the Java 2 SDK, v 1.2, v 1.3 and v 1.4.
Java 2 SDK, v 1.4 includes the following service providers: