Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Freeware: Is it really worth it?

The hidden cost of freeware often lies in the setup frustrations

  • Print
  • Feedback
Thanks to the World Wide Web, freely available products range from the Mosaic and Netscape Web browsers and Apache Web server to the mySQL database and Linux operating system. As the popularity and number of free products continues to grow, it is no surprise that many recent freeware products are purely Java based or have Java-based APIs as part of their packages.

Over the years, I have worked with many such products. The one thing most of these free products have in common is that they are all painful to set up. This is usually due to poor documentation and install scripts. In this column, I have picked one such product to gripe about: Tomcat v3.1, the official JSP/servlets reference implementation being developed by the Apache Software Foundation.

Before I continue, however, I do want to emphasize that most of these products, including Tomcat, are extremely robust and flexible. The issue is really the enormous amount of time that is required to understand and configure them.

Tomcat, Jakarta, Java-Apache, and Apache JServ: How are they related?

In recent months, whenever I have visited Java.sun.com's Java servlet and JSP Webpages, I noticed the Jakarta and Tomcat logo and references to this project/product. The first question that crossed my mind was, "What is the difference between Jakarta and Tomcat?" So I decided to take the next step and clicked on the Tomcat link to the Apache site. Once I got there, things became even more confusing when I noticed the use of terms Jakarta, Tomcat, and Apache JServ, along with mentions of various other subprojects, such as Slide and Struts. I had to drill down into the documentation before I realized that Jakarta is the name of the project and Tomcat is the actual product.

I've had some experience with the Apache Web server and know that it uses a pluggable module architecture, with modules such as mod_cgi, mod_jserv (for Java servlets), and so on. Therefore, my initial thought was that Tomcat was a module that plugged into the Apache Web server. But after downloading and installing Apache and doing some in-depth reading, I realized that Tomcat is a pure Java-based product that can operate standing alone. (Now it all makes sense!) As nice as the Apache Web server is, I decided to uninstall it, mainly because I didn't need it. Of course, clearer instructions or distinction between the various Java-related products on Apache's Website would have prevented this waste of time.

Anyway, I continued to set up Tomcat.

Making progress

Getting the server up and running was fairly easy because Tomcat is a pure Java product, and the .bat files in the typical bin/ directory are well written. The tough part was configuring the server using the XML- and Java Properties-based configuration files. (Yes, Tomcat uses both types.) Again, the documentation didn't help much, because what was available was also quite scattered -- the documentation runs from Webpages and CVS repository links on Apache's Website to subtopics at jGuru.com and the bare-bones guidelines provided with the product. However, after a few hours of struggling with Tomcat and configurating its files, I managed to get it running like a charm.

  • Print
  • Feedback

Resources