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/31 00:12:44 UTC

svn commit: r1776664 - in /directory/site/trunk/content/api/user-guide: 1.2-ldap-in-a-few-words.mdtext 1.3-apache-ldap-api-rational.mdtext 1.4-preparation-to-code.mdtext

Author: smckinney
Date: Sat Dec 31 00:12:44 2016
New Revision: 1776664

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

Modified:
    directory/site/trunk/content/api/user-guide/1.2-ldap-in-a-few-words.mdtext
    directory/site/trunk/content/api/user-guide/1.3-apache-ldap-api-rational.mdtext
    directory/site/trunk/content/api/user-guide/1.4-preparation-to-code.mdtext

Modified: directory/site/trunk/content/api/user-guide/1.2-ldap-in-a-few-words.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/api/user-guide/1.2-ldap-in-a-few-words.mdtext?rev=1776664&r1=1776663&r2=1776664&view=diff
==============================================================================
--- directory/site/trunk/content/api/user-guide/1.2-ldap-in-a-few-words.mdtext (original)
+++ directory/site/trunk/content/api/user-guide/1.2-ldap-in-a-few-words.mdtext Sat Dec 31 00:12:44 2016
@@ -24,26 +24,26 @@ Notice: Licensed to the Apache Software
 
 # 1.2 - LDAP in a few words
 
-**LDAP** is not a new technlology. It has been around since mid 1990, as a way to mitigate the complexity of the **X.500** based servers access. It's name is an acronym for **L**ightweight **D**irectory **A**ccess **P**rotocol. Soon after the first standard has been issued, the first full *LDAP* server was written (ie, X.500 was pushed out of the equation).
+**LDAP** is not a new technlology. It's been around since the 90's to mitigate **X.500** complexities. Its name is an acronym for **L**ightweight **D**irectory **A**ccess **P**rotocol. Soon after the first standard was issued, the first full *LDAP* server was created and X.500 became obsolete.
 
-We will now use the term **LDAP** and **LDAP** server for respectively the protocole and the server.
+We'll use the term **LDAP** to represent the protocol and **LDAP** server to represent the server that implements it.
 
 ## Features
-A **LDAP** server provides access to entries, stored in a backend. It offers an interrogation mechanism allowing fast retrieval of entries. The data structure is hierarchical, and we use a schema to manage the content of entries, plus the organisation of data.
+An **LDAP** server provides access to entries stored in a backend database. It provides a mechanism for fast searching and retrieval of entries. Its data structure is hierarchical, and uses a schema to manage the definition of the entry's data formats.
 
-A **LDAP** client first has to connect to the server, and disconnect at the end. Some operations can be done on data, searches, modification and deletion, among a few others.
+An **LDAP** client must first connect to a server and disconnect when finished. Some operations may be performed on the data itself, e.g. searches, modifications and deletions, along with a few others.
 
-**LDAP** servers are extensible, but they all use a common protocol which makes it easy for users to request them. This API is an exemple of what **LDAP** is very good at : access data in a fast way, across servers.
+**LDAP** servers are extensible, but they all use a common protocol which makes it easy for users to request to interact with them. This API is an exemple of what **LDAP** is very good at : it access data in a fast way, across servers.
 
 ## Characteristics
-**LDAP** servers are fast for retrievals : they have been designed for this purpose. On the other hand, modifications can be costly. This has to be understood when writing an application using a **LDAP** server as a backend.
+**LDAP** servers are fast for retrievals : having been designed specifically for this purpose. But modifications can be costly. These characteristics must be understood when writing applications using an **LDAP** server for data storage.
 
-Each entry is identified by it's position in the hierarchy, and we use what is called a **D**istinguished **N**ame (or **Dn**) to describe this position in the tree. The base is also named the **DIT**, or **D**irectory **I**nformation **T**ree.
+Each entry is identified by a location within it's corresponding **D**irectory **I**nformation **T**ree, and we use what's called a **D**istinguished **N**ame (or **Dn**) to describe its address within it. The base entry, is known as the suffix, and all entries beneath it are collectively known as the **DIT**.
 
 ## Programming 
 
