Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been tasked with adding several features to an existing site. I've taken a look at the current configuration: Tomcat 5.0 standalone with JDK 1.4, and a DB server on the same machine.

Should I, during the course of adding features and setting up a separate server for the DB (part of the client's request), upgrade the JDK and Tomcat versions? I think it would be easier to find the relevant libraries that I need for my development. Is it worth it? What should I consider?

I would set up a second instance of Tomcat, running on top of Apache (this is faster, right?) using a different port until I'm sure it's stable before I turn off the current service. Am I correct in assuming this in no way could possibly affect the current site until I replace it?

Further information: it's a Windows 2003 server box. I believe the current DBMS is MSSQL 2005, but I'm not sure if that's relevant.

(I'm aware this isn't exactly a sysadmin question, but I have a feeling this question wouldn't fare very well on SO.)

share|improve this question
up vote 1 down vote accepted

Upgrading the jdk can be dangerous on a windows box because the installer often modifies the registry to the newer jvm as the default jvm. This should not have any impact on the currently running tomcat instance unless/until that tomcat instance is restarted. You are going to want to make sure that your tomcat 5.0 instance is explicitly calling the 1.4 jvm (just to be safe) but you're probably going to want to do this regardless, especially if you are not the primary administrator of this server.

From a development perspective, I think it's going to be much safer for you to have a local implementation on your own development machine to play with. I don't think anyone on serverfault would comfortably endorse developing on your live, production server, especially since it is so easy to get a bundled tomcat with eclipse or netbeans up and running.

With the newer tomcat versions, apache isn't really needed any longer for straight http performance reasons because the http connectors in newer tomcats are quite good. Many web applications developed today seem to bundle everything, including images, scripts, and styles, within some war file that tomcat ends up serving. If you have no plans to have Apache serve up your static content files directly (or for any of the other reasons listed below), then adding apache may end up slowing things down by a few milliseconds.

You may still end up deploying apache into your stack for other reasons outside of http connection performance. Nothing really beats mod_rewrite's versatility. If you are looking to introduce caching onto the web site, apache's good for that, too. Some security folks still continue to view tomcat as an app server, not a web server, and having an Internet facing app server making direct database calls to a sql server makes some security folks nervous. There are lots of other reasons, too, but this answer may be getting too long... :) I hope this helps!

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.