I've been looking into how to embed the http service into ApacheDS so applications
can be built for doing DSML, and exposing various other web applications like for
configuration and self service.

There are some options here that I thought I should discuss on list especially with the
efforts under way to change the installation layout of the ApacheDS packages on Linux. 

First let me clarify what I plan to do.  I will add the http service using an embedded Jetty
instance for now.  The Jetty instance will start up after the directory server's core has
started.  It's startup and configuration will occur in the ServerContextFactory which also
starts the other protocol services.  Obviously the port used will be a configurable parameter
with a smart default which can be overriden with a port number property in a
HttpServiceConfiguration bean along with other configuration parameters.

Starting the Jetty server is not all we need to do.  Jetty must be configured to serve out
various web applications most of which will not be provided out of the box with the server.
Some may be but we have none right now.  These webapps need to be configured with Jetty
so it can expose the proper web contexts to be serviced by the web applications.  These
applications can exist on disk somewhere like in a webapps directory.  I will make this
directory a configuration parameter.  What I am wondering is whether this parameter should
be a relative directory relative to the installation base.  Since we're changing the way the
layout will be this may be an issue.  I guess I can make it so this path can be relative or
absolute.

The server can auto configure any webapps that have been unjarred into this directory so
if a new web application is installed it can be picked up on the next startup to enable the
webapplication.  Any ideas on what to do here or any thoughts?

Another problem I have here is that some XSDs are needed off the web
when web applications are installed and wind up breaking the startup if there is no inet
connection.  I can work around this I guess but I have to figure out how.

So here are the properties that I foresee with their smart defaults in the HttpServiceConfiguration
bean for now:

port (default 8383)
webapps (default ${installHome}/webapps})

** if a relative path is provided to the webapps property then it is presumed to be
    relative to the installation home.

Also there may be an additional parameter in the StartupConfiguration that enables or disables
this http service.

Alex