- So, What's This LDAP Stuff All About?
- Getting Started with Linux Server Software and Good Housekeeping
- Installing an LDAP Server in Ubuntu Linux
- Is the LDAP Server Running?
- Reconfigure the OpenLDAP Server
- Getting Comfortable with LDAP-Starting and Stopping the Server
- Using ldapsearch to Verify Correct Server Operation
- Populating the LDAP Directory
- Learning One new Thing Each Day
In the old days (of about five years ago), programmers were still often divided into GUI and non-GUI categories. It was a frustrating experience trying to get bugs fixed when Programmer X wouldn't touch backend code ("Sorry, Stephen can't fix that, I'm a front-end guy") or Programmer Y wouldn't go near front-end code. Then, there were the database specialists and the web tier folks...
With the adoption of modern frameworks such as Spring, I find I don't hear so much about artificial job demarcation nowadays. It's tough to be a specialist when frameworks support and abstract so much sophisticated technology. Examples of the latter include the Spring framework support for persistence, aspect-oriented programming, JMX, MVC (model-view controller), portlets, etc. This growing level of abstraction is helping programmers get on with programming.
However, there are still job demarcations; these days it tends to be between client-side and server-side, which I suppose is more or less the same as before! Still, the growing use of Spring and other frameworks makes for a more natural division between team members and a potentially more holistic approach to development.
In this article, I focus mostly on the server side as I continue to look at the general area of virtualization using VMWare and Linux along with LDAP. It might be helpful to have a look at my article about virtualization.
So, What's This LDAP Stuff All About?
LDAP stands for Lightweight Directory Access Protocol. In spite of what you might hear from colleagues, a directory is in fact not the same thing as a database! A directory is generally used to store data that changes infrequently. But, perhaps the most significant difference between a directory and a database (relational, object-based, etc.) is the fact that directory entries can have variable attributes. In other words, you can dynamically modify the schema of a live directory. It's very hard if it's even possible to do this to a live relational database.
LDAP directories are commonly used to store things such as telephone network subscriber details (mobile phone number, service subscriptions, etc.), software certificates, security credentials for single login applications, and so on. LDAP directories represent a hugely important and little-understood technology, and this is one of the reasons for this article!
I won't go into a great deal of detail on LDAP. Rather, I'll focus on getting you set up with your own server and the command line utilities to populate and interrogate the directory. After that, you'll be well positioned to dig deeper into this interesting technology.