Apache Tomcat
| Apache Tomcat | |
|---|---|
Standard-Startseite des Apache Tomcat |
|
| Basisdaten | |
| Entwickler | Apache Software Foundation |
| Aktuelle Version | 7.0.25 (21. Januar 2012) |
| 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.
Vorläufer von Apache Tomcat wurden meist als „Servlet-“ oder „JSP-Engine“ klassifiziert. Mit dem Erscheinen von Tomcat waren beide Funktionalitäten in einem Produkt vereint.
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 Anfragen 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 besteht aus dem eigentlichen Servlet-Container Catalina und dem Connector Coyote. Der Connector unterstützt mittels diverser Protocol-Handler die Abarbeitung beispielsweise 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 Lastverteilungsfunktionalität, bei entsprechendem Leistungsbedarf dem Webserver einen Cluster aus mehreren Servlet-Containern zur Seite zu stellen.
[Bearbeiten] Verzeichnisstruktur
Die Verzeichnishierarchie einer Tomcatinstallation (Version 6.0.x) umfasst:
binstartup,shutdownund andere Skripte und ausführbare Dateienlib- Allgemeine Bibliotheken, die von Catalina und anderen Webapplikationen benutzt werden können
conf- (XML-) Konfigurationsdateien
logs- Catalina- und Anwendungslogs
temp- temporäre Dateien
webapps- Verzeichnis der Webapplikationen
work- Verzeichnis zum Aufbewahren kompilierter JSP-Dateien, persistierter Sessions, etc.
[Bearbeiten] Geschichte
Als Entwickler damals bei Sun Microsystems beschäftigt, begann James Duncan Davidson, Tomcat als eine Implementierung der Servletspezifikationen zu entwickeln. Er half mit, aus Tomcat ein Open-Source-Projekt zu machen und es an die Apache Software Foundation zu übergeben.
[Bearbeiten] Wichtige Apache-Tomcat-Versionen
| Legende: | Ältere Version; nicht mehr unterstützt | Ältere Version; noch unterstützt | Aktuelle Version | Zukünftige Version |
|---|
| Version | Veröffentlichung | Servlet- Version |
JSP- Version |
minimale Java-Version |
Beschreibung / Anmerkung |
|---|---|---|---|---|---|
| 3.0.x. | 1999 | 2.2 | 1.1 | 1.1 | Initiale Version. Merger des gespendeten Sun-Java-Web-Server-Codes und ASF. Neuladen von Servlets ohne Neustart. |
| 3.3.2 | 9. März 2004 | 2.2 | 1.1 | 1.1 | Letzte 3.x-Version. |
| 4.0.0 | 18. September 2001 | 2.3 | 1.2 | 1.3 | Neuentwicklung des Servlet Containers ("Catalina"), Neuentwicklung des JSP-Compilers ("Jasper"), Einbau von JMX, JSP- und Struts-basierter Administration |
| 4.1.40 | 25. Juni 2009 | 2.3 | 1.2 | 1.3 | Letzte 4.x-Version. |
| 5.0.0 | 9. Oktober 2002 | 2.4 | 2.0 | 1.4 | bessere Integration in die Plattformen Windows und Unix |
| 5.0.30 | 24. November 2004 | 2.4 | 2.0 | 1.4 | Letzte 5.0.x-Version. |
| 5.5.0 | 14. September 2004 | 2.4 | 2.0 | 1.4 | Überarbeitung vieler Teile, Erhöhung der Performance und Stabilität, Basiert auf JSE 5.0 (mit zusätzlichen Bibliotheken auch unter JSE 1.4) |
| 5.5.33 | 10. Februar 2011 | 2.4 | 2.0 | 1.4 | Aktuelle 5.x-Version. |
| 6.0.0 | 1. Dezember 2006 | 2.5 | 2.1 | 1.5 | |
| 6.0.35 | 05. Dezember 2011 | 2.5 | 2.1 | 1.5 | Aktuelle 6.0.x-Version. |
| 7.0.0 | 2. Juli 2010 | 3.0 | 2.2 | 1.6 | Erhöhung der Performance und Stabilität, viele Änderungen im Bereich Servlet (Annotationen, asynchrone Bearbeitung von Requests, dynamische Konfiguration), basiert auf JSE 6 |
| 7.0.25 | 21. Januar 2012 | 3.0 | 2.2 | 1.6 | Aktuelle 7.0.x-Version. |