This is a big topic....
On Aug 1, 2005, at 10:15 AM, Jeff Genender wrote:
Hi,
I want to open up a discussion for binary distribution.
Currently we are not packaging the plans in the binary distribution.
This will likely cause some issues with the users as it will be
inevitable that the configurations will need changing. Examples will
be SSL certificates (i.e. keyfiles)...to have an AJP connector or
not...have a Realm that covers the entire server, or even Virtual
Hosts. These are all typically server level configurations and much
less at an application specific level. I would say most users who want
to use Geronimo in production *will* be having a need to change the
configuration, and I think rebuilding from source is not acceptable.
We need to make the ability to alter these objects and easily change
the config without the need to download the entire source base.
I think this is a critical path issue that we need to address before a
1.0 release as it will cause huge complaints IMHO.
My .02...I think that packaging the plans with the assembly (and maybe
a maven script or other to easily enable a redeployment (cli?)) is a
short term solution and something we need to come to terms with, but
we should also discuss our long term goals around this.
I think some customization is supported by the izpack deployer,
although I haven't tried it. Maybe it needs more advertisement
I think we should try to get the copies of the source plans and the
instructions/scripts for reassembling the server into M5.
Longer term, I would like to promote a revolution in how people
approach configuration and deployment, based on the idea of
configuring the bits of server you need around your application or
group of applications.
There are several parts to this.
First, breaking up our current monolithic plans into lots of
module-specific configurations with limited "change points" and
supplying prebuilt configurations with appropriate defaults.
Second supplying some way to define which parts of a configuration can
be edited "post deployment" and which can't. I think there is a
proposal about "manageable attributes" but don't remember it clearly.
Also supplying some way of actually editing these, such as perhaps
putting them in a text or xml configuration file. To me this is very
different from allowing arbitrary edits of a plan after it's built into
a configuration. I don't think we should allow adding more gbeans for
instance.
Third, promoting the idea of starting from the application requirements
and configuring the application by adding server bits to it to support
the service levels the app requires. For instance, if your web app
needs a special ssl keystore and a particular thread pool size, make it
easy to add a jetty (or tomcat) connector configured appropriately to
the application: then any server you deploy it on will get the correct
stuff it needs to run the app. If you are running a family of related
applications, you would build a configuration with the connector
support you need, and associate it somehow with the set of
applications, so that when you distributed the app configuration(s) to
a particular server instance, the appropriate connector support would
come along with it.
I think it may take us a while to get this usable but I think it will
be worth it.
thanks
david jencks
Comments?
Jeff