You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Gianny Damour <gi...@optusnet.com.au> on 2006/07/02 16:23:49 UTC

WADI Integration Preview

Hi,

I have been working on a second integration attempt of WADI and I am 
posting here a high-level description of the current state of progress 
such that people can jump in.

At this stage, this is a Jetty only attempt and I do believe that the 
same approach can be applied for Tomcat. The current integration 
provides (very unreliable) HttpSession state migration. It only works 
for a single Web-application; more effort is required on the WADI side 
to support multiple Web-applications and this will not impact the 
integration piece of code. I (more or less successfully) tested the 
integration with mod_proxy + mod_proxy_balancer and mod_proxy + 
mod_rewrite in front of three Geronimo servers running the WADI demo 
web-app.

The code changes are:
* new module to capture some clustering contracts – geronimo-clustering: 
there Node, SessionManager, Session and ClusteredInvocation are defined.
* new module to provide a WADI implementation of the above – 
geronimo-clustering-wadi;
* new module to capture clustering builder contracts – 
geronimo-clustering-builder: there is only one interesting interface 
JettyClusteringBuilder. This later defines a couple of methods to 
augment the environment of a Web module being built and add clustering 
specific GBeans;
* new module to provide a WADI implementation of the above – 
Geronimo-clustering-builder-wadi; and
* geronimo-jetty-builder and geronimo-jetty are impacted to hook in 
clustering. These two modules depend on geronimo-clustering and 
geronimo-clustering-builder and not on WADI specific modules.

Two new modules are added:
* jetty-clustering- wadi: this module defines default WADI GBeans such 
as Dispatcher, ReplicationManagerFactory, BackingStrategyFactory et 
cetera; and
* jetty-clustering-builder-wadi: this module defines a builder to 
process Jetty DD and add various GBeans to the module being built.

I think that the implementation is flexible enough to plug in another 
clustering implementation such as Kache.

As a matter of fact, there are some severe reliability (e.g. locking 
issues) and integration (only one Web-app can be clustered) issues, 
which need to be fixed. So, this work is not yet ready to be RTC voted 
and I do not think that it will before a couple of weeks. Having said 
that, I have opened a JIRA 
(http://issues.apache.org/jira/browse/GERONIMO-2163) such that people 
can have a look to the integration.

Thanks,
Gianny