[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Is anyone interested in SQL/ODBC backend? I have one...

Dmitry Kovalev wrote:

> Hi.
> The situation is as follows. As possible part of a bigger project, I
> have developed a read-only backend for Umich slapd 3.3 that is
> primarily to _present_ information stored in an RDBMS as a set (tree)
> LDAP objects.
> Suppose we have some centralized information system(s), based on RDBMS

> (maybe on different RDBMSes), which stores and manages things like
> persons info, publications, organization structure, or any other set
> information resources. By adding several tables with metainformation
> about mapping LDAP queries to RDBMS queries on each host, this backend

> allows to join these non-interoperable systems into single distributed

> system-independent LDAP tree.
> Or it could simply help one to publish data in his RDBMS to LDAP
> having to maintain two copies of the same data in different places :)
> It has nothing to do with _putting_ information into RDBMS through
> -- I don't think it is a good idea, anyway -- the purposes and ways of

> LDAP and RDBMS are too different...
> It uses iODBC, and has been tested under RHLinux/MySQL, now I'm trying

> to make it work on SunOS 5.6/Oracle7 (the only problem is ODBC driver
> I did not manage to compile it yet :).
> Another potential problem is that I have just learned of OpenLDAP
> project recently, so the work is done based on pure Umich LDAP 3.3, no

> autoconf and things... Does it really make a problem?

Not if your willing to put some effort into porting to OpenLDAP :-)
(Should not be too difficult, the backend interface has changed but not
very much)

> In fact, I don't even know if somebody had already done similar work,
> and what problems are currently in fashion here :)

I've been working on an SQL backend a few months ago, but unfortunately
that project has been delayed in favor of another project. I hope to
continue it in about two month though. The project uses an (Oracle)
database to store arbitrary attributes.
Simply put, a single big table contains rows with DN, attribute name and

attribute value. A prototype has been built that uses a generic CORBA
backend interface (implemented with OmniORB2) that delegates requests to
Java server. This Java server translates the LDAP calls to SQL queries,
which it dispatches to Oracle through JDBC. So far only the search call
been implemented, but it includes a full translation from search filter
SQL queries (optionally using joins or UNION/INTERSECTs).
The CORBA backend is available at
ftp://ftp.openldap.org/incoming/bb-back-corba.19990610.tgz . It's a
loadable module, so it will not work with OpenLDAP 1.2 or older. The
IDL interface is documented at:
The Java backend server has not been released yet, but I'm willing to
if I can do an alpha release there's interest.

> If there is some coordinator on this matter, please mail me in any
> telling about current situation about LDAP and RDBMS :)
> If anyone is interested, mail me too - I'll then have whole Umich

Well, I'm definitely interested in your work, even though at the moment
won't have much time to play with it.

> tree with sql-backend arranged and published on FTP. Or maybe I should

> better learn CVS and rearrange sources?

Learning CVS is a good idea anyway :-)

> I also could post some information concerning architecture and usage
> the backend.

Please do.