geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Monson-Haefel <>
Subject LDAP Support in Geronimo
Date Mon, 11 Aug 2003 09:59:14 GMT
It would be interesting to find out how fast LDAPd's embedded lookup facility
is. If its fast, it would make sense to eventually use it for the JNDI
Environment Naming Context.  However, I still feel that having something quick
and lightweight now - a stopgap if you will - is better than waiting for LDAPd
to reach its first release.

That said, embedding a LDAP server into Geronimo would provide a solution for a
variety of problems, least of which is the JNDI ENC. It would be the nexus of an
authentication/authorization system and security domain administration. In
addition, it can be used for configuration and would make an excellent service
in its own right -- especially if its accessible intraVM as well as interVM.  It
could also be used as the CORBA Naming service, support for which is required by
the EJB specification.

Personally, I hope that LDAPd is accepted into the Incubator so that we can plan
on incorporating into the Geronimo project (provided it works and survives the
incubator process).

Whether or not we end up using LDAPd, Geronimo should be designed so that LDAP
servers of any make are plugable at some level. This would enable organizations
to leverage existing LDAP installations.  If LDAP is plugable (is that a word?)
it should be a simple to configure and deploy -- avoiding overly complex
bindings is important, IMO.

In the LDAP area I suggest we adopt a dual strategy of supporting arbitrary LDAP
installations via remote communications (LDAP protocol) as well as an embedded
solution (i.e. embedded LDAPd). If we are serious about LDAPd, perhaps those
folks could help with both strategies.

The one thing I'm not sure about i the Avalon coupling. If LDAPd is based on
Avalon would it still work as an imbedable service if Geronimo doesn't adopt
Avalon? It seems likely, but I think its worth asking anyway.

Richard Monson-Haefel
Author of J2EE Web Services (Addison-Wesley 2003)
Author of Enterprise JavaBeans, 3rd Edition  (O'Reilly 2001)
Co-Author of Java Message Service (O'Reilly 2000)

Alex Karasulu wrote:

> BTW, the LDAPd team is currently working on submitting their incubator
> request as well.  LDAPd is based on Avalon and is an LDAPv3 server with a
> SEDA based architecture.  It is based almost entirely on Apache software.
> We started the LDAPd (embeddable) server project to eventually enable open
> source J2EE servers like JBoss, and Servlet Containers like Tomcat with an
> embedded LDAP server for configuration management.  The project was
> triggered by the introduction of an LDAPv2 server into Weblogic Server by
> BEA.  We wanted JBoss and Tomcat to be able to compete with BEA in this
> aspect - especially since BEA WLS uses LDAP to easily manage cluster
> configurations amongst other things.
> The role of a directory is critical to any distributed component model and
> goes beyond the aspect of configuration management.  Take web services for
> example:  the UDDI folks are working with the IETF to establish a schema
> model in LDAP for UDDI, here's the draft submission
> Likewise .NET is leveraging AD and ADAM to do the same for both web services
> and COM objects.  When systems are composed of hundreds or thousands of
> distributed components (J2EE or .NET), these components need to find one
> another.  We at the LDAPd Group feel that LDAP is a critical technology in
> enabling these distributed component architectures, which allows them to be
> orchestrated regardless of distribution.  Our existence is based on this
> premise.  We have come along way and are about to provide these functional
> services in a standard fashion while leveraging JNDI.
> LDAPd is based on Avalon and has a very unique relationship with the JNDI.
> Its front end which serves requests over the line protocol simply uses the
> server-side JNDI provider to access LDAP entries as Attributes.  The server
> side provider wraps the backend apparatus which attaches naming system
> partitions to one common tree from multiple databases, or backends as we
> call them.  Embedding LDAPd with the front end or just its backend apparatus
> will be as easy as using JNDI to get a context through the server side JNDI
> provider.  This way under an embedded configuration, the protocol is
> bypassed and embedding servers simply access the backend apparatus directly
> via JNDI. We have centered around this design specifically to enable
> applications that already use JNDI LDAP to continue to do so but now under
> an embedded configuration.  The change should only be a property setting for
> the Context.INITIAL_CONTEXT_FACTORY property.
> As with any open source effort we question our motives and our direction
> frequently and welcome commentary from a community.  This is what has made
> several Apache projects so strong and what we believe will make LDAPd
> strong.  What thoughts if any does the community have on this hypothesis and
> LDAPd's fundamental reason for being?
> Also we have come to a point where LDAPd has become bigger than our group
> alone.  We are continuously looking for contributions and guidance to make
> the right decisions.  From several conversations with Apache members we have
> begun to realize that LDAPd would make a good addition to the suite of
> flagship servers generously offered by the ASF.  Hence we are now taking
> formal steps toward offering LDAPd to the Apache community via the
> Incubator.  Together we can merge the protocols that glue the Internet
> together and offer world class software freely in the Apache tradition.
> Sincerely,
> Alex Karasulu

View raw message