Apache LDAP API
Developer(s) | Apache Software Foundation |
---|---|
Stable release | 1.0.0-RC2
/ November 2, 2016 |
Written in | Java |
Operating system | Cross-platform |
License | Apache License 2.0 |
Website | http://directory.apache.org/api/ |
Apache LDAP API is an open source project of the Apache Software Foundation and a subproject of the Apache Directory. It's a replacement for outdated Java/LDAP libraries like (jLdap, Mozilla LDAP SDK and JNDI) and works with any LDAP server.
History
The Apache Directory Server project was started using the **JNDI** library, but many of its **LDAP** structures had to be developed in-house because the **JNDI** library was ineffective for interacting with an **LDAP** server. It wasn't convenient for us to use JNDI which means it won't be for you either. Eventually, all of the necessary **LDAP** data structures (_Attribute_, _Entry_, _DN_, ...) were re-implemented by us.
At some point we had to communicate with other **LDAP** servers without using the **JNDI** library, so we developed our own _LdapConnection_ class. This was the first step toward a full **Java API** specifically designed for LDAP usage on the Java platform.
Strangely, after starting this effort (back in 2007), some people from **Sun** (Microsystems), who was working on the **OpenDS** project, contacted us to ask if we'd be interested in helping them create the next version of **JNDI**. ([Resurrecting The Java LDAP Centric API](https://blogs.oracle.com/treydrake/entry/resurrecting_the_java_ldap_centric). Sadly this effort stalled, as the need for *JNDI2* was no longer a priority for **Sun**. Nevertheless we decided to continue our work but the the pace was slow.
The work renewed after the **OpenDS** project team's presentation at **LdapCon** in 2009 ([Towards a common LDAP API for the Java Platform](http://www.symas.com/ldapcon2009/papers/poitou1.shtml)). The story repeated itself once again after **Oracle** bought **Sun** in 2010, and its project team disbanded.
Despite these fits and starts, a consensus was reached about the need for a new LDAP **API** and what it should be capable of doing. We agreed on these key features for the new **LDAP API**:
- A complete coverage of the **LDAP** protocol
- A schema aware **API**
- An easy to use **API**
- An **API** taking advantage of the new **Java** construction (generics, ellipsis, NIO)
Releases
- 1.0.0-RC2 on 2016-11-02 (current release)
- 1.0.0-RC1 on 2016-06-17
- 1.0.0-M33 on 2015-12-21
- 1.0.0-M32 on 2015-10-19
- 1.0.0-M31 on 2015-07-05
- 1.0.0-M30 on 2015-05-02
- 1.0.0-M29 on 2015-04-02
- 1.0.0-M28 on 2015-01-15
- 1.0.0-M27 on 2014-12-29