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:11:21 UTC

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

Author: smckinney
Date: Fri Dec 30 23:11:21 2016
New Revision: 1776656

URL: http://svn.apache.org/viewvc?rev=1776656&view=rev
Log:
proofread Java and LDAP

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=1776656&r1=1776655&r2=1776656&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:11:21 2016
@@ -23,24 +23,24 @@ Notice: Licensed to the Apache Software
     under the License.
 
 # 1.1 - Java and LDAP
-Most developer 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 so easy to deal with.
+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.
 
-Java is most certainly the number one language used in the enterprise, for around 10 years now. Some even call it the new **Cobol** !
+Java is one of the most commonly used languages used in the enterprise. Some even call it the new **Cobol**!
 
-Those two facts make it necessary to be able to communicate with a **LDAP** server in **Java**. This is ware a convenient **API** is useful, and this is why we decided to provide this **API**.
+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**.
 
-Of course, there are alternatives, like **JNDI**. We truly believe that those alternative aren't helping users to cope with the complexity of **LDAP**, at least they are not giving a hand to users. For instance, **JNDI** semantic are far awy from **LDAP** semantic. Let's see how different it is :
+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:
 
-* **Bind** : used in **LDAP** to authenticate a user, and to create an entry in **JNDI**
-* **Unbind** : close the **LDAP** session in **LDAP**, delete an entry in **JNDI**
-* **Compare **: this **LDAP** operation is mapped to a Search in **JNDI**
+* **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**
+* **Compare **: is mapped to a search in **JNDI** while its proper usage is to compare to determine if a tageted attribute matches a particular value in **LDAP**. 
 * Various properties have to be set in **JNDI** in order to connect or tweak the **Search** operation, which is not convenient
-* **Attributes** is case sensitive by default in **JNDI**, and they aren't schema aware
-* **Name** in **JNDI** are not able to do a valid comparison in **JNDI**
-* **NamingEnumeration** have to be explcitly closed in **JNDI**, as they aren't closed when you disconnect, leading to some resource leaks.
+* **Attributes** are case sensitive by default in **JNDI** and not schema aware which is not compliant with LDAP standard.
+* **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**.
 
-All in all, writing application including some **LDAP** operations in **Java** is just a painful task for most of the developers.
+All in all, writing applications to perform basic **LDAP** operations in **Java** is a painful task for most developers.
 
-Our target is to provide a better **API**, that will help them getting efficient with their **LDAP** interaction.
\ No newline at end of file
+Our target is to provide a better **API**, one that leads to correct and efficient usage of **LDAP** operation.