<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: LDAP Directories: The Forgotten NoSQL</title>
	<atom:link href="http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/</link>
	<description></description>
	<lastBuildDate>Wed, 08 Feb 2012 12:12:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: In Praise of Pre-built Software Components That Keep Me From Having to Learn Things &#124; Coppery Keen Claws</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-58783</link>
		<dc:creator>In Praise of Pre-built Software Components That Keep Me From Having to Learn Things &#124; Coppery Keen Claws</dc:creator>
		<pubDate>Tue, 16 Aug 2011 01:38:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-58783</guid>
		<description>[...] inner monologues as I did this research sounded like, &#8220;Ah, so ldap is the original nosql. That&#8217;s interesting. And it involves issues of identity and security which are inherently [...]</description>
		<content:encoded><![CDATA[<p>[...] inner monologues as I did this research sounded like, &#8220;Ah, so ldap is the original nosql. That&#8217;s interesting. And it involves issues of identity and security which are inherently [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sagar Sonawane</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-58694</link>
		<dc:creator>Sagar Sonawane</dc:creator>
		<pubDate>Wed, 27 Jul 2011 08:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-58694</guid>
		<description>apologies url for the topic is http://lnkd.in/eQhM9T</description>
		<content:encoded><![CDATA[<p>apologies url for the topic is <a href="http://lnkd.in/eQhM9T" rel="nofollow">http://lnkd.in/eQhM9T</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sagar Sonawane</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-58695</link>
		<dc:creator>Sagar Sonawane</dc:creator>
		<pubDate>Wed, 27 Jul 2011 08:58:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-58695</guid>
		<description>apologies url for the topic is http://lnkd.in/eQhM9T</description>
		<content:encoded><![CDATA[<p>apologies url for the topic is <a href="http://lnkd.in/eQhM9T" rel="nofollow">http://lnkd.in/eQhM9T</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sagar Sonawane</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-58693</link>
		<dc:creator>Sagar Sonawane</dc:creator>
		<pubDate>Wed, 27 Jul 2011 07:39:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-58693</guid>
		<description>Gr8 article..!!

I would like to invite you to join in discussion, started by me on linked in, inspired from your article. I would really appreciate to put your thoughts on the topic.

Thanks and Regards,
Sagar Sonawane</description>
		<content:encoded><![CDATA[<p>Gr8 article..!!</p>
<p>I would like to invite you to join in discussion, started by me on linked in, inspired from your article. I would really appreciate to put your thoughts on the topic.</p>
<p>Thanks and Regards,<br />
Sagar Sonawane</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vladimir Dzhuvinov</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-58521</link>
		<dc:creator>Vladimir Dzhuvinov</dc:creator>
		<pubDate>Sat, 28 May 2011 09:26:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-58521</guid>
		<description>Very good analysis!

In my opinion LDAP directories can still become an attractive NoSQL store, once fitted with a web friendly JSON front-end. This is what I did two years ago with an internal project, which eventually evolved into Json2Ldap, a software product which is now sold on its own.

It works well for web and cloud applications, for things like central keeping of user and group data, web app user profiles and app configs.

As for making the schema more flexible, there is the &quot;extensibleObject&quot; class which allows clients to store arbitrary key/value pairs in an entry. </description>
		<content:encoded><![CDATA[<p>Very good analysis!</p>
<p>In my opinion LDAP directories can still become an attractive NoSQL store, once fitted with a web friendly JSON front-end. This is what I did two years ago with an internal project, which eventually evolved into Json2Ldap, a software product which is now sold on its own.</p>
<p>It works well for web and cloud applications, for things like central keeping of user and group data, web app user profiles and app configs.</p>
<p>As for making the schema more flexible, there is the &#8220;extensibleObject&#8221; class which allows clients to store arbitrary key/value pairs in an entry.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charlie</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-39017</link>
		<dc:creator>Charlie</dc:creator>
		<pubDate>Fri, 15 Jan 2010 09:59:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-39017</guid>
		<description>I think the right way to use LDAP is as a directory of stuff like people, groups/roles, and network resources like hosts and printers. I&#039;ve also heard that it&#039;s common to have calendar data in there, but I think there are better alternatives (eg CalDAV). It should be thought of as a primarily (and if possible completely) read-only store for applications and hosts, because of the last-read-wins behavior mentioned in this post (no transactions) -- unless it&#039;s really ok to just lose some updates whenever they collide. 
 
You can manage all this data in a relational database, and applications can send their updates to that relational database. Then those updates can be pushed from your relational database to the &quot;root&quot; of an LDAP directory tree and on down to the leaves. Then reads can be really fast. As was mentioned, the query abilities are limited. The queries on the directory should match the directory structure, more or less. 
 
Why do this? Because some things are written to work this way. Email clients and address books can usually tie into it. But probably more significantly, all your hosts can use your central LDAP directory in place of local files like /etc/hosts, /etc/passwd and /etc/group. Manage all that stuff from one dashboard. That&#039;s what Active Directory (Microsoft) and Open Directory (Apple) do, and there&#039;s no reason the open source world can&#039;t get a little better about doing the same. 
 
It would also be very nice if applications, rails apps in particular since this is the engine yard blog, could be made LDAP-aware. This would make a lot of sysadmins much happier since they might then be able to manage all the roles/groups/permissions info across all applications from one place rather than having to do it on a per-application basis. </description>
		<content:encoded><![CDATA[<p>I think the right way to use LDAP is as a directory of stuff like people, groups/roles, and network resources like hosts and printers. I&#039;ve also heard that it&#039;s common to have calendar data in there, but I think there are better alternatives (eg CalDAV). It should be thought of as a primarily (and if possible completely) read-only store for applications and hosts, because of the last-read-wins behavior mentioned in this post (no transactions) &#8212; unless it&#039;s really ok to just lose some updates whenever they collide.</p>
<p>You can manage all this data in a relational database, and applications can send their updates to that relational database. Then those updates can be pushed from your relational database to the &quot;root&quot; of an LDAP directory tree and on down to the leaves. Then reads can be really fast. As was mentioned, the query abilities are limited. The queries on the directory should match the directory structure, more or less.</p>
<p>Why do this? Because some things are written to work this way. Email clients and address books can usually tie into it. But probably more significantly, all your hosts can use your central LDAP directory in place of local files like /etc/hosts, /etc/passwd and /etc/group. Manage all that stuff from one dashboard. That&#039;s what Active Directory (Microsoft) and Open Directory (Apple) do, and there&#039;s no reason the open source world can&#039;t get a little better about doing the same.</p>
<p>It would also be very nice if applications, rails apps in particular since this is the engine yard blog, could be made LDAP-aware. This would make a lot of sysadmins much happier since they might then be able to manage all the roles/groups/permissions info across all applications from one place rather than having to do it on a per-application basis.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-38678</link>
		<dc:creator>John</dc:creator>
		<pubDate>Wed, 30 Dec 2009 03:59:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-38678</guid>
		<description>Where I work we use LDAP a lot. It&#039;s great for a lot of things, and I think this article really hit the nail on the head of what those good things are. But for many things it&#039;s a poor fit. Take for instance a large enterprise with 100k employees. These person records will likely be spread over dozens of distinct companies and then even more departments and divisions, etc. Let&#039;s say a developer asks a very basic question like, &quot;Can I get a list of company names?&quot; Well the answer is yes, query all 100k records and then parse out the duplicates in code. There&#039;s no &quot;select distinct&quot; in LDAP. There are no joins either so you can&#039;t really (in a clean way anyhow) have something like a lookup table. You might be able to accomplish this using groups, but it&#039;s not meant to work that way and in the end it&#039;s a hack.  
 
Another thing that&#039;s annoying is, at least in IBM&#039;s LDAP, there&#039;s no way to do pagination in the way that we think of pagination typically. For instance, there&#039;s no &quot;select * from table limit 1,25&quot; style syntax. That one might be a case specific to IBM, and I think they might even have that covered in a later version, but it&#039;s just another example where we&#039;ve run into trouble with LDAP.  </description>
		<content:encoded><![CDATA[<p>Where I work we use LDAP a lot. It&#039;s great for a lot of things, and I think this article really hit the nail on the head of what those good things are. But for many things it&#039;s a poor fit. Take for instance a large enterprise with 100k employees. These person records will likely be spread over dozens of distinct companies and then even more departments and divisions, etc. Let&#039;s say a developer asks a very basic question like, &quot;Can I get a list of company names?&quot; Well the answer is yes, query all 100k records and then parse out the duplicates in code. There&#039;s no &quot;select distinct&quot; in LDAP. There are no joins either so you can&#039;t really (in a clean way anyhow) have something like a lookup table. You might be able to accomplish this using groups, but it&#039;s not meant to work that way and in the end it&#039;s a hack.  </p>
<p>Another thing that&#039;s annoying is, at least in IBM&#039;s LDAP, there&#039;s no way to do pagination in the way that we think of pagination typically. For instance, there&#039;s no &quot;select * from table limit 1,25&quot; style syntax. That one might be a case specific to IBM, and I think they might even have that covered in a later version, but it&#039;s just another example where we&#039;ve run into trouble with LDAP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jeemster</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-38599</link>
		<dc:creator>jeemster</dc:creator>
		<pubDate>Fri, 25 Dec 2009 12:02:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-38599</guid>
		<description>I do not think LDAP has failed. 
As I work with many large organizations and all of them have LDAP directory stores. 
 
The LDAP vs Relational Databases has gone on for years and the answer is still the same. THey serve two different purposes. 
 
Using a LDAP server to keep a history of who went through the card swipe and when is a poor implementation. 
 
But expecting a card reader to authroize in real time if a person is authroized through a SQL DB with the heavy overhead of the SQL protocol and more so the client, is just as wrong. 
 
As for access control, to imply that access control to a RDMS is simpler than LDAP is short sided. Often access control within the RDBMS is simply by-passed and the access control is perfromed within each application. 
 
As for installing LDAP servers vs installing a RDBMS, you really think installing an Active Directory server is harder than installing Oracle? 
 
And sure, OpenLDAP is difficult to install. In a large part due to it being OpenSource. Installing a commercial LDAP server from Novell or SUN or I am sure other vendors certainly easier than installing Oracle or many of the other commercial RDBMs. 
 </description>
		<content:encoded><![CDATA[<p>I do not think LDAP has failed.</p>
<p>As I work with many large organizations and all of them have LDAP directory stores.</p>
<p>The LDAP vs Relational Databases has gone on for years and the answer is still the same. THey serve two different purposes.</p>
<p>Using a LDAP server to keep a history of who went through the card swipe and when is a poor implementation.</p>
<p>But expecting a card reader to authroize in real time if a person is authroized through a SQL DB with the heavy overhead of the SQL protocol and more so the client, is just as wrong.</p>
<p>As for access control, to imply that access control to a RDMS is simpler than LDAP is short sided. Often access control within the RDBMS is simply by-passed and the access control is perfromed within each application.</p>
<p>As for installing LDAP servers vs installing a RDBMS, you really think installing an Active Directory server is harder than installing Oracle?</p>
<p>And sure, OpenLDAP is difficult to install. In a large part due to it being OpenSource. Installing a commercial LDAP server from Novell or SUN or I am sure other vendors certainly easier than installing Oracle or many of the other commercial RDBMs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Emmanuel L&#233;charny</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-38461</link>
		<dc:creator>Emmanuel L&#233;charny</dc:creator>
		<pubDate>Mon, 21 Dec 2009 00:32:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-38461</guid>
		<description>IMO, the main problem is that the client API doesn&#039;t have a decent log system, so you can&#039;t analyze what is being exchanged. That&#039;s too bad, but it&#039;s not ASN.1 fault :) Otherwise, we have written a small tool, a LDAP proxy GUI, for that purpose (&lt;a href=&quot;http://svn.apache.org/viewvc/directory/sandbox/old/proxy/),&quot; target=&quot;_blank&quot;&gt;http://svn.apache.org/viewvc/directory/sandbox/ol...&lt;/a&gt; but sadly never had time to clean it up... 
 
AFAICT, Unboundid is on rail. That&#039;s good to see that there are more and more LDAP open source initiative those days. </description>
		<content:encoded><![CDATA[<p>IMO, the main problem is that the client API doesn&#039;t have a decent log system, so you can&#039;t analyze what is being exchanged. That&#039;s too bad, but it&#039;s not ASN.1 fault :) Otherwise, we have written a small tool, a LDAP proxy GUI, for that purpose (<a href="http://svn.apache.org/viewvc/directory/sandbox/old/proxy/)," target="_blank">http://svn.apache.org/viewvc/directory/sandbox/ol&#8230;</a> but sadly never had time to clean it up&#8230; </p>
<p>AFAICT, Unboundid is on rail. That&#039;s good to see that there are more and more LDAP open source initiative those days.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Mullany</title>
		<link>http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/comment-page-1/#comment-38427</link>
		<dc:creator>Michael Mullany</dc:creator>
		<pubDate>Fri, 18 Dec 2009 22:50:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.engineyard.com/blog/?p=3019#comment-38427</guid>
		<description>I&#039;m in full agreement with JNDI, the LDAP schema and config being just three more of the big pitfalls of LDAP. (All the drama about inetorgperson back in the day was a good illustration)  But I disagree about ASN.1 - it wasn&#039;t important for users or admins, but it did affect the number of people who could debug problems with LDAP clients (and proxies). I&#039;m pretty interested to see what happens with UnboundID -- Steve Shoaff was the directory server product manager after me at Netscape. </description>
		<content:encoded><![CDATA[<p>I&#039;m in full agreement with JNDI, the LDAP schema and config being just three more of the big pitfalls of LDAP. (All the drama about inetorgperson back in the day was a good illustration)  But I disagree about ASN.1 &#8211; it wasn&#039;t important for users or admins, but it did affect the number of people who could debug problems with LDAP clients (and proxies). I&#039;m pretty interested to see what happens with UnboundID &#8212; Steve Shoaff was the directory server product manager after me at Netscape.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

