tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject TC3.3: A number of changes
Date Thu, 02 Nov 2000 19:52:43 GMT

It's nice to have a vacation, and long flights are great too :-)
As you may remember, some time ago I proposed few big goals for tomcat

1. Support non-ASCII charsets. That includes detecting the input encoding,
and correct decoding of URI and headers ( based on the HTTP standard and
with workarounds for broken clients )

2. Support servlet 2.3, jsp1.2 ( in addition to servlet2.2 and jsp1.1),
and more important make sure the core architecture supports any future (
or past ) version of the servlet API. 

3. Security - be able to run an arbitrary hacked servlet in a secure way (
except denial of service, wich is harder). That includes making sure there
is no way (except trusted="true" ) to access tomcat internals.

4. More performance: continue the work started on tomcat3.2. We have
almost all the base elements, we just need to fix the core to support
recycling of URIs, parameters, cookies and sessions ( by using
MessageBytes instead of Strings, also required for (1), and using
specialized structures instead of Hashtables for parameters,etc )

5. Backport a number of modules from 4.0 ( HTTP1.1, make sure webDAV and
the new jasper are working fine )

Those were my initial goals for tomcat3.3 - it seemed reasonable and a
nice step forward versus tomcat3.2.

The problem is I overestimated my free time and underestimated the time
required to achieve that. 
Another big problem is that we have a far too long release cycle, and the
difference between releases is too big.

My new plan ( i.e. what I would like to do in my free time in the next few
months ):

1. Finish the core ( probably next few weeks ). That means removing all
deprecated code, replacing Strings with MessageBytes where needed, use a
new Parameters and Cookies class (modeled after MimeHeaders), make sure
only what's really needed remains in.

2. Propose a feature freeze for tomcat-3.3.0 after the core is reviewed by
the list, and try to make sure we are all happy with what's inside. 

3. Make sure everything works ( at the same level with 3.2 :-)

4. Fix bugs, etc and try a new release.

Almost none of the initial goals will be achieved in 3.3.0 ( unless
someone else is willing to do that ), but we can get it done in few

After this is done, we can work on each module - there are many things to
be done and if the core will be frozen we can do it as a series of
"micro-revolutions" - that means facade23 will result in a 3.3.1, the
CharsetInterceptor may be a 3.3.2, etc - back to a fast release cycle,
without the huge delays we had in 3.2.

Tomcat3 already builds as a number of independent jars. We can also start
versioning individual components, with "3.3" prefix indicating the core

The idea is to stop having "big" releases, and allow smoother
transitions. All architecture elements are in place now. 

Of course, all depends on your interest in particular modules - facade23
is the most important ( after the spec is final ). It shouldn't be
difficult to implement the new spec, but I would really like to have
someone else do that. I'm not that interested in the new features :-)

I'll send a number of proposals for various changes in 3.3 soon.

What do you think ? 



View raw message