Download MDA: Effektives Software-Engineering mit UML2 und Eclipse

Transcript
„
Die Ausgangsseite (from-view-id)
„
Eine oder mehrere Navigationsfälle (navigation-case)
Ein Navigationsfall wird durch eine Aktion (from-action), deren
Ausgang (from-outcome) und die anzuzeigende Folgeseite (toview-id) beschrieben.
Dies soll uns zunächst zur skizzenhaften Beschreibung der JSFTechnologie genügen. In den folgenden Kapiteln werden noch
weitere Code-Snippets auftauchen, die die Arbeit mit JSF zeigen.
Für eine ausführliche Einführung in die Materie verweisen wir auf
[Ber03] und [HM04].
8.2.6 Apache Beehive
Wie wir im vorangegangen Abschnitt gesehen haben, besitzt JSF
zwar die deklarativen Mittel Seitenfolgen einer Webanwendung zu
spezifizieren, der Schwerpunkt des Standards wurde aber eindeutig
auf das visuelle Komponentenmodell gelegt, wodurch die Möglichkeiten zur Modellierung von Interaktionsflüssen leider deutlich
gelitten haben. Um in der Terminologie des MVC-Patterns (vgl.
voriger Absatz) zu bleiben ist JSF also stark auf die Rolle des View
fokussiert und – zumindest im Vergleich zu vielen anderen Webframeworks – weniger auf die des Controllers. Diese Schieflage ist
wohl auch für einige der „Kinderkrankheiten“ verantwortlich die
man zuweilen JSF zuschreibt (vgl. [Ber03] und [GHH04]).
JSF: Zu sehr
seitenorientiert
So wird beispielsweise immer wieder der Punkt kritisiert, dass JSF
zu sehr seiten- und zu wenig dialogorientiert sei. Unter einem Dialog
ist in diesem Zusammenhang eine zusammengehörige Abfolge von
Ansichten/Masken, Systemaktionen und Subdialogen zu verstehen
(z. B. „Partnersuche), die eine modulare Einheit bilden, und so als
„Komponente“ in verschiedenen Kontexten wiederverwendbar
wären. JSF-Navigationsregeln erlauben zwar die Spezifizierung des
Zusammenhangs zweier aufeinander folgender Seiten, ein Dialog
mit breiterem Kontext lässt sich jedoch nicht explizieren.
Wollen wir nun selbst tätig werden und über JSF einen Dialog
nachbilden, wartet viel Arbeit auf uns, da beispielsweise JSF nur
Seiten-, Anfrage- und Sitzungs-Scope aber keinen Dialog-Scope
kennt, und wir uns deshalb explizit um das Handling des Dialogzustands kümmern müssten. Darüber hinaus fehlt etwa die Möglichkeit
zwischen erstmaligem bzw. wiederholtem Aufruf einer Ansicht zu
304
„
„
„
8 Projektplanung