You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2016/12/30 23:18:24 UTC

svn commit: r1776658 - /directory/site/trunk/content/api/user-guide/1.1-java-and-ldap.mdtext

Author: smckinney
Date: Fri Dec 30 23:18:24 2016
New Revision: 1776658

URL: http://svn.apache.org/viewvc?rev=1776658&view=rev
Log:
more

Modified:
    directory/site/trunk/content/api/user-guide/1.1-java-and-ldap.mdtext

Modified: directory/site/trunk/content/api/user-guide/1.1-java-and-ldap.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/api/user-guide/1.1-java-and-ldap.mdtext?rev=1776658&r1=1776657&r2=1776658&view=diff
==============================================================================
--- directory/site/trunk/content/api/user-guide/1.1-java-and-ldap.mdtext (original)
+++ directory/site/trunk/content/api/user-guide/1.1-java-and-ldap.mdtext Fri Dec 30 23:18:24 2016
@@ -23,13 +23,13 @@ Notice: Licensed to the Apache Software
     under the License.
 
 # 1.1 - Java and LDAP
-Most developers will, at some point, face the tricky task to communicate with a **LDAP** server. **LDAP** seems to be a very simple technology, but when you get deep into it, you realize that many aspects are not well known, and not easy to deal with.
+Most developers will at some point need to learn how to communicate with an **LDAP** server. It should be a very simple technology to use but isn't because many aspects are not well known.
 
-Java is one of the most commonly used languages used in the enterprise. Some even call it the new **Cobol**!
+Java is one of the most commonly used languages in the enterprise. Some call it the new **Cobol**!
 
-Those two facts make it necessary to be able to communicate with a **LDAP** server using **Java**. This is where a convenient **API** is useful, which is why we decided to provide this **API**.
+These facts mean it's necessary to communicate over **LDAP** using **Java**. This is why a convenient **API** is necessary, so we created this **API** to fill the necessary gaps.
 
-Of course, there are alternatives, like **JNDI**. We believe that the others don't help users cope with **LDAP**'s inherent complexities. **JNDI**'s semantics are very different than what's required for proper **LDAP** usage. For example:
+There are alternatives, like **JNDI**. But the alternatives aren't effective helping users cope with **LDAP**'s inherent complexities. **JNDI**'s semantics are very different from what's required for proper **LDAP** usage. For example:
 
 * **Bind** : used in **LDAP** to authenticate a user but creates an entry in **JNDI**
 * **Unbind** : closes the **LDAP** session in **LDAP** but deletes an entry in **JNDI**
@@ -39,7 +39,7 @@ Of course, there are alternatives, like
 * **Name** in **JNDI** can't do a valid comparison in **JNDI**
 * **NamingEnumeration** must be explcitly closed in **JNDI**, and don't close automatically upon disconnect, which causes resource leakage to occur.
 
-Some of those problems are also true for the existing **LDAP API**.
+Some of these same problems exist for the other **LDAP API**s.  Other alternatives are no longer supported and/or lack a permissive license.
 
 All in all, writing applications to perform basic **LDAP** operations in **Java** is a painful task for most developers.