tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <>
Subject Re: [LONG TERM PLAN] Proposed Architecture for Tomcat.Next Servlet Container
Date Thu, 06 Jan 2000 15:08:01 GMT wrote:
> > Please consider this a proposal for a major remodel of the
> > org.apache.tomcat.core package.  Because it will require such
> > significant changes (both in the code and the configuration files), I
> > would suggest we consider this the basis for a new major version of
> > Tomcat (4.x), so that bug fixes and enhancements can be made
> > simultaneously on the 3.x tree for the current version.
> Craig,
> I agree with most of your proposal - I disagree with some details ( as you
> know).  I don't want to discuss this now - but the strategy we should use
> to make the re-model of tomcat.core.
> I am very much opposed to any "major" change that will brake tomcat in more
> than a place. Instead of a major version that will have all the features
> and
> changes you mentioned, I would prefer a number of minor changes that will
> make incremental changes. This will allow people to contribute and comment
> on each step, and we should be able to have frequent and _usable_
> milestones.
> Also, we should add the interfaces you propose after we have all the
> implementation feedback and comments -  and _after_ we clean up
> and have a working implementation.
> I know it would be easier to just create a 4.0 branch and start with the
> new
> set of interfaces and build everything around it - the way JServ1.1 branch
> worked. IMHO, the biggest problem of JServ 1.1 was exactly that - even
> if it has a great design, people are still using JServ 1.0.
> Please, let's agree on this issue.

I agree with Costin.

Craig, I totally understand how you feel, because I played the same
rules with JServ 1.0, but happened that I was stubborn enough to have
other use it.

It was my "coup d'etat" and I think it was worth it, but it generated
too much friction and took 6 months of work to make the project
stabilize again.

The lesson I learned is "evolution, not revolution".
> The biggest change ( and the first we should do ) is to change the current
> request processing model ( Context/Container/RequestMapper/LookupResult/
> ServletWrapper/RequestDispatcher) to a modular and cleaner model.
> I agree on using something like Interceptors for this - I'm working on that
> since Nov., and I would like to commit the changes this month, so the
> rest of your proposal ( with some changes I hope :-) can be implemented
> BTW, the model is almost identical with the alghoritm used by Apache -
> with
> - module==interceptor,
> - request_rec==Request+Response,
> - per_dir_config == Context ( or Container)
> Same thing is used by NSAPI and ISAPI - and I guess their internal
> model is similar.
> To add to your list of advantages, using Interceptors ( maybe with another
> name - Handler like in Apache maybe ?) will allow us to keep a stable
> implementation ( the current code ) while experimenting with faster
> alghoritms. As soon as we finish the second step ( component configuration
> ),
> we'll be able to develop in all directions while keeping everything stable.
> If we agree on this, I that we start committing changes to the core package
> -
> in order to have at least a primitive version of Interceptor-based
> architecture
> before the end of the month.

I like Craig ideas and I like Costin's search for evolutionary paths.

I really hope you guys can find an agreement for that, otherwise, the
friction that develops will not help anyone.

Still, it's nice to have a rock solid plan so that people know where
we're doing. Look at Cocoon: I started talking about Cocoon2 since
Cocoon 1.2, now we are approaching Cocoon 1.6 and 1.7 is already in plan
and we keep on removing thing from Cocoon 2 and adding them to Cocoon

And let me tell you, I'm sure we'll end up changing just the logo for
Cocoon2 :)

Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<>                             Friedrich Nietzsche
 Come to the first official Apache Software Foundation Conference!  
------------------------- http://ApacheCon.Com ---------------------

View raw message