Tomcat 5.5.7 är flaggad som stabil. Denna blogga beskriver kort vad som är nytt i Tomcat 5.5 generationen och reflekterar lite kring JSP 2.0 / Servlet 2.4 spridningen…

Ett av dom mest aktiva projekten ibland Apache’s java projekt är Tomcat. Tomcat har versionsmässigt skuttat upp först till version 5.0.x spåret och nu sedan ett bra tag tillbaka är senaste versionen 5.5.x eller mer konkret dessa dagar version 5.5.7. Tomcat är referensimplementation för Servlet och JSP specifikationen, version 5.x familjen tillhandahåller en referensimplementation för Servlet 2.4 och JSP 2.0.

Version 4 av Tomcat implementerade servlet 2.3 och JSP 1.2. und so weiter… Jag tänkte här kort redogöra för vilka nya coola features som Tomcat 5.5 tillhandahåller och reflektera kring vad själva specen tillhandahåller och varför inte användningen av dess features kommit igång.

Tomcat 5.5.7
Förutom alla nyheter i Servlet / JSP specefikationen kommer Tomcat 5.5.x med en hyfsad godispåse i fickan.

Java-versioner
En av dom viktigaste nyheterna är att stödja ”Java 5 alias J2SE 5.0 alias JDK 1.5 alias Tiger” (Du väljer), tack och lov för oss som konsultar i den bistra verkligheten är inte Java 5 ett krav. Det går att använda Java 1.4 om man laddar ner ett s.k. kompatibilitets paket och packar upp detta. Vad det är frågan om är att detta paket innehåller bl.a. JMX jar’ar + annat godis som Java 5 annars redan har ”under huven”. Performancemässigt är det trevligt att om man har möjlighet köra med Java 5 som JVM. Min erfarenhet av att deploya en webapplikation i Tomcat 5.5 på Java 1.4 i ena fallet och Java 5 i andra fallet är god. Jag använder dessutom i mitt fall JMX en hel del och det lirar ändå bra utan konstigheter. Använder man MX4J’s JMX implementation i JDK 1.4 bör man dock vara beredd på vissa tweaks gissar jag…

En annan trevlig detalj är att version 5.5 numera kompilerar JSP sidor mha Eclipse JDT compiler vilket gör att det numera räcker med en JRE installerad på servern som kör Tomcat, inte som tidigare att det är krav på JSDK (JDK) för att JSP sidor skulle kompileras.

Övrigt i godispåsen
Prestandaförbättringar, inte mer detaljerat än så. Dock används NIO (Nya sedan 1.4: none blocking IO) för vissa delar, framförallt lokal fil access.

Massvis med JMX instrumenteringar, dessutom en speciell webapp (manager) för att nå JMX MBeanServern via http gränssnitt förutom den vanliga möjligheten till JMX Remote, dvs JSR-160 stuff.

Möjlighet till klustring med stöd för sessions replikering som ska finnas på allas featurelista för att inte bli mobbad och Tomcat 5.5 fixar förstås detta. Bakgrundskompilering av JSP sidor, dvs den gamla sidan (Genererade servleten) står för content medans den nya kompileras och om den nya sidan kompilerar tar den den förras plats. Jasper2 (Tomcats jsp kompilator) kan ”trimma” bort onödiga mellanslag i genererat content.

Tomcat 5.5 levereras numera dessutom i ett antal olika distron för att enkelt passa allt från utvecklaren som ska lära sig Tomcat till embeded varianter som passar den som bundlar sitt egna system med Tomcat och inte vill få med sig en massa lull-lull som t.ex. dokumentation och annat.

Ful-godis (Sötlakritsarna i Gott O blandat påsen)
”Enda negativa” jag stött på hittils är att dokumentationen är lite bristfällig beträffande t.ex. Tomcats interna MBeans och annat. Men är man beredd att snegla i lite källkod och med psyket i topp ska det inte spela nån större roll.

Servlet 2.4 och JSP 2.0
Japp, själva poängen med Tomcat 5 är förstås att den i och med version 5 generationen numera implementerar Servlet specifikation 2.4 och JSP 2.0. Dessa specifikations uppdateringar ingår i J2EE 1.4 och har inte slagit igenom riktigt ännu. Mycket beroende på att de kommerciella J2EE kontainrarna från BEA och IBM inte har stöd för J2EE 1.4 dvs Servlet 2.4 / JSP 2.0. BEA’s nästkommande Weblogic 9 alias Diablo kommer att stödja dessa versioner och gissningsvis kommer användandet av Servlet 2.4 / JSP 2.0 ta fart i och med spridning av Weblogic 9 och IBM’s motsvarande hangarfartyg. Ett litet aber idag är att Java Server Faces kommer med sin egen variant av script-syntax som är i princip likvärdig med JSP 2’s EL men ändå inte riktigt. Detta aber rättar man till i samband med JSP 2.1 samt JSF 1.2 där själva huvudartisten är ett sammanslagit scriptspråk. Specarna för JSP 2.1 och JSF 1.2 är dock i tidiga faser och blir på tapeten till J2EE 1.5 som lär dröja ett tag. Jag gissar att Tomcatligan kommer starta rätt tidigt med arbetet kring implementationen av JSP 2.1 och versions beteckningen blir förstås version 6. Hängde ni med?

Hur som helst börjar det bli dax att lyfta ribban till Servlet 2.4 / JSP 2.0 och bli av med fulkoden i våra JSP sidor. Bifogar några länkar med läsning om nyheterna.

Kvällslektyr