geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Boynes <jboy...@apache.org>
Subject Re: Unified Tomcat/Jetty Plans
Date Mon, 04 Jul 2005 17:49:31 GMT
Aaron Mulder wrote:
> 
> 	Which leads me back to the web plans.  Some of your comments
> aren't clear to me.  For example: "How about defining a common interface
> for the runtime bits that both Jetty and Tomcat runtimes can implement?"  
> Jetty and Tomcat are operating off the same XMLBeans right now.  If
> there's further unification that can be done -- by merging "runtime bits",
> let's work on it.  But that doesn't have anything to do with the XML
> format.
> 

They are using the same XML but the underlying implementations are very 
different; if you deploy an application using the Jetty builder it will 
not run on a Tomcat server.

If you define a common interface for the runtime there you are 
decoupling the builder from the runtime implementation: the builder 
generates code just to the standard interface. That would result in one 
builder and two runtimes. It would also mean the builder would not need 
to change as additional runtimes were added (e.g. the Jetty 6 one), 
provided each container only needed LCD features.

Ultimately I think this is a simpler and more flexible architecture. It 
not only supports the LCD schema defined by the generic builder, it is 
also capable of supporting specialized builders for each implementation.

Each specialized builder will require its own XML - experience has shown 
there is just so far you can go with generic properties before it 
becomes unusable. Eventually we will get back to where we are now with 
different schemas for different containers (which is another reason for 
not breaking all the applications).

This need not be really complex as the specialized builders can extend 
the generic one and the specialized XML can extend the generic XML. Most 
of the heavy lifting is done in the generic builder (to the common 
inrerface) and the only code in the specialized ones is the container 
specific stuff.

--
Jeremy

Mime
View raw message