Apache Tomcat
aus Wikipedia, der freien Enzyklopädie
| Apache Tomcat | |
|---|---|
Standard-Startseite des Apache Tomcat |
|
| Basisdaten | |
| Entwickler: | Apache Software Foundation |
| Aktuelle Version: | 6.0.20 (08. August 2008) |
| Betriebssystem: | Windows, Linux, Unix, Mac OS X etc. |
| Programmiersprache: | Java |
| Kategorie: | Web Server, Java |
| Lizenz: | Apache-Lizenz |
| Deutschsprachig: | n/a |
| tomcat.apache.org | |
Apache Tomcat stellt eine Umgebung zur Ausführung von Java-Code auf Webservern bereit. Es handelt sich um einen in Java geschriebenen Servlet-Container, der mithilfe des JSP-Compilers Jasper auch JavaServer Pages in Servlets übersetzen und ausführen kann. Dazu kommt ein kompletter HTTP-Server.
Die Bezeichnung „Servlet-Container“ entspricht der von den Tomcat-Entwicklern gewählten Terminologie (sie leitet sich wohl aus der in Tomcat bevorzugten Konfiguration über XML-Dateien ab, die aus streng hierarchisch geschachtelten Strukturen bestehen). Vorläufer von Apache Tomcat wurden meist als „Servlet-“ und/oder „JSP-Engine“ klassifiziert. Mit dem Erscheinen von Tomcat waren komfortablerweise beide Funktionalitäten in einem Produkt vereinigt.
Der HTTP-Server des Tomcat wird vor allem zur Entwicklung eingesetzt, während in Produktion zumeist ein Apache Web-Server vor den Tomcat geschaltet wird. Dazu wird in den Webserver ein Connector-Plugin (mod_jk) eingebunden, das Requests für dynamische Inhalte an Tomcat weiterleitet. Das Plugin implementiert hierzu das Apache JServ Protocol (AJP). Es existieren auch Connector-Plugins für Microsoft- (IIS) und Netscape-Webserver.
Inhaltsverzeichnis |
[Bearbeiten] Entwicklungsstand
Vor Gründung des Tomcat-Projekts unterhielt die Apache Software Foundation bereits einen Servlet-Container namens JServ. JServ unterstützte in seiner letzten Version die Servlet-Spezifikation 2.0. 1999 kündigte Sun Microsystems auf der Entwicklerkonferenz JavaOne an, die damalige Referenz-Implementierung der Servlet-Spezifikation 2.1 der Apache Software Foundation zur Verfügung zu stellen. Aus der Zusammenführung der existierenden JServ-Codebasis und SUNs Referenz-Implementierung entstand 1999 das Tomcat-Projekt.
Vor diesem Hintergrund erklärt sich, dass die erste Tomcat-Version direkt die Versionsnummer 3.0 erhielt. Tomcat 6.0.20 ist die aktuelle stabile Version. Sie implementiert die Spezifikationen Servlet 2.5 und JSP 2.1.
Tomcat besteht aus dem eigentlichen Servlet-Container Catalina und dem Connector Coyote. Der Connector unterstützt mittels diverser Protocol-Handler die Abarbeitung bspw. von HTTP-Anfragen oder die Verbindung zwischen Tomcat und Webserver mittels des Apache-JServ-Protokolls. Mit der gegenwärtig existierenden AJP-Implementation (Version 1.3) ist es möglich, den Servlet-Container auf einem gesonderten Host-Rechner zu betreiben, um den Webserver zu entlasten; insbesondere erlaubt es die Loadbalancer-Funktionalität, bei entsprechendem Leistungsbedarf dem Webserver einen Cluster aus mehreren Servlet-Containern zur Seite zu stellen.
[Bearbeiten] Verzeichnisstruktur
Die Verzeichnishierarchie einer Tomcatinstallation umfasst:
- bin – startup, shutdown und andere Skripte und ausführbare Dateien
- common – Allgemeine Klassen, die von Catalina und anderen Webapplikationen benutzt werden können
- conf – XML-Dateien und dazu gehörige DTDs der Tomcat-Konfiguration
- logs – Catalina- und Anwendungslogs
- server – Klassen, die nur von Catalina verwendet werden
- shared – Klassen, die von allen Webapplikationen verwendet werden
- webapps – Verzeichnis der Webapplikationen
- work – temporäre Aufbewahrung von Dateien und Verzeichnissen
[Bearbeiten] Produkteigenschaften
[Bearbeiten] Tomcat 3.x
- folgt den Spezifikationen Servlet 2.2 und der JSP 1.1
- Neuladen von Servlets ohne Neustart
[Bearbeiten] Tomcat 4.x
- folgt den Spezifikationen Servlet 2.3 und der JSP 1.2
- der Servlet Container wurde neu entwickelt und nennt sich jetzt Catalina
- der JSP-Compiler wurde neu entwickelt und nennt sich jetzt Jasper
- JMX- (Java Management Extensions), JSP- und Struts-basierte Administration
[Bearbeiten] Tomcat 5.0.x
- folgt den Spezifikationen Servlet 2.4 und der JSP 2.0
- bessere Integration in die Plattformen Windows und Unix
[Bearbeiten] Tomcat 5.5.x
- folgt den Spezifikationen Servlet 2.4 und der JSP 2.0
- benötigt normalerweise J2SE 5.0, kann aber mit zusätzlichen Bibliotheken auch unter J2SE 1.4 laufen
- höhere Performance und Stabilität
- viele Teile wurden überarbeitet
[Bearbeiten] Tomcat 6.0.x
- folgt den Spezifikationen Servlet 2.5 und der JSP 2.1
[Bearbeiten] Geschichte
James Duncan Davidson, damals bei Sun Microsystems als Entwickler beschäftigt, begann, Tomcat als eine Implementierung der Servletspezifikationen zu entwickeln. Er half dabei, aus Tomcat ein Open-Source-Projekt zu machen und es an die Apache Software Foundation zu übergeben.

