This project is in research of how to build and manage an enterprise deployment of Apache Geronimo. I am concerned with how to take existing technology, only which is distributed with Geronimo, and create an installation base on multiple servers which can work together under a single administration domain. This deployed installation configuration should not require the administrator to directly access any of the Geronimo server nodes after the initial installation. And the Geronimo farm/cluster should be configurable to support multiple web containers and virtual hosts per server.
The loadbalancing, failover, and clustering techniques are not in direct scope of this research. It is assumed the resulting farm/cluster can be handled in this mannor via some extrnal mechanism like Baracuda Load Balancer, F5 BigIP, or the free open source Linux Virtual Server software. Other load balancers should be able to work with Geronimo too like PerlBal, Pen, and more.
My focus is on Geronimo 3.0 only, currently in milestone release. I am working in the contribution area from the Geronimo Road Map of The Server > Runtime > Multiple Server Instance Support, with an interest in Custom Server > Little G.
The difference between Web Containers and Virtual Hosts has to do with resource allocation within the server. A virtual host could be seen as a functional realm or group of configurations to deliver specific content and functionality. But a Web Container is more of an instance of the Java Virtual Machine used to serve up one or more virtual hosts.
Multiple virtual hosts is desired when two or more functional realms or groups require the use of java libraries which are incompatible. This could be that one group requires version 2.0 of some library, and the other requires version 3.0 of the same library, but both version of the libraries cannot be loaded into the same Web Container else whatever library is loaded second overrides the previous making it unavailable.