| | |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | | <properties> |
| | | <title>About OpenDJ</title> |
| | | <title>About OpenDJ LDAP SDK</title> |
| | | <author email="opendj-dev@forgerock.org">ForgeRock AS</author> |
| | | </properties> |
| | | <body> |
| | | <section name="About OpenDJ LDAP SDK"> |
| | | <p>TBC</p> |
| | | <p> |
| | | 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, |
| | | <a href='http://tools.ietf.org/html/rfc4510'>RFC 4510: Lightweight Directory |
| | | Access Protocol (LDAP): |
| | | Technical Specification Road Map</a> |
| | | . |
| | | </p> |
| | | <p> |
| | | The OpenDJ LDAP SDK brings you easy-to-use connection management, |
| | | connection pooling, load balancing, and all the standard LDAP operations |
| | | to read and |
| | | write directory entries. OpenDJ LDAP SDK also lets you build |
| | | applications |
| | | with |
| | | capabilities defined in additional draft and |
| | | experimental RFCs that |
| | | are |
| | | supported by modern LDAP servers.</p> |
| | | </section> |
| | | <section name="Get the OpenDJ LDAP SDK"> |
| | | <p> |
| | | You can start developing your LDAP applications now by obtaining the |
| | | OpenDJ |
| | | LDAP SDK in any of the following three ways: |
| | | </p> |
| | | <subsection name="Maven"> |
| | | <p> |
| | | By far the simplest method is to develop your application using Maven |
| | | and add the following settings to your |
| | | <b>pom.xml</b> |
| | | : |
| | | </p> |
| | | <source><repositories> |
| | | <repository> |
| | | <id>forgerock-staging-repository</id> |
| | | <name>ForgeRock Release Repository</name> |
| | | <url>http://maven.forgerock.org/repo/releases</url> |
| | | <snapshots> |
| | | <enabled>false</enabled> |
| | | </snapshots> |
| | | </repository> |
| | | <repository> |
| | | <id>forgerock-snapshots-repository</id> |
| | | <name>ForgeRock Snapshot Repository</name> |
| | | <url>http://maven.forgerock.org/repo/snapshots</url> |
| | | <releases> |
| | | <enabled>false</enabled> |
| | | </releases> |
| | | </repository> |
| | | <repositories> |
| | | |
| | | ... |
| | | |
| | | <dependencies> |
| | | <dependency> |
| | | <groupId>org.forgerock.opendj</groupId> |
| | | <artifactId>opendj-ldap-sdk</artifactId> |
| | | <version>3.0.0-SNAPSHOT</version> |
| | | </dependency> |
| | | </dependencies></source> |
| | | </subsection> |
| | | <subsection name="Download"> |
| | | <p> |
| | | The easiest way to download the OpenDJ LDAP SDK and all of its |
| | | dependencies is to get either the |
| | | <a |
| | | href="http://maven.forgerock.org/repo/snapshots/org/forgerock/opendj/opendj-ldap-toolkit/3.0.0-SNAPSHOT">OpenDJ LDAP SDK Toolkit ZIP file</a> |
| | | or the |
| | | <a |
| | | href="http://maven.forgerock.org/repo/snapshots/org/forgerock/opendj/opendj-ldap-sdk-examples/3.0.0-SNAPSHOT">OpenDJ LDAP SDK Examples JAR file</a> |
| | | . |
| | | </p> |
| | | </subsection> |
| | | <subsection name="Build"> |
| | | <p> |
| | | For the DIY enthusiasts you can build it yourself by checking out the |
| | | latest code using |
| | | <a href="source-repository.html">Subversion</a> |
| | | and building it with Maven 3 |
| | | </p> |
| | | </subsection> |
| | | </section> |
| | | <section name="Getting started"> |
| | | <p> |
| | | The following example shows how the OpenDJ SDK may be used to |
| | | connect to |
| | | a Directory Server, authenticate, and then perform a |
| | | search. The search |
| | | results are output as LDIF to the standard |
| | | output: |
| | | </p> |
| | | <source>// Create an LDIF writer which will write the search results to stdout. |
| | | final LDIFEntryWriter writer = new LDIFEntryWriter(System.out); |
| | | Connection connection = null; |
| | | try |
| | | { |
| | | // Connect and bind to the server. |
| | | final LDAPConnectionFactory factory = new LDAPConnectionFactory("localhost", 1389); |
| | | |
| | | connection = factory.getConnection(); |
| | | connection.bind(userName, password); |
| | | |
| | | // Read the entries and output them as LDIF. |
| | | final ConnectionEntryReader reader = connection.search(baseDN, scope, filter, attributes); |
| | | while (reader.hasNext()) |
| | | { |
| | | if (!reader.isReference()) |
| | | { |
| | | // Got an entry. |
| | | final SearchResultEntry entry = reader.readEntry(); |
| | | writer.writeComment("Search result entry: " + entry.getName().toString()); |
| | | writer.writeEntry(entry); |
| | | } |
| | | else |
| | | { |
| | | // Got a continuation reference. |
| | | final SearchResultReference ref = reader.readReference(); |
| | | writer.writeComment("Search result reference: " + ref.getURIs().toString()); |
| | | } |
| | | } |
| | | writer.flush(); |
| | | } |
| | | catch (final Exception e) |
| | | { |
| | | // Handle exceptions... |
| | | System.err.println(e.getMessage()); |
| | | } |
| | | finally |
| | | { |
| | | if (connection != null) |
| | | { |
| | | connection.close(); |
| | | } |
| | | }</source> |
| | | <p> |
| | | You can find more examples demonstrating the use of the OpenDJ LDAP SDK |
| | | by downloading the examples package |
| | | <a |
| | | href="http://maven.forgerock.org/repo/snapshots/org/forgerock/opendj/opendj-ldap-sdk-examples/3.0.0-SNAPSHOT"> |
| | | here |
| | | </a> |
| | | . |
| | | </p> |
| | | </section> |
| | | </body> |
| | | </document> |
| | | |