On 12/16/06, Howard Chu <[EMAIL PROTECTED]> wrote:

> ------------ Forwarded Message ------------
> Date: Saturday, December 16, 2006 7:38 PM +0200
> From: Ersin Er <[EMAIL PROTECTED]>

> On 12/16/06, Giovanni Baruzzi <[EMAIL PROTECTED]> wrote:

> ----------- Apache Developer writes in response
--------------------------
>
>
> LDAP Triggers have been modelled and implemented with X.500Administrative
> Model based  semantics in ApacheDS. As the current effort is on Schema
> Subsystem Redesign and Multi Master Replication, Triggers and Stored
> Procedures will get matured and reducted as RFCs in about 12 months. You
> may have a look at the following presentation(s) given at the last
> ApacheCon US:
>
> http://people.apache.org/~ersiner/apachecon-us06/

The use of the X.500 Administrative Model is admirable. We've had this
on the ToDo list for OpenLDAP for a while, but generally the level of
need never hit the critical point to motivate any of us to implement it.
Since OpenLDAP subdatabases are administrative control points already,
there's little gain in functionality for us at this point.


X.500 Administrative Model is the base model for several services of
ApacheDS like: Collective Attributes, Access Control, Replication, Schema
Subsystem and Triggers. If OpenLDAP also has plans on providing support for
X.500 Adminsitrative Model (which is nice) we may come together for
interoperability issues in the future.

I'm somewhat skeptical about the Trigger spec, but that's natural since
we already have our own overlay interface as well as Netscape SLAPI
plugin support. And since we can load modules dynamically, the trigger
design doesn't offer any gain for us either.


ApacheDS also already has a mechanish called Interceptors which allow
plugins to be installed into the system easily, completely in an isolated
manner. The services I mentioned in the previous paragraph and many more
were implemented via this facility. Interceptors allows to control pre and
post code segments on LDAP operations, filtering (altering) request
attributes and responses.

However, what makes LDAP Triggers special is that they are completely
controlled over LDAP. They are simple String based objects that can be
managed with a standard LDAP client. And also they leverage X.500 facilities
like Subentries for selecting entries that Triggers are defined on.

I'm extremely skeptical about the Stored Procedures; these aren't the
sort of thing that regular users need to do. For a real-world directory
being manipulated by many users, you're going to limit access so that
only administrators can create them, otherwise you're going to see your
directory server slow to a crawl the first time someone writes a deeply
recursive procedure "by accident"... Also in general you're going to
limit them to things that have been well-written and well-tested, for
the same reasons. As such, for us the standard plugin model is already
adequate for this purpose.


Of course, we do not suppose that SP will be used by regular users. Again,
here, the gain is using standard LDAP protocol and clients. In the near
future, we'll make the SP Call API completely independend of implementation
language (using ASN.1). And also SP will have some sort of sandbox execution
environment for security purposes.

One thing I've noticed about ApacheDS that I like is the forward-looking
support for new Attribute Syntaxes. I've been developing something like
that for OpenLDAP for quite a while, though my approach uses a runtime
ABNF/ASN.1 parser. This way you simply paste a schema definition
verbatim from an RFC/other spec into an LDAP entry. This approach gets
us basic syntax recognition/validation/equality matching without
requiring any user-provided code at all, and one can compare at a glance
what is in the server vs what is in the spec. I hadn't addressed
provisions for ordering or substring matching yet; those concepts aren't
captured in ABNF grammars so I was kind of blocked on what to do next.


With the new schema subsystem, ApacheDS will store all schema elements (OC,
AT, MR, SC etc) on the DIT and they will be easily loadable over LDAP via
clients again.

Cheers,

--
Ersin


--
   -- Howard Chu
   Chief Architect, Symas Corp.  http://www.symas.com
   Director, Highland Sun        http://highlandsun.com/hyc
   OpenLDAP Core Team            http://www.openldap.org/project/

---
You are currently subscribed to ldap@umich.edu as: [EMAIL PROTECTED]
To unsubscribe send email to [EMAIL PROTECTED] with the word
UNSUBSCRIBE as the SUBJECT of the message.




--
Ersin


---
You are currently subscribed to ldap@umich.edu as: [EMAIL PROTECTED]
To unsubscribe send email to [EMAIL PROTECTED] with the word UNSUBSCRIBE as the 
SUBJECT of the message.

Reply via email to