© Excellent backgrounds/Shutterstock.com
Kolumne: EnterpriseTales

JSF - Einer für alle, alle für einen? Wie praxistauglich ist das Webframework?


In dem immer wieder empfehlenswerten Technology Radar der Firma ThoughtWorks [1], der verschiedenste Technologien ähnlich wie Aktien bewertet, konnte man vor Kurzem lesen, dass das Java EE Web Framework JSF 2.0 von den Autoren auf „hold“ gesetzt wurde. Einhergehend mit dieser Bewertung erfolgte die Empfehlung, JSF 2.0 für Webanwendungen zu vermeiden. Ist die Lage für JSF wirklich so kritisch oder fehlt der Betrachtung evtl. nur eine gewisse Differenzierung?

Um es gleich vorweg zu nehmen: Ja, wir – die beiden Autoren – sind bei einem Beratungs- und Entwicklungsunternehmen mit dem Schwerpunkt Java EE beschäftigt. Und ja, wir sind sicherlich nicht immer zu 100 Prozent objektiv, wenn es um den Java-Enterprise-Standard geht. Trotzdem oder gerade deshalb geht es uns in diesem Artikel nicht darum, JSF gegen die Aussagen des Technology Radars zu verteidigen. Ganz im Gegenteil: Auch wir sehen immer wieder Probleme bei unseren Kunden, wenn es um die Einführung von JSF geht. Wir sehen allerdings auch viele erfolgreiche JSF-/Java-EE-Projekte, die wir in den vergangenen Jahren gemeinsam mit bzw. für unsere Kunden umgesetzt haben. Wir stellen uns daher die Frage, ob es sinnvoll ist, die „Webanwendung“ zu verallgemeinern oder ob evtl. die Tauglichkeit von JSF etwas differenzierter betrachtet werden muss.

Was bisher geschah

ThoughtWorks führt in seiner Betrachtung von JSF einige Punkte auf, die in Summe zu der Empfehlung führen, JSF nicht in neuen Webprojekten zu verwenden. Nahezu alle genannten Punkte sind auch aus unserer Sicht valide und können somit eins zu eins unterschrieben werden. Hier noch einmal eine kurze Zusammenfassung: Häufig wird JSF in Projekten verwendet, ohne es wirklich zu hinterfragen – schließlich handelt es sich ja um den Standard und der Standard ist immer gut. Der Kontext der Anwendung und die damit verbundenen Anforderungen an Business und Technologie werden dabei leider häufig außer Acht gelassen.

JSF (2.0) abstrahiert von HTTP, HTML und CSS und macht damit genau das Gegenteil von dem, was von einem modernen Webframework erwartet wird. JSON wird gar nicht und Ajax nur rudimentär unterstützt. Stattdessen bietet das Framework ein eher aus der Desktopwelt bekanntes Programmiermodell an, bei dem eine Anwendung aus Komponenten besteht (Buttons, Listen, Tabellen, Tabs ...), die Events auslösen können, auf die wiederum durch (Business-)Logik und Manipulation des Domänenmodells reagiert werden kann.

Anwendungen, die auf JSF basieren, arbeiten mit ein...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang