Freie App-Server im Vergleich

Tomcat vs. Geronimo vs. JBoss vs. GlassFish

10.09.2008
Von Markus Franz

Die Mutter aller Container: Apache Tomcat

Die Apache Software Foundation arbeitet seit vielen Jahren intensiv im Java-Umfeld mit. Noch bevor Java als Open Source freigegeben war, hatte Sun mit einer Referenzimplementierung für Java-Servlet und Java-JSP begonnen. Das Projekt wurde dann ab Version 3 komplett von der Apache Foundation übernommen und wird heute von vielen Mitgliedern aktiv weiterentwickelt. Tomcat ist heute der beliebteste Servlet-Container und wird von vielen anderen Application-Servern ebenfalls als Ausgangsbasis genutzt.

Derzeit gibt es Apache Tomcat in Version 6.0. Sie arbeitet mit den aktuellen Standards JSP 2.1 sowie Servlet 2.5 und wird für produktive Umgebungen empfohlen. Der Download des Tomcat-Containers ist mit 6,3 MB angenehm klein, knapp 1 MB kommt für den Tomcat-Deployer hinzu. Tomcat wird einfach in einem beliebigen Verzeichnis entpackt und benötigt nur ein Java Development Kit (JDK) gemäß Java SE 5 oder höher. Unter Unix/Linux muss unbedingt die Umgebungsvariable JAVA_HOME auf das JDK gesetzt werden, damit Tomcat die Java-Installation auch findet. Die Variable CATALINA_HOME muss auf das Verzeichnis, in dem Tomcat entpackt wurde, zeigen. Wer nicht Unix-Derivate, sonder lieber Windows (Server) einsetzt, erhält einen komfortablen Installer: Dieser nimmt alle notwendigen Änderungen am System vor und kann Apache Tomcat auch als Dienst in Windows einbinden.

Um eine Web-Anwendung im Container auszuführen, legt man einfach den WAR-File in das Verzeichnis "webapps" - Tomcat erkennt selbstständig eine neue oder überarbeitete Anwendung und spielt diese in den Container. Alternativ bieten der Tomcat-Deployer beziehungsweise das Web-Interface eine komfortable Möglichkeit, eine WAR-Applikation einfach hochzuladen. Alle anderen administrativen Aufgaben erledigt man in den XML-Konfigurationsdateien, mit denen Tomcat arbeitet. Damit ist Tomcat einerseits genial einfach, wenn man lediglich reine Servlets oder JSPs veröffentlichen möchte, andererseits bietet es auch nur diese Features und nichts weiter.

Das Deployment direkt aus der Entwicklungsumgebung ist kompliziert und nur mit Plug-ins lösbar, die vor allem in NetBeans gut funktionieren. Die Integration in Eclipse ist noch verbesserungsbedürftig. Da die IDE-Plug-ins nicht direkt von der Apache Foundation entwickelt werden, hinken sie bei der Unterstützung aktueller Tomcat-Versionen immer etwas hinterher. Tomcat kann durch zusätzliche Bibliotheken so erweitert werden, dass Java Server Faces möglich sind. Klarer Sieger ist Tomcat als Web-Container bei der Performance - auch wenn man auf richtiges Java EE verzichten muss.