You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Alex Karasulu <ak...@apache.org> on 2007/05/16 19:25:50 UTC

[ApacheDS] Embedded http service

For some time now a few people have been discussing embedding an HTTP
service into ApacheDS for
a number of reasons:

(1) to expose a DSML service
(2) host a web based configuration and management interface
(3) for first start configuration
(4) for other self service interfaces useful for directory users

Just this morning I responded to an email from Peter Neubauer regarding #4
to have a simple
self service application so users can manage various aspects of their
account.  Such an application
would be trivial to implement if ApacheDS came with an optional HTTP service
which could be
enabled via it's configuration.

After this email Emmanuel and I had a brief conversation about this.  We
discussed how
easy it would be to integrate Jetty with ApacheDS since this was already
done for Triplesec.
Furthermore we discussed how just having the service present would allow
other parties to
extend ApacheDS functionality for custom use in their environments.

I have several things on my plate at the moment but I think I should try to
grok this in the
next day or two just to the open the door to these other possibilities.

Adding this new service to ApacheDS will impose some additional dependencies
since the
service will be optionally started by the server side JNDI provider using
the configuration.
Namely there will be a dependency on Jetty even if this service is not
turned on.  There are
several ways to avoid this dependency.

(1) Leverage OSGi to just provide the service in a decoupled fashion
(2) Add a "plugin" mechanism into the server-jndi module to load protocol
     providers dynamically at runtime

Both approaches have pros and cons.  The first will take time until we get
to OSGi.  The
second requires additional work which would be redundant once an OSGi
container is used.
For these reasons I think it might be best if we just add this dependency
for now and refactor
later depending on what happens in the future.

Alex

Re: [ApacheDS] Embedded http service

Posted by Alex Karasulu <ak...@apache.org>.
Yeah Chris I agree with you totally but wanted to point out the OSGi option.

Alex

On 5/16/07, Chris Custine <ch...@gmail.com> wrote:
>
> OSGi has an http service that we could use, and I think there are also a
> lot of new things coming that will make this even better down the road.  I
> want to do OSGi as much as anyone, but I really think waiting is the right
> thing to do.  Embedding Jetty is a piece of cake anyway, and I like your
> ideas to make the dependency optional.
>
> Chris
>
> On 5/16/07, Alex Karasulu <ak...@apache.org> wrote:
> >
> > For some time now a few people have been discussing embedding an HTTP
> > service into ApacheDS for
> > a number of reasons:
> >
> > (1) to expose a DSML service
> > (2) host a web based configuration and management interface
> > (3) for first start configuration
> > (4) for other self service interfaces useful for directory users
> >
> > Just this morning I responded to an email from Peter Neubauer regarding
> > #4 to have a simple
> > self service application so users can manage various aspects of their
> > account.  Such an application
> > would be trivial to implement if ApacheDS came with an optional HTTP
> > service which could be
> > enabled via it's configuration.
> >
> > After this email Emmanuel and I had a brief conversation about this.  We
> > discussed how
> > easy it would be to integrate Jetty with ApacheDS since this was already
> > done for Triplesec.
> > Furthermore we discussed how just having the service present would allow
> > other parties to
> > extend ApacheDS functionality for custom use in their environments.
> >
> > I have several things on my plate at the moment but I think I should try
> > to grok this in the
> > next day or two just to the open the door to these other possibilities.
> >
> > Adding this new service to ApacheDS will impose some additional
> > dependencies since the
> > service will be optionally started by the server side JNDI provider
> > using the configuration.
> > Namely there will be a dependency on Jetty even if this service is not
> > turned on.  There are
> > several ways to avoid this dependency.
> >
> > (1) Leverage OSGi to just provide the service in a decoupled fashion
> > (2) Add a "plugin" mechanism into the server-jndi module to load
> > protocol
> >      providers dynamically at runtime
> >
> > Both approaches have pros and cons.  The first will take time until we
> > get to OSGi.  The
> > second requires additional work which would be redundant once an OSGi
> > container is used.
> > For these reasons I think it might be best if we just add this
> > dependency for now and refactor
> > later depending on what happens in the future.
> >
> > Alex
> >
> >
> >
>

Re: [ApacheDS] Embedded http service

Posted by Chris Custine <ch...@gmail.com>.
OSGi has an http service that we could use, and I think there are also a lot
of new things coming that will make this even better down the road.  I want
to do OSGi as much as anyone, but I really think waiting is the right thing
to do.  Embedding Jetty is a piece of cake anyway, and I like your ideas to
make the dependency optional.

Chris

