David Jencks wrote:
On Oct 11, 2005, at 4:37 PM, Dave Colasurdo wrote:
David Jencks wrote:
On Oct 11, 2005, at 2:18 PM, Dave Colasurdo wrote:
Quite frankly, I'm not sure I see the value of having multiple web
containers simultaneously active within geronimo. Has anyone heard
of a use case or user that is asking for this support?
I don't think there is any practical use for it outside of
experimenting with both web containers at once. It also makes
running the tck much easier.
IMHO, I suspect the vast majority of users will choose a single
web container (at build or install time) and stick with it. If
future requirements dictate a switch to a different container, then
laying down a new installation doesn't seem unreasonable. In fact,
Geronimo doesn't currently even support incremental maintenance. I
would think the use case for non-destructive upgrade would be much
more prevalent than changing internal components on the fly.
While simultaneous active web containers would be a technical feat,
I'm really not sure the overhead and added confusion to users are
worth the payoff.. My $.02
I prefer to keep this as standard at this point to ensure that our
architecture remains clean enough to support it. I look forward to
the installer being sophisticated enough to be able to include the
correct components for only one web container. At the moment, it
includes all components and only starts selected ones.
If there is no immediate practical use for it outside of TCK testing,
wouldn't it be beneficial to the users (who are hopefully flocking to
the newly certified J2EE server :>) ) if the default behavior was more
inline with their expectations rather than confuse them with behavior
that is somewhat confusing and that they will likely not be leveraging?
The changes to the installer seem like a reasonable plan. How about
users that download the binary zip/tar images? Shouldn't they also
have a simple default way to utilize only one web container. It seems
this is what most users would want. It appears that the current M5
default behavior is starting both web containers..
Well, what do you suggest? At the moment the way to switch to a single
web container is to copy 2 text files over 2 other text files.
Instructions are in the M5 release notes. The alternative to starting
both web containers by default is to start neither: we can't play
favorites. We don't yet have a maintainable way of building 2 entirely
separate distributions. I hope we can get there by 1.0, but it's going
to take a substantial revision of our assembly process to use the
packaging plugin and the assembly plugin: even with sharing the
configurations between distributions it will mean a very substantial
increase in maintenance to ship 2 versions, and I am not at all sure it
is worth the trouble if we can provide a single-container choice using
the installer.
Concerning the non-installer images..
Hmmm.. I guess one of the problems is that many folks will not view the
release notes and just try to use the the application server ( I am
guilty of this). Some initial thoughts that come to mind to address this:
Binary Distributions (assuming now that G is certified there will be
more frequent binary images available) - I suspect the audience for
these binaries will primarily be users and not G developers..
1) Default to no webcontainer and spell out in BIG BOLD COLORED LETTERS
ON THE DOWNLOAD SITE that you need to choose a webcontainer via the
config files. If the server is started w/o a webcontainer, spit out yet
another reminder message..
2) Have a separate binary image for both the Jetty and Tomcat
webcontainers. I'm not suggesting biting off the whole task of revising
the assembly process but rather just merely having two binaries each
with a separate set of config files (config.xml, config.list). This
could even be a post-build step done on the common image. This isn't
very technically interesting but clearly communicates to users that
there are two separate environments and they select the download that
they want. Of course, this goes away if/when the assembly revision is
complete.
3) Have no default config in the binaries. Have the jetty and tomcat
config files available as a separate download (right on the same page as
the binary images). Clearly document that one of the containers needs
to be chosen. (I don't like this option)..
4) Default the binary distribution to one of the web containers. You
can use MagicGball to decide which one :>) Clearly indicate on the web
download site that this can easily be changed by updating the config files..
While none of these options are too technically exciting, they do
address the problem of users inadvertently starting G with multiple web
containers and getting confused. We don't want users to have a bad first
impression..
Source Tree distributions
Can't there be a simple argument or property that is specified at build
time to denote which webcontainer (or both) will be used. The build
will then seed the resulting image with the correct copy of config.list
and config.xml.. Again this doesn't address the major revision of the
assembly process but provides a simple way to create an image that has
the webcontainer(s) config that you want. Hmmm.. perhaps this is
overkill as developers should already know about config.list and
config.xml..
Hope I haven't beat this issue to death, just want to try to keep it as
simple as possible for users...
Thanks
thanks
david jencks