Tomcat 5.0 Released
aquarium writes "The Apache Jakarta Project announces the release of the first stable version of Tomcat 5.0. Improvements include performance optimizations, scalability and reliability enhancements, and improved Taglibs handling."
The idea of using a language like Java to build webpages seems interesting, at least because Java is designed to scale well on big programs. Perl at least scales just fine; I don't know about PHP though.
It's interesting to note that Linux (probably with Apache's Tomcat) is a very popular system for JavaServer Pages (where one would have expected Sun's own Solaris platform to be popular). There is an article at Netcraft (from July) that summarizes the situation:
JSP continues to enjoy fast growth with a 94% increase in ip addresses running JSP based sites to over 44,000 ip addresses running some 105,000 active sites.
More surprising is the composition of these sites choice of operating systems. One might expect that by far the most common operating system amongst JSP based sites would be Solaris, (...). However, Solaris is only placed 3rd with 17% behind Linux with 40% and Windows with 26%.
Tomcat now accounts for a large percentage of the downloads on Apache. In fact, earlier this year the traffic for jakarta related projects was so high, Apache decided all distributions had to be mirrored. Many hours of blood and sweat has gone into tomcat 5. The new features of JSP2.0 like file tags and clarifications on request filters is a good step forward. There have also been a lot of improvements in tomcat. GZip compression is now standard and tomcat 5 includes a plugin feature for Jasper which allows developers to write modules to translate tags to pure java. The new features are worth while.
One of the biggest changes seems to be support for the JSP 2.0 specification, which incorporates JSTL (Java Standard Template Library) version 1.1. For more info on what this means, read this article at OnJava.com. The Expression Language (EL in the article) adds a lot of nice features to help keep your JSPs clean without having to use struts.
I downloaded Tomcat 5 from an apache mirror, and I am impressed. It was a drop-in replacement for the Tomcat 4 that was included with OSX Panther 10.3.x.
- Vincit qui patitur.
I was wondering if anyone knows what's the amount of memory required to run Tomcat (under Linux), when using a simple JSP-base site and when using larger-scale EJB projects?
- Tal Cohen
And I finally got Apache/Tomcat4.127/Axis working double-plus-good++ :p
Sehr geehrter Toilettenbenutzer!
Though the author of the post also defines scaling differently, I believe anyone talking Java scaling versus PHP, etc, should read this /. post in the context of this chapter of Designing Enterprise Applications with the J2EE(tm) Platform, Second Edition that deals with "Web-Tier Application Framework Design", particularly Model-View-Controller ("MVC") style frameworks.
...
.NET). You can quickly and easily usher these items around in a mature, object-oriented environment. Define an interface and a generic controller and you'll be able to swap around [in theory] fully-QA'd data delivery mechanisms in a modular fashion.
/. post I linked to above.
;^)
In that paper "Model 1" and "Model 2" set-ups are described in some detail. In short, Model 1 is what most of us web hackers have probably done for years --
1.) A [php/jsp/asp] page for user data entry (data entry GUI) which forwards you to...
2.) Another [php/jsp/asp] for business logic that inserts the jive into an RDBMS, which then forwards you to...
3.) Another page where you might review your data, with links to (1.) or
4.) Another page to edit info which links to...
5.) Another page that edits/updates/deletes existing entries and sends you back to 3.)
You get the point. You've got php script or vbscript or Java slapped in between tags that dynamically create pages. That's Model 1.
Model 1 doesn't scale well. It is, however, a great way to get up quickly, and perfect for smaller sites. That's where PHP and dime store hackers find a home, and that ability comprises the "revolution" asp brought to the web.
Model 2 has a controller which tries to abstract as much as possible out of process described above. Check out this image from the Sun chapter mentioned above. See all the steps that go on from each POST from the client interface.
The point of it is that Java/JSP/J2EE allows -- and has the infrastructure as a langauge to support -- this sort of Model 2, MVC interface (As an aside, this is also one of the big advantages of
In PHP -- and even asp 3.0 -- this is a more difficult thing to pull off, as mentioned in the
And this is where Tomcat shines -- as a key part of the infrastructure that allows more complex, scalable, generic objects and architectures. Most importantly, since J2EE is a language specification, saying Java scales well is accurate. It provides a true OO platform allowing you to implement Model 2's without jumping through hoops. PHP simply (in my experience) doesn't lend itself to this nearly so straighforwardly.
Now what Tomcat 5 does for me that 4 didn't to achieve this scalability (which many posts have well-documented) is what's most interesting about this story, to which I'll now return.
It's all 0s and 1s. Or it's not.
I have a few. One of the bigger design flaws PHP has is the lack of a compiled-archive format.
We have long known scripting languages do not scale well partially because they have to be evaluated entirely at runtime.
PHP's method of archives, ie. include some_library.inc.php is not as rigorous/reliable as import com.example.some_library as the application increases in size in my experience.
I don't know why but, having hundreds of *.inc.php files makes things very difficult to debug. Compared to a large number of packages to import.
PHP should introduce a binary opcode storage format. A standard format that would allow the use of binary archives/modules and runtime opcode caching. Maybe those files would be called .phpc for php compiled or something. These phpc files can seen as the php runtime as compiled independent modules ala .so and Java packages.
Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
Haven't seen a review of Tomcat 5. Come on, don't make me read that terse changelog that comes with Tomcat. Oh well...
"I think this line is mostly filler"
I don't use it, just administrate the servers - but at least now there are some cpu cycles left over...
Q.
Insert Signature Here
Why is an unrelated slashback entry in the Apache section, yet this didn't make it? Editors, anyone?
For those people looking for the full J2EE stack, the latest JBoss 3.2.3 release also comes bundled with this latest Tomcat 5.0.16 release (The JBoss distro comes bundled with both Tomcat 5.0.16 and Tomcat 4.1.29 service archives). It's a pretty nice combo of two solid servers.
it's :)
<html:text property="firstName"/>
Should have previewed my post. Sorry
This is good news. Tomcat is the reference Servlet implementation. So if it works on Tomcat it _should_ work on other servlet engines. So people that may have held off deploying or even developing Servlet 2.4/JSP 2.0 application may now start down that trail.
Also, let's not forget there are a couple of other great choices out there: Resin with Servlet 2.4 and JSP 2.0 and the alpha Jetty 5.0 the Servlet 2.4.
Linux VPS Based Java Hosting - Now with Tomcat 5 if you want it
Another good news is JMX (Java Management eXtension) support. Untill now, only Bea WebLogic and JBoos (??) have JMX support (not WebSphere) ... Over JMX HP biult a monitoring framework such as OpenView untill now running typically on Bea ...
Eclipse is a huge app, so we can tell little from you setup. Tomcat mem usage totally depends on your webapp's mem usage. I think tomcat starts in at around 20MB and moves on up from there.