dc.description.abstract
Die Anforderungen an Webanwendungen sind in den letzten Jahren stark gestiegen. Heute erwartet man von einer Webanwendung nicht nur Cross-Browser-Kompatibilität und Performance, sondern oft auch ein flüssiges (Desktop-ähnliches) Verhalten und ein ansprechendes Design.<br />Frameworks, die mit diesen steigenden Anforderungen Schritt halten wollen, müssen laufend weiterentwickelt und verbessert werden.<br />In Java gibt es dutzende Webframeworks. Diese große Vielfalt an einsetzbaren Technologien ist gleichzeitig Stärke und Schwäche von Java.<br />Einerseits gibt es zwar für die meisten Anforderungen bereits ein passendes Framework, andererseits wird es immer schwerer, im Framework-Dschungel, die richtige Technologie auszuwählen.<br />Diese Arbeit vergleicht die drei Webframeworks Wicket [1], Tapestry [2] und die JSF2 Referenzimplementierung Majorra (2.0) [3], wobei, neben nicht-technischen Faktoren wie Dokumentation, unter anderem die folgenden Bereiche verglichen werden: Grundkonfiguration, Seitenaufbau, Validierung, Request-Verarbeitung, Navigation, Komponenten, Events, AJAX, Vorlagen, Dependency-Injection und Scopes. Dabei wird, wo sinnvoll, auf praktische Beispiele zurückgegriffen und deren unterschiedliche Umsetzung mit den einzelnen Frameworks untersucht.<br />Weiters werden die Frameworks auf ein einheitliches Grundgerüst gestellt, das aus Spring-IoC und Spring-Security besteht. In diesem Zug wird auch gezeigt, wie die Mängel, die Spring im Bereich der Scopes hat, behoben werden können. Zur Bewertung der einzelnen Punkte des Vergleiches wird ein Punktesystem eingeführt, wobei die Gewichtung der einzelnen Kategorien variabel ist, und an die jeweiligen konkreten Anforderungen angepasst werden.<br />Ziel dieser Diplomarbeit ist es Stärken und Schwächen der Frameworks aufzudecken und festzustellen, wie gut diese mit den rapide wachsenden Anforderungen, die heute an Webanwendungen gestellt werden, mithalten können. Die größten Erwartungen lasteten dabei unweigerlich auf JSF2, da es das jüngste der drei Frameworks ist, sehr stark von Tapestry inspiriert wurde und viel Zeit hatte, um aus den Fehlern der anderen beiden zu lernen. Eine Integrationsmöglichkeit für Spring-IoC konnte, aufgrund dessen großer Beliebtheit, ebenfalls erwartet werden, die Integration von Spring-Security allerdings nur unter Einschränkungen.<br />Wie diese Arbeit zeigt, sind sich die Frameworks in einigen Punkten sehr ähnlich, in anderen wiederum verfolgen sie sehr unterschiedliche Ansätze. Jedes Framework hat seine Vor- und Nachteile, insgesamt sind aber alle drei sehr ausgereift und stabil. Besonders JSF2, in Kombination mit einem Komponentenframework, kann überzeugen und wird den hohen Erwartungen durchaus gerecht. Welches Framework sich letztendlich durchsetzt, hängt aber von der Gewichtung der einzelnen Kriterien ab.<br />
de