!!! [Java] [LDAP] [APIs]

We use a bunch of different [LDAP] [SDK]s and we like [UnboundID LDAP SDK |http://www.unboundid.com/products/ldapsdk/] best.

!! [UnboundID LDAP SDK For Java]
We like [UnboundID LDAP SDK For Java] and think it is the best maintained [SDK] and provides the best features.

Excellent [LDAP] [API] with considerable [LDAP Connection Pool] capabilities.

!! [Apache Directory LDAP API|https://directory.apache.org/api/|target='_blank']
The [Apache Directory LDAP API|https://directory.apache.org/api/|target='_blank'] is an ongoing effort to provide an enhanced LDAP API, as a replacement for [JNDI] and the existing LDAP API ([jLdap] and [Mozilla] LDAP API).
This is a "schema aware" API with some convenient ways to access all types of LDAP servers, not only [ApacheDS] but any [LDAP] server.


!! [Novell's SDK|http://developer.novell.com/wiki/index.php/LDAP_Classes_for_Java]
Certainly if you are using [eDirectory] consider this, but it has not been maintained and has had no updates in years!

There are two branches:
! [com.novell.ldap|http://developer.novell.com/documentation/jldap/jldapenu/api/index.html]
Javadoc for the [com.novell.ldap|http://developer.novell.com/documentation/jldap/jldapenu/api/index.html] package is located on the Web, or on the local disk once the documentation has been installed (default location is C:\Novell\NDK\jldap\doc\jldapenu\api)
com.novell.ldap
This package contains the Novell Java Classes for LDAP. It includes the following:
* Classes defined by the IETF Java LDAP API Internet Draft
* Classes defined by IETF Java LDAP Internet Drafts on controls
* Classes supporting SSL authentication
* Classes supporting Novell defined extensions
* Classes supporting controls for eDirectory operations like partition and replica operations.
* Classes providing OID definitions for common syntaxes, attributes, controls, etc.
* Classes supporting generation of ASN.1 for customer defined controls or extensions

! [org.ietf.ldap|http://developer.novell.com/documentation/jldap/jldapenu/ietfapi/index.html]
This package contains only those classes defined by the current IETF drafts and RFCs, and should be used when binary compatibility with other SDKs are required. It includes the following:
* Classes defined by the IETF Java LDAP API Internet Draft
* Classes defined by IETF Java LDAP Internet Drafts on controls

Javadoc for the [org.ietf.ldap|http://developer.novell.com/documentation/jldap/jldapenu/ietfapi/index.html] package is located on the Web , or on the local disk once the documentation has been installed (default location is C:\Novell\NDK\jldap\doc\jldapenu\ietfapi)


! [Other Information on Novell SDK|http://developer.novell.com/wiki/index.php/Developer_Home]
You may also need some of [Novell's other APIs|http://developer.novell.com/wiki/index.php/Developer_Home] depending on what you are trying to acomplish.

If you are working with [Universal Password], you may need the [NMAS] APIs.

!! [OpenDJ LDAP SDK|http://opendj.forgerock.org/opendj-ldap-sdk/]
The [OpenDJ] [LDAP] SDK provides a set of modern, developer-friendly [Java] [APIs] as part of the OpenDJ product suite. The product suite includes the client [SDK] alongside command-line tools and sample code, a 100% pure Java directory server, and more. You can use OpenDJ SDK to create client applications for use with any server that complies with the, RFC 4510: Lightweight Directory Access Protocol (LDAP): Technical Specification Road Map.

!! [Oracle SDK|http://docs.oracle.com/cd/E19957-01/816-5618-10/]
Well, I think [Oracle] may have another [SDK] or two, but they are such a mess I can not find anything else.

!! [OpenLDAP SDK|http://www.openldap.org/jldap/]
As we understand thing, this is a fork of the [Novell's SDK|http://developer.novell.com/wiki/index.php/LDAP_Classes_for_Java]; However, it appears that at some point in time, the code base has diverged and they are no longer maintained in the same fashion.


!! [J2EE Applications|http://java.sun.com/products/jndi/]
The [Java Naming and Directory Interface] [JNDI] is part of the [Java] platform, providing applications based on Java technology with a unified interface to multiple naming and directory services. You can build powerful and portable directory-enabled applications using this industry standard works in concert with other technologies in the Java 2 Platform, Enterprise Edition (J2EE) to organize and locate components in a distributed computing environment.

[{$applicationname}] feels [JNDI] is not nearly as convenient and typically has a higher learning curve than a dedicated [{$pagename}]

!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]