Einführung
Die Enterprise Edition der Java Platform (kurz Java EE) ist eine Spezifikation bzw. ein Teil der Java-Plattform. Der größte Konkurrent der Java-EE-Spezifikation ist dabei Microsofts .NET-Plattform. Ein wichtiger Bestandteil von Java EE sind unter anderem die Webanwendungen, mit welchen wir uns in diesem Thema beschäftigen möchten.
Die Java EE Platform umfasst in Bezug auf Webanwendungen einige Technologien, welche innerhalb dieses Themas noch genauer erläutert werden. Zur Ausführung solcher Anwendungen ist ein Applikationsserver notwendig. Ein Applikationsserver unterteilt sich in mehrere Systeme, welche Container genannt werden. Für Webanwendungen reicht auch ein Web-Container aus. Mehr dazu später.
Java EE wird auf einem relativ geringen Anteil (ca. 3%) an Webseiten für die serverseitige Programmierung eingesetzt. Dabei wird Java EE hauptsächlich auf „großen“ bzw. „komplexen“ Websites verwendet. Private Websites mit Java EE sind kaum zu finden.
Wer bereits in Java programmiert hat, der hat mit Java-Webanwendungen den Vorteil, dass keine neue Sprache erlernt werden muss und die ganzen Klassen der Java Platform eingesetzt werden können. Auf Grund der geringen Nachfrage gibt es jedoch nur sehr wenig Anbieter für Java-Hosting.
Bitte beachten Sie, dass für dieses Kapitel Kenntnisse in der Programmiersprache Java erforderlich sind. Bei Bedarf können Sie sich auch unseren Crashkurs anschauen.
Geschichte
Die erste Version von Java EE (damals noch als Java 2 Platform Enterprise Edition bzw. kurz Java2EE bezeichnet) erschien Ende des Jahres 1999. Bis zum Jahre 2003 folgten weitere Versionen bis zur Version 1.4.
Anschließend wurde der Name der Plattform in die heute bekannte Bezeichnung Java Platform Enterprise Edition (kurz Java EE) geändert. Die „erste“ Version von Java EE erschien im Mai 2006 und trug die Versionsnummer 5. 2009 folgte dann bereits die Version 6. Im Jahr 2013 ist die Version 7 veröffentlicht worden.
Entwicklung und Webserver
Zur Entwicklung von Java EE bzw. Java-Webanwendungen werden in der Regel Entwicklungsumgebungen (kurz IDE für Integrated Development Environment) verwendet, welche einen Quellcode-Editor, eine Schnittstelle für einen Compiler und einen Debugger enthält. Ein solche IDE ist z. B. NetBeans oder Eclipse. Wir haben für die Erstellung der in diesem Thema enthaltenen Projekte NetBenas verwendet.
Wie bereits oben erwähnt, ist für die Ausführung von Java-EE-Anwendungen ein sogenannter Applikationsserver notwendig. Hier sind z. B. die Open-Source-Server Apache Geronimo und GlassFish sowie die kommerziellen Server Oracle Application Server und IBM WebSphere Application Server zu nennen. Natürlich gibt es noch einige weitere.
Als Alternative zu einem „vollständigen“ Applikationsserver können auch Programme verwendet werden, welche lediglich einen Web-Container (oft auch als Servlet- oder JSP-Container bezeichnet) implementieren. Ein solcher Web-Container ist für die Ausführung von Servlets und JavaServer Pages ausreichend. Der bekannteste Web-Container ist Apache Tomcat, welcher unter anderem im Software-Paket XAMPP enthalten ist.
Wichtig: Bei der Verwendung von JSP ist ein JDK (Java Development Kit) auf dem Webserver notwendig.
Funktionsweise und Technologien
Der Java-Anwendungsserver stellt die Laufzeitumgebung für die (Web-)Anwendungen dar, wobei der Server zudem diverse Funktionen wie z. B. Sicherheit und Installations-Hilfen (Deployment) enthält. Die Ausführung Ihrer Anwendung erfolgt dabei durch den Anwendungsserver oder Container, wovon die Zugriffe vom Server gekapselt und auch gesteuert werden können.
Java EE enthält diverse Technologien, welche auch als APIs bezeichnet werden. Für Webanwendungen sind dabei hauptsächlich die Technologien Servlets und JavaServer Pages (JSP) interessant, welche wir in den Unterkapiteln dieses Kapitels auch noch genauer erläutern werden. Weitere APIs sind z. B. Enterprise JavaBeans (EJB), JavaMail und JavaServer Faces (JSF).
Wenn Sie noch keine Erfahrungen mit Java Webanwendungen haben, empfehlen wir Ihnen dringend zu allererst das Kapitel Servlet zu bearbeiten, bevor Sie sich bei Interesse noch mit JSP beschäftigen.