Tag error: <txp:tru_tags_if_has_tags> ->  Textpattern Warning: tag does not exist while_parsing_page_form: archive, default
/commentable: Apache vs. Tomcat & Servlets & HTTPd
Dinarius = digital interest
7 April 2008

Apache vs. Tomcat & Servlets & HTTPd

07APR08 – I’ve recently found myself comparing open source products intended to apply solutions to large-scale community websites and several other terms have come up that I haven’t found in one location and would have liked to. The task before me is bigger than gigantic – building a social networking website with several subscription tiers and multiple permission levels. It pretty much blows my head off just thinking about it.

OpenEdit CMS and WebGUI have caught my attention strongly though niether explicitly provide samples of their ability to produce a “one-stop” solution to my client’s problem. In an odd twist, OpenEdit CMS runs on a Tomcat server while WebGUI would be happier on a server running some version of Apache. You’ll find no information here about versions of either.

Apache vs. Tomcat reveals that both have strengths. Constant searching reveals (via really galactically smart geeks not credited here) that Apache servers deliver static content faster than Tomcat servers and allow webmasters to configure Load Balancing. Tomcat servers, however, can server Java Servlets and Java Server Pages, which provide tons of functionality to the web surfing World at large.

In searching Apache vs. Tomcat, we learn that a request can enter an Apache server through 80 and pass a servlet request on to a joined Tomcat server through port 8007 (AJP) and the end result is that the web surfer got whatever it was that they were looking for. Forwarding these requests can be called an, “out-of-process servlet container.”

To connect or join a Tomcat server behind an Apache server, there are two possible mod plugins, or adapters, if you will, that the Apache must be programmed with. They are to be housed in the /usr/local/apache/libexec directory. Two Tomcat to Apache adapters you will find in common use are mod_jserv and mod_jk

mod_jk is the newer and replaces the mod_jserv adapter. If you want more than that, do a search on the terms I’m teaching you.

In normal terms, Servlets would be exemplified by Guest Books, URL redirects at the server level, Counters, Data information and various other little interactions that we take for granted on the Internet. Towson’s Site has many Servlet examples that don’t seem to work. One of the few Servlet sites while researching that didn’t return 404 errors was RoseIndia.net.

Apache HTTPd.conf files contains instructions to the Apache server that allows webmasters to configure various settings. The Tomcat does not have this; control of its settings is broken apart and located in different regions of the system. Horribly. Take for example:

- $CATALINA_HOME/conf which contains all server level information – $app_base/web-inf/web.xml which contains all application specific information

And the twist to all this Apache vs. Tomcat researching comes from O’Reilly media where Tomcat, The Definitive Guide (Second Edition) perhaps not so definite shows that when Tomcat (pitted against Apache and others) is tweaked and measured and tweaked and measured, it can beat Apache under heavy loads even at delivering static content which all other sources say is unlikely or impossible. The excerpt that involves said benchmarking Tomcat.

Finally, it’s just a guess, but I suspect that OpenEdit CMS is full of naturally occuring Servlets that allow webmasters to control and configure their pages. To command that a CMS be installed on Tomcat is rare. OpenEdit CMS gets many top reviews as I’ve seen, but examples of its full potential to meet my client’s demands don’t exist.

Favorite's the ARTICLE, not the SITE.