Freie App-Server im Vergleich

Tomcat vs. Geronimo vs. JBoss vs. GlassFish

10.09.2008
Von Markus Franz

Sun mit GlassFish und Java System

Das Web-Interface von GlasFish bietet eine übersichtliche Aufgabenansicht.
Das Web-Interface von GlasFish bietet eine übersichtliche Aufgabenansicht.

Der schärfste Konkurrent von JBoss ist GlassFish beziehungsweise der Sun Java System Application Server. Immer noch ist Sun mit diesem Produkt der klare Markführer, nirgendwo sind die Standards so exakt und effizient implementiert. GlassFish zählt neben NetBeans und OpenJDK zu den Open-Source-Produkten, die Sun vormals als proprietäre Lösungen angeboten hatte. Hinzu gesellt sich seit einiger Zeit mit MySQL noch ein Datenbank-Server, sodass ein kompletter Application-Stack entsteht. GlassFish nutzt eine überarbeitete Fassung von Tomcat als Web-Container, die konsequent auf Geschwindigkeit optimiert wurde. GlassFish v2 UR2 gibt es daher in separaten Paketen für Solaris (Sparc und x86), Linux, Windows, MacOS und AIX - für jedes Betriebssystem steht ein eigener Installer bereit, der auf ein korrekt installiertes JDK prüft und alles für GlassFish einrichtet.

Mit knapp 50 MB ist die Linux-Ausgabe der schlankste vollwertige Application-Server mit komplettem Support für Java EE 5. Das Web-Interface ist sehr gut und reagiert am schnellsten - wenn es auch manchmal einen unnötigen Neustart des Application-Server durch hängende Prozesse im Web-Interface verursacht. Ähnlich Geronimo integriert der Application-Server selbst eine Datenbank-Lösung, die JavaDB. Diese ist aber kein komplett eigenständiges Produkt, sondern nur ein Derivat von Apache Derby. Interessant ist an GlassFish beziehungsweise dem Sun-Pendant auch das TopLink-Framework, mit dem die Persistenz von Objekten auf Datenbanken und in (XML-)Dateien erreicht wird. Es wurde von Oracle zum Projekt beigesteuert und wird aktiv weiterentwickelt.

Seitenblick auf LAMP und Zope

Die Geschäftswelt liebt Java, aber in bestimmten Arbeitsbereichen erfreuen sich auch Skriptsprachen wie PHP, Python, Ruby oder Grails großer Beliebtheit. Mit dem LAMP-Stack gibt es seit Jahren eine professionelle Umgebung, die meist aus Linux, dem Apache Web-Server (nicht zu verwechseln mit Apache Tomcat), der Datenbank MySQL und Zend PHP als Programmiersprache ausgestattet ist. Attraktiv ist diese Plattform für Einsteiger oder Anwender, die lediglich eine Website anbieten wollen und dabei auf Clustering, Datenbank-Mapping und Transaktionen verzichten können. Ebenso fehlt dieser Umgebung ein einheitliches Interface zur Web-gestützten Wartung. Deployment direkt aus der Entwicklungsumgebung heraus und Web-Services sind nur mit großem Aufwand möglich. Verbreitung hat der LAMP-Stack aber dennoch auch bei großen Unternehmen und Shopping-Portalen gefunden.

Die wachsende Verbreitung der objektorientierten Programmiersprache Python hat den Zope Application Server hervorgebracht. Zope besteht im Gegensatz zu LAMP nicht aus mehreren, komplett getrennten Applikationen, sondern aus einer einzigen Anwendung. An diese docken Komponenten und Plug-ins für den jeweiligen Bedarf an. Beliebt ist Zope vor allem für Web-Anwendungen, da es von Grund auf mit dem Ziel guter Skalierbarkeit aufgebaut wurde - der gesamte Application-Server verarbeitet problemlos Threads auch in seinen Erweiterungen. Reizvoll ist aber besonders das Schmuckstück von Zope: Eine integrierte Objektdatenbank, die ZODB. Wer sich hier einmal eingearbeitet hat, verzichtet gerne auf eine relationale Datenbank.