Inhaltsverzeichnis:
Einleitung 5
1 Die Architektur des Java Servlet und JSP Containers 5
1.1 Definition eines Webcontainers und dessen Bedeutung im J2EE
Framework 5
1.2 Definition und Funktionsweise von Java Servlets 7
1.3 Definition und Funktionsweise von JavaServer Pages 8
1.4 Der Apache Webserver 9
1.5 Der Catalina Servlet Container 10
1.5.1 Konfiguration des Servers 12
1.5.2 Bearbeitung einer Anfrage 12
1.5.3 Container Komponenten 14
1.5.3.1 Default Context 14
1.5.3.2 Class Loader 14
1.5.3.3 Logger 16
1.5.3.4 Session Manager 16
1.5.3.5 Realm 17
1.5.3.6 Valve Architektur 17
1.6 Jasper JSP Engine 19
1.7 Administrationstools 19
2 Vor- und Nachteile für die Realisierung von eCommerce-Anwendungen 20
2.1 Definition von eCommerce und Anforderungen an Webanwendungen 21
2.2 Komponenten-basierte Entwicklung mit Tomcat 22
2.3 Hochverfügbarkeit und Load-Balancing mit Tomcat und Apache 23
2.3.1 Load-Balancing mit Apache Webserver und Tomcat 24
2.3.2 Cluster Lösung mit Apache Webserver und Tomcat 25
2.3.3 Fazit 26
2.4 Tomcat als Teilprojekt der Apache org 26
2.5 Administrierbarkeit und Wartbarkeit von Tomcat 27
2.6 Sicherheit realisieren mit dem Tomcat Container 28
2.7 Performance des Tomcat Containers 29
2.8 Kostengünstigkeit für Webanwendungen 30
Zusammenfassende Bewertung 31
2
Abkürzungsverzeichnis:
AJP Apache Jserv Protocol
API Application Programming Interface
ASF Apache Software Foundation
B2B business to business
B2C business to consumer
CGI Common Gateway Interface
COM Common (Component) Object Model
CORBA Common Object Request Broker Architecture
DCOM Distributed Component Object Model
DNS Domain Name System
eBusiness electronic Business
eCommerce electronic Commerce
EIS Enterprise Information Systems
EJB Enterprise Java Bean
ERP Enterprise Ressource Planning
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
HTTPS HyperText Transfer Protocol mittels SSL
IO Input/Output
IP Internet Protocol
J2EE Java 2 Enterprise Edition
JDBC Java DataBase Connectivity
JDK Java Development Kit
JMS Java Message Service
JMX Java Management eXtension
JNDI Java Naming and Directory Interface
JSP JavaServer Pages
LDAP Lightweight Directory Access Protocol
MVC Model-View Controller
PDA Personal Digital Assistant
PHP Personal Home Page construction kit
3
RDBMS Relational DataBase Management System
SNMP Simple Network Management Protocol
SSI Server-Side Include
SSL Secure Socket Layer
Tcl Tool Command Language
URL Uniform Ressource Locator
WebDAV Web-based Distributed Authoring and Versioning
XML eXtensible Markup Language
4
Einleitung Die Seminararbeit behandelt den Apache Tomcat, einem Servlet Container der neuesten Generation, der 100% in Java programmiert ist. Er verwirklicht die offizielle Referenzimplementierung von den Java Servlets und JavaServer Pages APIs, welche von Sun Microsystems in den aktuellen Versionen Java Servlet 2.3 und JavaServer Pages 1.2 gefordert wird 1 . Das Tomcat Projekt ist Teil eines Großprojekts
der Apache.org mit dem Codenamen Jakarta. Ziel von Jakarta ist, serverseitige, kostenlose und hochqualitative Lösungen für Java Plattformen zu erstellen und zu warten, die von der ASF, der Apache Software Foundation, lizenziert sind und für die Öffentlichkeit kostenlos zugänglich sein sollen. 2
Die Seminararbeit setzt ihren Schwerpunkt auf die Architektur und die Funktionsweise des Servlet Containers, nachdem die Begriffe Apache Webserver, Webcontainer, Java Servlet und JSP erläutert und in Zusammenhang gebracht wurden. Der zweite Abschnitt beschreibt die Ansprüche, die Anwendungen im eCommerce an den Apache Tomcat stellen, und prüft, in wieweit diesen auch gerecht werden kann.
1 Die Architektur des Java Servlet und JSP Containers Zu Beginn des Kapitels werden die grundlegenden Eigenschaften und Aufgaben von Webcontainern im J2EE Framework vorgestellt. Zudem sollen kurz die Themen Java Servlets, JavaServer Pages im Allgemeinen beleuchtet werden, für deren Einsatz der Tomcat Webcontainer entwickelt wurde. Anschließend wird die Architektur von Apache Tomcat in der Version 4, des sogenannten Catalina Containers, vorgestellt.
1.1 Definition eines Webcontainers und dessen Bedeutung im J2EE Framework Die Java 2 Enterprise Edition "definiert einen Standard zur Implementation, Konfiguration, Verteilung und zum Einsatz von unternehmensweiten Anwendungen (Enterprise applications)." 3
Der Zweck des J2EE Framework ist, unabhängig von verschiedenen Diensten oder den verwendeten Plattformen wie z.B. Microsofts Windows oder Suns Solaris, Anwendungen zu entwickeln, die in kleine, einfache, anpassbare und leicht zu
1 Vgl. o.V., "The Jakarta Site – Apache Tomcat", Stand: 09.10.2002
2 Vgl. o.V., "The Jakarta Site – Mission", Stand: 09.10.2002
3 Turau, V., Saleck K., Schmidt, M., "Java Server Pages und J2EE", Heidelberg 2001, S.1
5
administrierende Komponenten aufgeteilt sind. Hierzu wird die Anwendung in drei grobe Schichten eingeteilt: dem Client Tier, den Middle Tier und den EIS Tier (siehe Abbildung 1)
Client Tier Middle Tier
Abbildung 1: René Valdéz Voges, "Apache Tomcat", München 2002 nach Turau,V. u.a. "Java Server Pages und J2EE" Heidelberg 2001
Hier wird nur auf den Client Tier und Middle Tier eingegangen. Die Clients der Anwendung befinden sich entweder im eigenen Netz, oder über eine Firewall verbunden im Internet. Sofern keine eigenen Anwendungen auf den Clients installiert werden müssen, sollen sie über die gebräuchlichen Webdienste an den Middle Tier angebunden werden, also im Allgemeinen über das Protokoll HTTP bzw. HTTPS und die Beschreibungssprachen HTML bzw. XML. 4 Im Middle Tier wird die
Laufzeitumgebung für die J2EE Anwendungen über sogenannte Container realisiert. Diese Container stellen eine gebündelte Sicht auf die darunter liegenden APIs des J2EE für die Anwendungskomponenten zur Verfügung. So dürfen verschiedene Komponenten einer Anwendung niemals direkt miteinander kommunizieren, sondern nur über die Protokolle und Schnittstellen, die der Container für die Kommunikation zwischen den Komponenten untereinander oder mit Diensten der jeweiligen Plattform anbietet. Dadurch, dass man Container zwischen den Diensten der J2EE und den Anwendungskomponenten stellt, kann der Container je nach Konfiguration
4 Vgl. Kapitel 1 Turau, V., Saleck K., Schmidt, M., "Java Server Pages und J2EE", Heidelberg 2001
6
für die einzelne Komponente Transaktionen durchführen, auf Sicherheit achten, Ressourcen einteilen und die Zustände der sich im Container befindlichen Anwendungen prüfen. Es gibt folgende Typen von Containern: application client container, applet container, web component container und enterprise bean container. 5 Die Anforderungen an einen Container sind in der Spezifikation von
J2EE klar definiert, und es würde den Rahmen dieser Arbeit sprengen, näher darauf einzugehen. Tatsache ist allerdings, dass das J2EE Modell Web-basiert ist 6 , und
damit spielt der web component container eine tragende Rolle bei der Kommunikation zwischen den Clients und der eigentlichen Anwendung. Diese Container, auch Servlet Container genannt, sind Erweiterungen für Webserver. 7 Der
Webcontainer nimmt Anfragen aus dem Intra- oder Internet über HTTP entgegen. Java Servlets, bzw. JavaServer Pages, die im Container ausgeführt werden, verarbeiten die Anfrage und schicken eine Antwort zurück. Über den Webcontainer kann auch auf andere Komponenten oder auf Ressourcen im J2EE zugegriffen werden. Natürlich ist der Einsatz eines Webcontainers nicht auf das Internet beschränkt, so dass auch Verarbeitungsschritte zwischen Servlets, ohne die übliche Client-Anbindung mittels Browser, über den Webcontainer denkbar sind. Apache Tomcat, von Sun Microsystems mit auf den Weg gebracht und unterstützt 8 , ist
hierbei ein wichtiger Vertreter.
1.2 Definition und Funktionsweise von Java Servlets Ein Servlet wird folgendermaßen in der aktuellen Spezifikation von Sun Microsystems definiert: "A servlet is a Java technology based web component, managed by a container, that generates dynamic content." 9 Der im vorherigen
Kapitel definierte Webcontainer sorgt für die Kommunikation, die nach dem request/response Paradigma funktioniert. Ein Servlet ist eine Java Klasse, die das Interface Servlet implementieren muss, oder sich von einer Klasse ableitet, die dieses Interface implementiert hat, um mit dem Webcontainer über diese API kommunizieren zu können. Das Interface Servlet enthält drei Methoden: eine init(),
5 Vgl. Kapitel 2.3 o.N. "Java 2 Platform, Enterprise Edition (J2EE) Specification Version 1.4", Santa Clara, California, USA
6 Vgl. Kapitel 1 Turau, V., Saleck K., Schmidt, M., "Java Server Pages und J2EE", Heidelberg 2001
7 Vgl. Kapitel 1.1 Coward, Danny, "Java Servlet Specification Version 2.3", Palo Alto, California, USA
8 Vgl. o.V. "JavaServer Pages™ - Tomcat @ Jakarta", Stand: 09.10.2002
9 Coward, Danny, "Java Servlet Specification Version 2.3", Palo Alto, California, USA, S. 17
7
Arbeit zitieren:
Rene Valdez Voges, 2002, Apache Tomcat, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Vergleich von MS Access und MySQL als Datenbanksystem innerhalb einer ...
Informatik - Internet, neue Technologien
Studienarbeit, 38 Seiten
Web Engineering für asynchrone Anwendungen
Informatik - Internet, neue Technologien
Diplomarbeit, 98 Seiten
Betriebssysteme und Programmierung von mobilen Endgeräten
Informatik - Internet, neue Technologien
Bachelorarbeit, 89 Seiten
Drahtlose Internetzugänge im Überblick
Informatik - Internet, neue Technologien
Seminararbeit, 36 Seiten
Barrierefreies Webdesign - Anforderungen an das Webdesign durch die Ve...
Informatik - Internet, neue Technologien
Hausarbeit, 40 Seiten
Transport institutions and politics in the UK and Germany: Who matters...
Hausarbeit, 14 Seiten
Rene Valdez Voges hat den Text Apache Tomcat veröffentlicht
Rene Valdez Voges hat einen neuen Text hochgeladen
0 Kommentare