99 lines
5.1 KiB
Plaintext
99 lines
5.1 KiB
Plaintext
<!--
|
|
|
|
Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
|
|
Portions copyright 1999 Netscape Communications Corporation. All
|
|
Rights Reserved.
|
|
|
|
The contents of this document are subject to the terms of the
|
|
Creative Commons Attribution-ShareAlike 2.5 license or any later
|
|
version (the "License"). You may not use this document except in
|
|
compliance with the License.
|
|
|
|
See the License for the specific language governing
|
|
permissions and limitations under the License. You can obtain
|
|
a copy of the License at
|
|
http://creativecommons.org/licenses/by-sa/2.5/legalcode.
|
|
|
|
-->
|
|
<chapter id="best-practices-choose"><title>Choosing a Client
|
|
SDK</title>
|
|
<highlights>
|
|
<para>This chapter discusses software development kits to help you select
|
|
the appropriate directory SDK for your particular situation.</para>
|
|
<itemizedlist>
|
|
<para>This chapter covers the following topics:</para>
|
|
<listitem><para><olink targetptr="choose-jndi">Java Naming and Directory Interface
|
|
</olink></para></listitem>
|
|
<listitem><para><olink targetptr="choose-ljdk">Directory SDK for Java</olink></para>
|
|
</listitem>
|
|
<listitem><para><olink targetptr="choose-cdsk">Directory SDK for C</olink></para>
|
|
</listitem>
|
|
<listitem><para><olink targetptr="choose-solaris-libldap">Operating System libldap Library</olink></para></listitem>
|
|
<listitem><para><olink targetptr="choose-other">Support for Other Programming
|
|
Languages</olink></para></listitem>
|
|
</itemizedlist>
|
|
</highlights>
|
|
<sect1 id="choose-jndi"><title>Java Naming and Directory Interface</title>
|
|
<indexterm>
|
|
<primary>Java Naming and Directory Interface</primary>
|
|
</indexterm><indexterm>
|
|
<primary>JNDI</primary>
|
|
<see>Java Naming and Directory Interface</see></indexterm>
|
|
<para>Java Naming and Directory Interface (JNDI) technology supports directory
|
|
access through LDAP and DSML v2 from <trademark>Java</trademark> 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.</para>
|
|
<para>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.</para>
|
|
<para>For information about JNDI, see <ulink
|
|
url="http://java.sun.com/products/jndi/" type="url"></ulink>. The <citetitle>JNDI
|
|
Tutorial</citetitle> contains descriptions and examples of how to use JNDI.
|
|
The tutorial is at <ulink url="http://java.sun.com/products/jndi/tutorial/"
|
|
type="url"></ulink>.</para></sect1>
|
|
<sect1 id="choose-cdsk"><title>&DirectorySDKForC;</title>
|
|
<para>&DirectorySDKForC; lets you access LDAP directories from C and C++
|
|
applications. &DirectorySDKForC; applications depend on &DirectorySDKForC; libraries,
|
|
which are available on a wide range of platforms.</para>
|
|
<para>&DirectorySDKForC; was the subject of Internet-Draft work but never
|
|
became a standard API. &DirectorySDKForC; closely follows LDAP v3, providing
|
|
support for core LDAP operations and for LDAP v3 extensions and widely used
|
|
controls. &DirectorySDKForC; offers a rich API to the C and C++ developer
|
|
familiar with the LDAP model. &cnDirectoryServer; relies on &DirectorySDKForC;.
|
|
</para>
|
|
<para>This document demonstrates how to use &DirectorySDKForC;. &DirectorySDKForC; code
|
|
is published in open source form as part of the Mozilla Directory SDK project.</para>
|
|
</sect1>
|
|
<sect1 id="choose-ljdk"><title>&DirectorySDKForJava;</title>
|
|
<para>&DirectorySDKForJava; lets you access LDAP directories from Java
|
|
applications, but it is not part of the Java platform.</para>
|
|
<para>Although not a standard API, &DirectorySDKForJava; closely follows
|
|
LDAP v3 idioms. &DirectorySDKForJava; provides a rich set of interfaces
|
|
to the Java developer familiar with the LDAP model.</para>
|
|
<para>This document demonstrates how to use &DirectorySDKForJava;. &DirectorySDKForJava; code
|
|
is published in open source form as part of the Mozilla Directory SDK project.</para>
|
|
</sect1>
|
|
<sect1 id="choose-solaris-libldap"><title>Operating System <filename>libldap</filename> Library
|
|
</title>
|
|
<indexterm>
|
|
<primary>libraries</primary>
|
|
<secondary><filename>libldap</filename></secondary>
|
|
</indexterm><indexterm>
|
|
<primary><filename>libldap</filename></primary>
|
|
</indexterm>
|
|
<para>The native LDAP library on <trademark>Solaris</trademark> systems provides
|
|
essentially the same API as &DirectorySDKForC;. Many &DirectorySDKForC; need
|
|
only be recompiled to work with <filename>libldap</filename>.</para>
|
|
<para>The LDAP library is sometimes not compatible with <filename>libldap</filename> on
|
|
many GNU/Linux distributions. Many GNU/Linux distributions provide OpenLDAP
|
|
support by default.</para></sect1>
|
|
<sect1 id="choose-other"><title>Support for Other Programming Languages</title>
|
|
<para>Support for directory access is available in a number of contexts where
|
|
you do not choose to use the C or Java languages.</para>
|
|
<para>For example, Perl has the PerLDAP module and the Net::LDAP collection
|
|
of modules. Python has the <literal>python-ldap</literal> 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.</para></sect1>
|
|
</chapter>
|