On 5/16/07, Alex Karasulu <ak...@apache.org> wrote:
>
> For some time now a few people have been discussing embedding an HTTP
> service into ApacheDS for
> a number of reasons:
>
> (1) to expose a DSML service
> (2) host a web based configuration and management interface
> (3) for first start configuration
> (4) for other self service interfaces useful for directory users
>
> Just this morning I responded to an email from Peter Neubauer regarding #4
> to have a simple
> self service application so users can manage various aspects of their
> account.  Such an application
> would be trivial to implement if ApacheDS came with an optional HTTP
> service which could be
> enabled via it's configuration.
>
> After this email Emmanuel and I had a brief conversation about this.  We
> discussed how
> easy it would be to integrate Jetty with ApacheDS since this was already
> done for Triplesec.
> Furthermore we discussed how just having the service present would allow
> other parties to
> extend ApacheDS functionality for custom use in their environments.
>
> I have several things on my plate at the moment but I think I should try
> to grok this in the
> next day or two just to the open the door to these other possibilities.
>
> Adding this new service to ApacheDS will impose some additional
> dependencies since the
> service will be optionally started by the server side JNDI provider using
> the configuration.
> Namely there will be a dependency on Jetty even if this service is not
> turned on.  There are
> several ways to avoid this dependency.
>
> (1) Leverage OSGi to just provide the service in a decoupled fashion
> (2) Add a "plugin" mechanism into the server-jndi module to load protocol
>      providers dynamically at runtime
>
> Both approaches have pros and cons.  The first will take time until we get
> to OSGi.  The
> second requires additional work which would be redundant once an OSGi
> container is used.
> For these reasons I think it might be best if we just add this dependency
> for now and refactor
> later depending on what happens in the future.
>
> Alex
>
>
>

Re: [ApacheDS] Embedded http service

Posted by Emmanuel Lecharny <el...@apache.org>.
I feel pretty confident that Alex can embed Jetty into ADS in a very 
elegant way, ie without having to modify the core server nor requiring a 
bunch of XML configuration.

Plus he already has done the very same integration for TripleSec, so I 
have only one thing to tell Alex :
you have my +1.

I really think that those 4 points are important, and I would add one 
more : as soon as we integrate DSML capacity to the server, we will be 
able to go through firewalls which have been parametrized to accept only 
HTTP protocol. The next step of course will be to include some WS 
endpoints for all the LDAP operations...

Emmanuel

Re: [ApacheDS] Embedded http service

Posted by Ole Ersoy <ol...@gmail.com>.
I like the idea of separate services through OSGi.

One way to quickly do it would be to create small
webapps concentrating on each use case ...(1)-(4).

Then make these available the same way that
Tomcat makes available its administration webapps.

This would keep ADS's dependencies as they are now,
yet all the use cases would be supported.

The webapps could use SDO as their "Model" layer, and the
DAS as their integration layer.

A Tomcat/Jetty ADS Package could be developed which
preconfigures the two such that the webapps are supported
right out of the box.

Cheers,
- Ole



Alex Karasulu wrote:
> For some time now a few people have been discussing embedding an HTTP 
> service into ApacheDS for
> a number of reasons:
> 
> (1) to expose a DSML service
> (2) host a web based configuration and management interface
> (3) for first start configuration
> (4) for other self service interfaces useful for directory users
> 
> Just this morning I responded to an email from Peter Neubauer regarding 
> #4 to have a simple
> self service application so users can manage various aspects of their 
> account.  Such an application
> would be trivial to implement if ApacheDS came with an optional HTTP 
> service which could be
> enabled via it's configuration. 
> 
> After this email Emmanuel and I had a brief conversation about this.  We 
> discussed how
> easy it would be to integrate Jetty with ApacheDS since this was already 
> done for Triplesec.
> Furthermore we discussed how just having the service present would allow 
> other parties to
> extend ApacheDS functionality for custom use in their environments.
> 
> I have several things on my plate at the moment but I think I should try 
> to grok this in the
> next day or two just to the open the door to these other possibilities.
> 
> Adding this new service to ApacheDS will impose some additional 
> dependencies since the
> service will be optionally started by the server side JNDI provider 
> using the configuration. 
> Namely there will be a dependency on Jetty even if this service is not 
> turned on.  There are
> several ways to avoid this dependency.
> 
> (1) Leverage OSGi to just provide the service in a decoupled fashion
> (2) Add a "plugin" mechanism into the server-jndi module to load protocol
>      providers dynamically at runtime
> 
> Both approaches have pros and cons.  The first will take time until we 
> get to OSGi.  The
> second requires additional work which would be redundant once an OSGi 
> container is used.
> For these reasons I think it might be best if we just add this 
> dependency for now and refactor
> later depending on what happens in the future.
> 
> Alex
>  
> 

Re: [ApacheDS] Embedded http service

Posted by Alex Karasulu <ak...@apache.org>.
Excellent! Thanks Enrique.

Alex

On 5/17/07, Enrique Rodriguez <en...@gmail.com> wrote:
>
> On 5/16/07, Alex Karasulu <ak...@apache.org> wrote:
> > For some time now a few people have been discussing embedding an HTTP
> > service into ApacheDS for
> > a number of reasons:
> >
> > (1) to expose a DSML service
> > (2) host a web based configuration and management interface
> >  (3) for first start configuration
> > (4) for other self service interfaces useful for directory users
>
> This will be great to see.  I can help add Kerberos for SSO based on
> creds in the Directory.
>
> Enrique
>

Re: [ApacheDS] Embedded http service

Posted by Enrique Rodriguez <en...@gmail.com>.
On 5/16/07, Alex Karasulu <ak...@apache.org> wrote:
> For some time now a few people have been discussing embedding an HTTP
> service into ApacheDS for
> a number of reasons:
>
> (1) to expose a DSML service
> (2) host a web based configuration and management interface
>  (3) for first start configuration
> (4) for other self service interfaces useful for directory users

This will be great to see.  I can help add Kerberos for SSO based on
creds in the Directory.

Enrique