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

Re: LDAP support for referential integrity (was: LDAP query)



Referential integrity semantics aren't addressed at all by the present LDAP 
standards docs (which for v3 are only Proposed Standards, remember).

Thus if you make use of a particular vendor's referential integrity features, 
you'll be heading down the path of locking yourself into that vendor to some 
extent for the foreseeable future.

So yes, working on standardizing some level of referential integrity semantics 
and/or operations (in the protocol itself) might be something to discuss, and 
then again it may not. It depends somewhat on how much we (i.e. LDAP protocol 
designers) want to smoosh-together RDBMS and LDAP (i.e. OO) semantics. Or 
borrow from one and insert into the other, or however you want to look at it.

But in the meantime, a rule of thumb IMHO is that if you have simple 
referential integrity relations to maintain, plus your DSA vendor supports 
your expressing such stuff, and you're using your DSA as your "system of 
record" (i.e. "mastering" the data in it), then it may well make sense to use 
the vendor's DSA referential integrity facilities.

But if you have complex relations to maintain and you're struggling to decide 
whether to "master" the info in the DSA or in a RDBMS, you should consider 
running the two different types of systems in parallel and "mastering" the 
data in the RDBMS and using the DSA (and thus its standard access protocols, 
LDAP and perhaps DAP) to disseminate the information.

It's entirely up to you to decide what constitutes "simple" and "complex". We 
decided that our Registry here @Stanford is "complex" and so we're mastering 
it in an RDBMS and feeding the data to our LDAP-based directory for 
dissemination.

Here's where to find a bit more on this approach..

  Registry & Directory Infrastructure at Stanford
  http://www.stanford.edu/~hodges/talks/OpenGroupApril98
    /StanfordRegistryAndDirectory/index.htm

  Why do I need a Directory when I could use a Relational Database? 
  http://www.stanford.edu/~hodges/talks/EMA98-DirectoryServicesRollout
    /Steve_Kille/index.htm



Jeff