Mozilla LDAP SDK Programmer's Guide/Choosing a Client SDK

From MozillaWiki
Jump to: navigation, search

This section discusses software development kits to help you select the appropriate directory SDK for your particular situation.

Java Naming and Directory Interface

Java Naming and Directory Interface (JNDI) technology supports directory access through LDAP and DSML v2 from JavaTM applications, and is part of the Java platform. With JNDI, you can build powerful, portable, directory-enabled applications that do not depend on classes outside the Java platform.

JNDI provides an abstract model that lets you access not only directories, but also naming services in general, including DNS, RMI, COS, and file systems.

For information about JNDI, see http://java.sun.com/products/jndi/. The JNDI Tutorial contains descriptions and examples of how to use JNDI. The tutorial is at http://java.sun.com/products/jndi/tutorial/.

Mozilla LDAP C SDK

LDAP C SDK lets you access LDAP directories from C and C++ applications. LDAP C SDK applications depend on LDAP C SDK libraries, which are available on a wide range of platforms.

LDAP C SDK was the subject of Internet-Draft work but never became a standard API. LDAP C SDK closely follows LDAP v3, providing support for core LDAP operations and for LDAP v3 extensions and widely used controls. LDAP C SDK offers a rich API to the C and C++ developer familiar with the LDAP model. Directory Server relies on LDAP C SDK.

LDAP C SDK code is published in open source form as part of the Mozilla Directory SDK project.

Mozilla LDAP Java SDK

LDAP Java SDK lets you access LDAP directories from Java applications, but it is not part of the Java platform.

Although not a standard API, LDAP Java SDK closely follows LDAP v3 idioms. LDAP Java SDK provides a rich set of interfaces to the Java developer familiar with the LDAP model.

LDAP Java SDK code is published in open source form as part of the Mozilla Directory SDK project.

Operating System libldap Library

The native LDAP library on SolarisTM systems provides essentially the same API as LDAP C SDK. Many LDAP C SDK need only be recompiled to work with libldap.

The Solaris LDAP library is sometimes not compatible with libldap on many GNU/Linux distributions. Many GNU/Linux distributions provide OpenLDAP support by default.

Support for Other Programming Languages

Support for directory access is available in a number of contexts where you do not choose to use the C or Java languages.

For example, Perl has the PerLDAP module and the Net::LDAP collection of modules. Python has the python-ldap package. PHP can be compiled with LDAP support. Ruby has the Ruby/LDAP extension module. In many cases, you can choose the language that fits the task and find that LDAP support is available.