You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Joe Bohn <jo...@earthlink.net> on 2005/10/25 17:42:43 UTC

web applications and hosting containers

The default Geronimo configuration includes both the Jetty and Tomcat 
web containers predeployed and started by default.

Therefore, it would follow (when dealing with a web application that is 
not dependent upon any specific web container) that the web app would 
either:
1) upon a single deployment be capable of running in either a single, 
all, or any combination of containers.  If this is the case then I 
expect that the container would somehow be specified when starting the 
application or the application would be started concurrently on all 
active containers (hence a runtime choice of container).
2) require the specification of a container(s) in the deploy command. 
The web app could then be deployed multiple times (once to each web 
container).  The individually deployed applications could then be 
started independently on each container.

However, it appears that there is no mechanism to reference a specific 
container from either the deploy command or the start command.

How is the user supposed to interpret this?   What behavior should the 
user expect when deploying and starting web applications that have no 
need for a container specific plan and hence include no geronimo 
deployment plan?  To which container(s) are they deployed?   Is the 
choice of the container a deployment decision (deploy command) or a 
run-time decision (start/stop command)?

Thanks,
Joe


-- 
Joe Bohn
joe.bohn@earthlink.net

"He is no fool who gives what he cannot keep, to gain what he cannot 
lose."   -- Jim Elliot

Re: web applications and hosting containers

Posted by Joe Bohn <jo...@earthlink.net>.

David Jencks wrote:
> 
> On Oct 25, 2005, at 8:42 AM, Joe Bohn wrote:
> 
>>
>> The default Geronimo configuration includes both the Jetty and Tomcat 
>> web containers predeployed and started by default.
> 
> 
> I'm hoping we can find a way soon so this is not the case.
> 
>>
>> Therefore, it would follow (when dealing with a web application that 
>> is not dependent upon any specific web container) that the web app 
>> would either:
>> 1) upon a single deployment be capable of running in either a single, 
>> all, or any combination of containers.  If this is the case then I 
>> expect that the container would somehow be specified when starting the 
>> application or the application would be started concurrently on all 
>> active containers (hence a runtime choice of container).
>> 2) require the specification of a container(s) in the deploy command. 
>> The web app could then be deployed multiple times (once to each web 
>> container).  The individually deployed applications could then be 
>> started independently on each container.
>>
>> However, it appears that there is no mechanism to reference a specific 
>> container from either the deploy command or the start command.
>>
>> How is the user supposed to interpret this?   What behavior should the 
>> user expect when deploying and starting web applications that have no 
>> need for a container specific plan and hence include no geronimo 
>> deployment plan?  To which container(s) are they deployed?   Is the 
>> choice of the container a deployment decision (deploy command) or a 
>> run-time decision (start/stop command)?
> 
> 
> There are 2 factors that can affect the web container a web app gets 
> deployed to:
> 
> 1. namespace of the deployment plan.  There are 3 choices:
> a. jetty specific http://geronimo.apache.org/xml/ns/j2ee/web/jetty-1.0  
> A plan with this namespace will only get deployed to jetty.
> b. tomcat specific http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.0 
> A plan with this namespace will only get deployed to tomcat
> c. generic http://geronimo.apache.org/xml/ns/j2ee/web-1.0  A plan with 
> this namespace might get deployed to jetty or tomcat:

Thanks for the clarification.  I was just trying to understand the 
generic case (option c above).  I suspect this it the situation for 99% 
of users building web applications to be deployed in Geronimo ... they 
could run in any container (as long as there is one) so their deployment 
plan will most likely not call out a specific container.

> 
> 2. default namespace attribute in WebModuleBuilder.  This should be set 
> to (a) or (b) above.  Web apps with no plan or web apps with the (c) 
> namespace will get deployed to jetty or tomcat depending on the value of 
> this attribute.

Thanks ... that helps clarify things.  IIUC then the only way to deploy 
applications to the tomcat container in the default configuration is to 
have a tomcat specific plan (option b above) because the WebBuilder 
namespace is set to Jetty in that configuration.  I also now understand 
that the association between an application and a container is set at 
the time of deployment.  Hence the application will always start on the 
container specified during deployment (IIF that container itself is 
started).

> 
> I am against including a command line option to select the web 
> container.  I think that running both containers is a temporary 
> expedient that with luck will disappear by 1.0, and corrupting the 
> deployment architecture to accomodate it is unnecessary and unwise.
> 
> thanks
> david jencks
> 
> 
> 

-- 
Joe Bohn
joe.bohn@earthlink.net

"He is no fool who gives what he cannot keep, to gain what he cannot 
lose."   -- Jim Elliot

Re: web applications and hosting containers

Posted by David Jencks <da...@yahoo.com>.
On Oct 25, 2005, at 8:42 AM, Joe Bohn wrote:

>
> The default Geronimo configuration includes both the Jetty and Tomcat 
> web containers predeployed and started by default.

I'm hoping we can find a way soon so this is not the case.

>
> Therefore, it would follow (when dealing with a web application that 
> is not dependent upon any specific web container) that the web app 
> would either:
> 1) upon a single deployment be capable of running in either a single, 
> all, or any combination of containers.  If this is the case then I 
> expect that the container would somehow be specified when starting the 
> application or the application would be started concurrently on all 
> active containers (hence a runtime choice of container).
> 2) require the specification of a container(s) in the deploy command. 
> The web app could then be deployed multiple times (once to each web 
> container).  The individually deployed applications could then be 
> started independently on each container.
>
> However, it appears that there is no mechanism to reference a specific 
> container from either the deploy command or the start command.
>
> How is the user supposed to interpret this?   What behavior should the 
> user expect when deploying and starting web applications that have no 
> need for a container specific plan and hence include no geronimo 
> deployment plan?  To which container(s) are they deployed?   Is the 
> choice of the container a deployment decision (deploy command) or a 
> run-time decision (start/stop command)?

There are 2 factors that can affect the web container a web app gets 
deployed to:

1. namespace of the deployment plan.  There are 3 choices:
a. jetty specific http://geronimo.apache.org/xml/ns/j2ee/web/jetty-1.0  
A plan with this namespace will only get deployed to jetty.
b. tomcat specific 
http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.0 A plan with this 
namespace will only get deployed to tomcat
c. generic http://geronimo.apache.org/xml/ns/j2ee/web-1.0  A plan with 
this namespace might get deployed to jetty or tomcat:

2. default namespace attribute in WebModuleBuilder.  This should be set 
to (a) or (b) above.  Web apps with no plan or web apps with the (c) 
namespace will get deployed to jetty or tomcat depending on the value 
of this attribute.

I am against including a command line option to select the web 
container.  I think that running both containers is a temporary 
expedient that with luck will disappear by 1.0, and corrupting the 
deployment architecture to accomodate it is unnecessary and unwise.

thanks
david jencks