Apachesourcers claw out major Tomcat revision
Need for speed felt
One of the Apache Software Foundation's earliest projects has seen its first major update in four years, with the twin goals of easing development and boosting performance.
Tomcat 7.0 has been updated to fully implement Java Servlet 3.0, JavaServer Pages (JSP) 2.2, and Expression Language (EL) 2.2 to improve support for frameworks such as Struts and Spring.
The update means developers can simply drop their application's bundled Jar files into the ASF's Java container for the application to work, minimizing the amount of configuration needed for the application.
Also added is the ability for systems administrators to turn off features in the Jar file, to maintain security of systems running Tomcat.
Mark Thomas, Tomcat committer and member of the Tomcat project management committee, told The Reg the move is designed to let developers focus on the business logic that adds value to an application, without having to focus on plumbing-level APIs.
"It was a recognition from the expert group there was something they could do to make the process a little simpler — it's like greasing the wheels," Thomas said.
Other changes boost Tomcat performance.
Support for Servelet 3.0 means Tomcat now provides asynchronous request processing to make better use of the server's resources. Previously, a request to an external service would wait for a response until it received that response - no matter how long that took. Tomcat 7.0 will now park a request and come back to it later, freeing up the server to process requests or procedures.
Another big change is in memory-leak prevention and detection. Memory leaks are a long-running grouse for Java applications running on Tomcat,
Thompson said this was down to the fact that most Java Virtual Machines and Java libraries were not written to what he called "a standard server container friendly way."
Tomcat 7.0 has been updated to work with libraries, a process that also identified bugs in LogforJ and Spring Batch that have been fixed. Also, Tomcat's error logging has been updated to make it clearer that a problem is either an application error or a side effect of using a particular library. The idea is to make it easier to track down and identify memory leaks.
The changes have also been back-ported to Tomcat 6.0.
"Additional logging in Tomcat makes it easier for users to find out what is going on," Thomas said.
Tomcat was donated to ASF in 1999 and code was released in 2000. Its last major update was in 2006.
Microsoft, meanwhile, is preparing its latest update to its .NET web server, Internet Information Services (IIS). IIS Express is due soon as a beta, corporate vice president for the .Net developer platform Scott Guthrie blogged here on the day ASF released Tomcat 7.0.
Features for the forthcoming product will include a lightweight 10MB download, a "full web-server feature set" that includes SSL and URL Rewrite, and will work with Visual Studio 2010 and 2008. IIS Express will run on Windows XP and versions of Windows since then.
Tomcat works with IIS and ASF's rival HTTP Server, with the option to use either as a Tomcat load-balancer. ®