-Nowadays, **LDAP** is a part of the **IT** and it's difficult to avoid having to deal with it. **LDAP** servers are used to manage authentication, mainly, but also authorization, and more. It's very likely that you will have to write some code to access such a **LDAP** server, and the existing **API** are a bit cumbersome. This new **LDAP API** has been defined to facilitate this kind of tasks.
+**LDAP** is a part of the **IT** landscape and so it's unavoidable that we must deal with it. **LDAP** servers are used to manage authentication, authorizations, demographic info and more. It's very likely that you will have to write some code to access data over **LDAP**, and existing **API**s aren't quite up to the task. This **LDAP API** has been designed to simplify usage.
 
 ## Going further
 
-This was a very short introduction, you can find more literature about **LDAP** on the web : [Wikipedia](http://en.wikipedia.org/wiki/LDAP) gives you a good starting point with many valid pointers.
+This was a very short introduction, there's more literature about **LDAP** on the web : [Wikipedia](http://en.wikipedia.org/wiki/LDAP) provides a good starting point.

Modified: directory/site/trunk/content/api/user-guide/1.3-apache-ldap-api-rational.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/api/user-guide/1.3-apache-ldap-api-rational.mdtext?rev=1776664&r1=1776663&r2=1776664&view=diff
==============================================================================
--- directory/site/trunk/content/api/user-guide/1.3-apache-ldap-api-rational.mdtext (original)
+++ directory/site/trunk/content/api/user-guide/1.3-apache-ldap-api-rational.mdtext Sat Dec 31 00:12:44 2016
@@ -22,28 +22,28 @@ Notice: Licensed to the Apache Software
     specific language governing permissions and limitations
     under the License.
 
-# 1.3 - The Apache LDAP API rational
+# 1.3 - The Apache LDAP API rationale
 
-Once we start to think about creating a new **LDAP** **API**, the first thing that comes to mind is that it could be a duplication of effort : there are already many libraries offering almost everything needed to write **LDAP** code. Some of them are :
+When creating a new **LDAP** **API**, we need to consider whether it's a duplication of effort; there are already some libraries that do this. For example:
 
 * **JNDI** : the default **JDK** **API**
-* **Netscape** [LdapSdk](http://www.mozilla.org/directory/javasdk.html)
+* **Netscape** (a.k.a Mozilla) [LdapSdk](http://www.mozilla.org/directory/javasdk.html)
 * **OpenLDAP** [JLdap](http://www.openldap.org/jldap/)
 
-So what makes the development of a new *LDAP JAVA API* a valid effort, and not another version of **[NIH](http://en.wikipedia.org/wiki/Not_Invented_Here)** syndrom ?
+What makes the development of this new *LDAP JAVA API* a valid effort, and **[NIH](http://en.wikipedia.org/wiki/Not_Invented_Here)** syndrom?
 
-There are many reasons why we decided to start to work on such an **API**, and we will expose them in this chapter.
+There are many reasons why we decided to start to work on this **API**, and we'll discuss them throughout this chapter.
 
-## history
-The Apache Directory Server project was first built on top of **JNDI**, but many of the internal **LDAP** structure were developed internally, just because **JNDI** was not designed specifically for **LDAP**, so it was not convenient for us to use those structure. Step by step, all of the **LDAP** objects (_Attribute_, _Entry_, _DN_, ...) were implemented again.
+## History
+The Apache Directory Server project was first using **JNDI**, but many of the internal **LDAP** structures were developed internally, because **JNDI** was not well suited for **LDAP** usage.  This meant it wasn't convenient for us to use these structures. Step by step, all of the **LDAP** objects (_Attribute_, _Entry_, _DN_, ...) were implemented again.
 
-At some point, we needed to communicate with another **LDAP** server without having to go through **JNDI**, so we developed our own _LdapConnection_ class. This was the last step toward a full **Java API**.
+At some point, we needed to communicate with other **LDAP** servers without having using **JNDI**, so we developed our own _LdapConnection_ class. This was the first step toward a full **Java API** specifically designed for LDAP.
 
-Strange enough, at the very same time in 2007, the **Sun** people working on **OpenDS** contacted us to know if we would agree to work on what would have become the next version of **JNDI** ([Resurrecting The Java LDAP Centric API](https://blogs.oracle.com/treydrake/entry/resurrecting_the_java_ldap_centric). Sadly, this effort soon staled, as it seemed that *JNDI2* was not anymore an urgency for **Sun**. We decided to go on but the pace was slow.
+Strangely enough when we were doing this, back in 2007, **Sun** people working on the **OpenDS** project contacted us to ask if we'd be interested in helping them with the next version of **JNDI** ([Resurrecting The Java LDAP Centric API](https://blogs.oracle.com/treydrake/entry/resurrecting_the_java_ldap_centric). Sadly, this effort stalled, as the need for *JNDI2* was no longer a priority for **Sun**. We decided to continue with our work but the the pace was slow.
 
-We started again to work on this API with the **OpenDS** team in 2009, and did a presentation during the 2009 **LdapCon** ([Towards a common LDAP API for the Java Platform](http://www.symas.com/ldapcon2009/papers/poitou1.shtml)). The story repeated itself with **Oracle** buying **Sun** in 2010, after months of valuable collaboration with *Sun*.
+The work began once again after the **OpenDS** project team's presentation at **LdapCon** back in 2009 ([Towards a common LDAP API for the Java Platform](http://www.symas.com/ldapcon2009/papers/poitou1.shtml)). The story repeated itself after **Oracle** bought **Sun** in 2010.
 
-At least, we get some kind of convergence in many aspects of the **API**. We agreed on some of the key features the new **LDAP API** should offer :
+Despite these fits and starts, a consensus was reached on the need for a new **API** and what it should do. We agreed on the key features for a new **LDAP API**:
 
 * A complete coverage of the **LDAP** protocol
 * A schema aware **API**
@@ -51,8 +51,8 @@ At least, we get some kind of convergenc
 * An **API** taking advantage of the new **Java** construction (generics, ellipsis, NIO)
 
 ## Result
-The newly defined **API** fulfill all those aspects. 
+This newly defined **API** fulfills all of these aspects. 
 
-We also wanted to make this **API** available for the masses. The Apache Software Foundation value quality and community over code, which means we think that the code is the result of a collaborative work, our users being a part of this collaboration. Every bug a user find, it's an opportunity to provide a better version of the **API**.
+We wanted to make sure this **API** was made available to the masses. The Apache Software Foundation values quality and community over code, which means the code is the result of a collaborative work, our users being a necessary part of this collaboration. Every bug a user finds, is an opportunity to provide a better version of the **API** for everyone.
 
-At he end, we are proud to deliver an **API** which is used in the Apache Directory Server, but also in the Ldap Browser. 
\ No newline at end of file
+In the end, we're proud to deliver a useful **API** that everyone can use, include our own projects like the Apache Directory Server, Directory Studio and Fortress. 

Modified: directory/site/trunk/content/api/user-guide/1.4-preparation-to-code.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/api/user-guide/1.4-preparation-to-code.mdtext?rev=1776664&r1=1776663&r2=1776664&view=diff
==============================================================================
--- directory/site/trunk/content/api/user-guide/1.4-preparation-to-code.mdtext (original)
+++ directory/site/trunk/content/api/user-guide/1.4-preparation-to-code.mdtext Sat Dec 31 00:12:44 2016
@@ -24,11 +24,11 @@ Notice: Licensed to the Apache Software
 
 # 1.4 - Preparation to code
 
-In order to develop with the **Apache Directory LDAP API**, you first have to use a **Java 6** JDK or higher. 
+The **Apache Directory LDAP API** requires **Java 6** JDK or higher. 
 
-Second, you have to download the **[API](http://directory.apache.org/api/downloads.html)**. This package contains not only the **LDAP API**, but also all the needed jars (like _commons-lang_, _slf4j_...).
+Secondly, you must download the **[API](http://directory.apache.org/api/downloads.html)**. This package contains the **LDAP API** plus all of its dependent jars (like _commons-lang_, _slf4j_...).
 
-If you are using **Maven**, you don't even have to refer all the libraries that are found in the package, they will be deduced automatically. You will just have to add a dependency on _api-all.jar_ :
+If you're using **Maven**, add the following dependency on _api-all.jar_ :
 
     :::XML
     <dependency>
@@ -37,4 +37,4 @@ If you are using **Maven**, you don't ev
     </dependency>
 
 
-This is it, you should be ready to code !
\ No newline at end of file
+and all of its depedent jar files will be included automatically.  That's it, now you should be ready to code!