J2EE Anwendungen und Architekturen

J2EE Begriff

Die Begriffe J2EE, Webanwendung und Internet bzw. Web sind in aller Munde. Dies ist nicht weiter verwunderlich, wenn man die Umsatzzahlen von Firmen wie Google (mit einem Unternehmenswert größer als die Summe der Deutschen Bank und DaimlerChrysler), Ebay, Amazon oder Myspace betrachtet. Nach eher ruhigen vier Jahren erlebt das Internet aktuell eine Erneuerung unter der Bezeichnung "Web 2.0".

Social-Platformen

Investoren erkennen zunehmend das Potenzial sogenannter "Social-Platforms"1 und erhoffen sich durch die Bindung einer möglichst breiten Benutzergruppe in Zukunft eine gefestigte Position im globalen Markt. Insofern ist es nicht erstaunlich, dass für Plattformen dieser Art derzeit Beträge in mehrstelliger Millionenhöhe gezahlt werden. Der zu diesem Zeitpunkt (Stand: Oktober 2007) größte Verkauf in Deutschland mit 85 Millionen Euro gelang drei Entwicklern der Plattform studiVZ2.

Anforderungen an Webanwendungen

Aufgrund der täglich wachsenden Benutzerzahlen solcher Plattformen steigen auch die Anforderungen an die den Webanwendungen zugrunde liegenden Softwaremodule. Es reicht heutzutage nicht mehr aus, eine Webanwendung für 100 oder 1.000 Benutzer abrufbar zu gestalten. Vielmehr müssen die Softwaresysteme die Anforderungen vieler tausend Benutzer gleichzeitig verarbeiten können.

J2EE-Standard von sun

Diese Arbeit behandelt Webanwendungen, die dem J2EE-Standard der Firma Sun entsprechen. Dieser Standard wurde erstmals 1997 veröffentlicht und befindet sich aktuell in der Version 5. Der von Sun entwickelte Standard schafft einen Rahmen für Webanwendungen, der es Entwicklern ermöglicht, entsprechende Softwaremodule für bestehende Systeme zu entwickeln, alte auszutauschen oder in neuem Code zu nutzen.

Java-Frameworks

Trotz des von Sun entwickelten Standards für Webanwendungen zeigt sich in der Praxis eine heterogene Vielfalt von angewandten Variationen für die Umsetzung einer J2EE-Anwendung in Java. Dabei kommen unterschiedliche Frameworks und Programmierparadigmen zum Einsatz, welche sowohl kommerzieller Natur, als auch per Open-Source verfügbar sind. Die Anzahl der Entwicklungsumgebungen und Applikations-Server ist kaum überschaubar, so dass ein projektübergreifender Standard für J2EE-Anwendungen nicht zu definieren ist. Die in dieser Arbeit eingesetzten Frameworks werden daher in den folgenden Kapiteln vorgestellt und beschrieben. Unabhängig von den eingesetzten Frameworks und Programmierparadigmen lässt sich jede J2EE-Anwendung in eine sogenannte Tier-Architektur (ein Schichtenmodell) einteilen. Im Folgenden werden daher die existierenden Tiers (Schichten) erläutert.