On Mon, 23 Apr 2001, Craig R. McClanahan wrote:

> 3.3 wants to maintain JDK 1.1 compatibility -- at least that's the last I
> heard; maybe attitudes are changing.

My attitude is changing indeed - I would like to propose J2ME
compatibility for tomcat 3.3 :-)

( the only problem is one class that is required by servlet API but not
present in J2ME - i.e. Principal, everything else is easy - at least with
the foundation profile )

That doesn't mean 3.3 _modules_ are restricted in any way to JDK1.1. 
Tomcat has already at least 2 modules that are JDK1.2 compatible.

The restriction ( the way I understand it at least ) is that tomcat4 
should provide a (basic) servlet container that will work on JDK1.1, and
that means the 5-6 classes in tomcat.core, plus 10 utils need to remain
compatible with JDK1.1. It also means that new functionality ( like a
session store or a new connector ) need to be added in new modules 
( but there are many other reasons for that - stability of the code, 
etc).



> 4.0 is not constrained by this, because the servlet 2.3 spec mandates a
> Java2 minimum platform.  I don't see any reason to restrict development on
> the 4.0 track (for session stores or anything else) for backwards
> compatibility.

Well, I would say tomcat 3 is not constrained to much by this either. 

The constraint in 3.3 is that we want to keep the code stable and release
it, and all that it means is that new functionality should be developed as 
separate modules with minimal changes in the main tree.

I have few modules in work ( at prototype stage ), jasper will probably be
a big one, I hope mod_jk+webapp will be another one. 


> Besides, I can *guarantee* you that Costin won't like several aspects of
> the org.apache.catalina.Store interface, because it has dependencies on
> the other Catalina internal interfaces :-).

You know me very well :-)

Yes, I think the session manager should be a separate module, with minimal
dependencies on other components. I also think that mod_jk should be a
separate module, that will work with any container that provides an
adapter ( and not only 3.3 or 4.0 btw ). 

( and this has nothing to do with 3.3/4.0 architecure - but with
beeing able to manage the complexity ).


> You're going to have a very hard time, though, overcoming the
> fundamentally different architectural world views on which the 3.3 and 4.0
> designs are based.

As long as the session manager is not very dependent on the internal
architecture - it should be fine, and work not only in 3.3 or 4.0. There
are many good ways to process a request - and the session manager ( or
jasper, or the connector ) shouldn't care about that. 


Costin







Reply via email to