tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Costin Manolache <cmanola...@yahoo.com>
Subject RE: JSP 2.0's J2SE 1.4 Requirement
Date Mon, 07 Oct 2002 20:30:35 GMT
iasandcb wrote:

> Now it's almost clear that SRV 2.4 requires JDK 1.2 and JSP 2.0 does JDK
> 1.4. The main issue is discrepancy of J2SE requirement between SRV 2.4
> and JSP 2.0, which are supposed to come up together.

Actually, it isn't.

All we know is that the current draft has this requirement. We should 
find a proper procedure ( for example a vote on tomcat dev ) and then
ask our representative in JCP ( Geir for example - he's a very nice 
person ) to request a change. 

I don't know what's the proper mechanism yet - but Apache does have
a representative and a vote, and we should have a way to have the 
opinion of tomcat-dev expressed.

If the final JSP2.0 will require 1.4 - then we'll have to do that. It
would be very unfortunate ( especially for jsp people ), and will
require ( IMO ) a separate tomcat without JSPs.

My opinion ( and it seems a lot of people have the same opinion ) that 
portability ( in the sense of beeing able to run on most OS and platforms )
seems to agree with what Apache is doing in most projects ( Apache server 
runs on more platforms than java - and did that even before 'write once,
run everywhere'). We should first explore the alternative for having this
opinion confirmed ( vote ? ) and expressed in the expert group. 

If the EG prefers features over portability - then we need to find a 
way to create a distribution without JSP ( is this possible ?) and maybe
compensate by including cocoon or velocity. 

Costin


> 
> At this point, I'd like to propose an idea. It's "Tomcat subprojects"
> plan.
> 
> So far, Tomcat has had always SRV container and JSP engine(compiler and
> runtime), and there has been no problem about their co-existence.
> However, the relationship should be changed somehow because SRV is
> considered stable and settled and JSP growing and immature.
> 
> My main idea is seperation between SRV container and JSP engine.
> Actually from Tomcat 4, we have distinguished catalina(SRV part) from
> jasper(JSP part). However, it was not outer-distribution level but
> inner-development level.
> 
> I suggest the following table:
> Catalina 2.4 - Servlet 2.4 - JDK 1.2
> Jasper 2.0 - JSP 2.0 - JDK 1.4
> Connectors - Coyote, JK2
> Add-ons - JDBC SE, NIO Accelaration, Administration, Manager
> 
> Basically, catalina and jasper have the same major.minor version with
> related technologies. For example, if somebody have catalina
> 2.3.1distribution, them he or she can make use of SRV 2.3.
> 
> Another important feature of these distributions is "independency". For
> example, you are able to run a servlet just with catalina servlet
> container. If you want to use SRV 2.4, you will choose catalina 2.4.x.
> In this case, you don't need JDK 1.4 as JSP 2.0-compliant engine is not
> related at all.
> 
> This independency also can bring new possibility toward lightness and
> harmony with other dynamic page generation technologies such as Tea, or
> template engines like Velocity. If someone want to use not JSP but
> alternative paging script, catalina servlet container is sufficient and
> necessary for that purpose.
> 
> However, the key feature is "free-combination". If a developer likes to
> utilize SRV 2.4 on JDK 1.2 or 1.3 (call those versions "Java 2 classic"
> later), he or she can do so by electing catalina 2.4 and avoiding jasper
> 2.0 at the same time. For instance, imagine catalina 2.4 + jasper 1.2
> under JDK 1.3.
> 
> Maybe there are some worrying about disabilities to use JSP 2.0, but we
> have JSTL and JSF for compensation. JSTL supports EL that JSP 2.0 also
> provids. JSF requires JSP 1.2(and SRV 2.3), so we will be happy with
> them.
> 
> Let's see some different impact from this architecture: Still we can
> release integraed Tomcat distribution that consists of catalina, jasper,
> connectors, and add-ons. For example, Tomcat 5 contains catalina 2.4,
> jasper 2.0, some connectors, and several extras. In that case, Tomcat 5
> definitely requires JDK 1.4(call that version "Java 2 modern" later). As
> we already knew, Windows-Intel, Solaris-Intel-or-Sparc, and Linux-Intel
> are considerable majority of Java Platform Infrastructure for both
> production and service. Tomcat 5 stands for a start to a new era of Java
> web application development and deployment.
> 
> While Tomcat 5 empowers JSP 2 style with great ease, obviously there
> should be some who need web containers running with Java 2 classic. For
> their convenience and survival, catalina 2.4 and jasper 1.2 are ready.
> They are unable to get what JSP 2 style gives, but still do enjoy SRV
> 2.4's enhanced features and JSTL-JSF ensemble with JSP 1.2 under Java 2
> classic platform.
> 
> This architecture helps Tomcat-involved developers too. Now Tomcat has
> so many subpackages, so it's very hard to keep track of all of them and
> even build it without conflict. Historically Tomcat was a servlet
> container. Since JSP technology was born, it has been taken for granted
> that Tomcat should support JSP as well. Now it is about time for SRV and
> JSP to go their own way respectively. Moreover, Tomcat has been
> providing a lot of optional features for users' sake. DB Connection
> Pooling and useful web applications such as adminstration and manager
> are some of them. Notwithstanding the merit, they are actually optional
> and distinct. Instead of packaging all the presents, we can develop and
> release each package indepedently and give full guidance to deploy and
> undeploy them on catalina. Choices are up to users, who are supposed to
> be capable of manipulating.
> 
> Let me tell you some scenarios: A is a beginner, and feel like making
> and running servlets and JSP pages with MySQL DB. Absolutely A's choice
> is Tomcat 5 integrated distribution(all-in-one type). On the other hand,
> B is a skillful Java web developers, and wants his web container to work
> standalone as light and fast as possible. B's choice is catalina 2.4 +
> jasper 2.0 + Coyote + NIO acceleration add-on because B may not need
> additional connectors or extra web applications.
> 
> Structure
> 
> jasper(JSP engine) | Add-on | Add-on | ... | some other engine |....
> <- every pluggable component is
> ------------------------------------------------------------------------
> --------------                    downloadable and deployable.
>                          catalina(SRV Container)
> 
> In short, Tomcat subprojects will be like this:
> 
> catalina [servlet container] : 2.2, 2.3, 2.4 (Java 2 classic)
> jasper [jsp engine] : 1.1, 1.2 (Java 2 classic), 2.0 (Java 2 modern)
> connectos : Coyote, JK2, ...
> add-ons: JDBC SE guidance(only documents can be OK), administration,
> manager, ...
> and finally
> Tomcat [fully-equipped web container] : 3.x, 4.x (Java 2 classic), 5.x
> (Java 2 modern)
> 
> Once again, the motto of the idea is "freedom of choice" and "economy of
> collaboration".
> 
> IAS
> 
> Independent Java Technology Evangelist
> 
> http://www.iasandcb.pe.kr
> 
> -----Original Message-----
> From: Mark Roth [mailto:mark.roth@sun.com]
> Sent: Saturday, October 05, 2002 8:44 AM
> To: tomcat-dev@jakarta.apache.org
> Subject: JSP 2.0's J2SE 1.4 Requirement
> 
> 
> It has been brought to my attention that some members of the Tomcat
> community have expressed a desire to see a requirement lower than J2SE
> 1.4 in JSP 2.0.
> 
> First, let me reassure you that the JSP 2.0 specification is not final.
>   Actually, we are in Proposed Final Draft phase, and we are explicitly
> soliciting feedback!  Early feedback is always much appreciated.  As per
> 
> the cover of the specification, the appropriate forum for feedback is
> jsp-spec-comments@eng.sun.com.
> 
> Regarding the J2SE 1.4 requirement, the expert group discussed the topic
> 
> in early August (as issue "[OTH-17] J2SE Version Requirement") and there
> 
> was concensus from the different experts, but the EG is open to
> additional comments.  You can send mail directly to
> jsp-spec-comments@eng.sun.com, or, maybe better in this case, talk
> directly to the Apache representatives to the Expert Group: Ricardo
> Rocha (ricardo@apache.org) and Geir Magnusson Jr. (geirm@apache.org).
> In general the more feedback the rep has from his community the better
> for the Expert Group.
> 
> For what it's worth, the only technical reasons we require J2SE 1.4 are:
> 
>      1. We require support for JSR-45 (Debugging Support for Other
>         Languages)
>      2. We declare support for Unicode 3.0 in our I18N chapter.
> 
> Actually, JSR-45 is quite important for the platform as a whole.  For
> example, it was recently pointed out to me that there's a bug report
> against Tomcat 5 because we didn't re-implement the pseudo-debug
> comments that Jasper 1 used to create, and that some tools relied on.
> Standard debugging annotations is an important enabler, and it would be
> a shame to have to wait even longer for it.
> 
>  From my perspective, the most significant reason to require J2SE 1.4 is
> 
> that it would be best if people can write portable tag handlers that
> utilize J2SE 1.4 libraries, and be able to use them in any JSP 2.0
> application.  Do we really want to stagnate on J2SE 1.2 APIs forever?
> 
> I've compiled a list of new features in J2SE 1.3 and J2SE 1.4 that I
> believe would be of use to page authors and tag library developers that
> would decide to use JSP 2.0.  It would be awesome, IMHO, if page authors
> 
> and tag library developers could rely on these features being present in
> 
> any JSP 2.0 compliant container.  This list was also discussed in the
> Expert Group.
> 
> J2SE 1.3 adds (among other features):
> 
>          * Built-in JNDI
>          * RMI/IIOP
>          * CORBA ORB
>          * PNG support (for image taglibs)
>          * Various Security enhancements
>          * Improved socket support
>          * HTTP 1.1 client-side support
>          * DynamicProxy
>          * Serialization enhancements
>          * Collections enhancements
>          * BigDecimal and BigInteger enhancements
>          * StrictMath
>          * Timer API
>          * Delete-on-close mode for opening zip and jar files
>          * JPDA tool support
> 
> J2SE 1.4 adds (among other features):
> 
>          * XML Processing
>          * New I/O APIs
>          * Security: Java Cryptography integrated
>          * Security: GSS-API, Certification Path API
>          * Pluggable Image I/O framework
>          * Print Service API
>          * Standard Logging APIs
>          * Long-term Persistence of JavaBeans
>          * JDBC 3.0
>          * Assertions
>          * Preferences API
>          * Chained Exception Facility
>          * IPv6 Networking Support
>          * JNDI enhancements
>          * CORBA ORB with POA
>          * *** JSR-45 (Debugging Support for Other Languages) ***
>          * *** Unicode 3.0 ***
>          * Currency class
>          * Collections Framework enhancements
>          * Built-in support for Regular Expressions
> 
> Regards,

-- 
Costin



--
To unsubscribe, e-mail:   <mailto:tomcat-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@jakarta.apache.org>


Mime
View raw message