2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
HTTP-Request an den Client gesendet werden.<br />
Bei diesem Vorgehen, das Navigationsmodell als Modellgrundlage für die Implementierung<br />
der Rails-Controller-Komponente zu interpretieren, ist allerdings Vorsicht geboten: Die<br />
Navigationsstruktur, die im Navigationsmodell von <strong>UWE</strong> festgelegt wird, ist abstrakterer<br />
Natur als die Request-Response-Struktur einer <strong>Web</strong>anwendung. Insbesondere gibt es keine<br />
1:1-Abbildung von Navigationsknoten auf <strong>Web</strong>seiten, und nicht für jeden Link zwischen zwei<br />
Knoten gilt, dass für sein Durchlaufen eine Server-Tätigkeit benötigt wird. Folgende<br />
Einschränkungen sind zu beachten:<br />
1) «menu»-Knoten im <strong>UWE</strong>-Navigationsmodell sind optionale Konstrukte, die dann<br />
eingesetzt werden können, wenn von einem Knoten mehrere Links wegführen. In einem<br />
solchen Fall werden sie zwischen den Quell- und die Zielknoten eingeschoben, wodurch<br />
explizit zum Ausdruck gebracht wird, dass der Ursprungsknoten 'Menü'-Charakter hat, da<br />
an ihm mehrere Navigationsmöglichkeiten zur Auswahl stehen. Normalerweise ist ein<br />
«menu»-Knoten also nicht mit einer 'eigenen' Präsentationsgruppe assoziiert, und<br />
demzufolge ist kein HTTP-Request zu lancieren, um eine neue <strong>Web</strong>seite zu laden.<br />
Navigationslinks, die als Ziel ein «menu» haben, dürfen demnach für die<br />
Implementierung des Rails-Controllers nicht in eine Action zur Verarbeitung einer<br />
HTTP-Anfrage umgesetzt werden.<br />
2) Links, die mit dem Tagged Value isAutomatic versehen sind, werden automatisch,<br />
d.h. ohne Zutun des Benutzers durchlaufen. Eine solche Situation tritt auf, wenn die<br />
Präsentationsgruppen, die mit Ursprungs- und Zielknoten eines Links verknüpft sind, in<br />
demselben UI-Container enthalten sind, d.h. stets zusammen angezeigt werden. Auch<br />
solche Links sind in der Rails-Steuerungsschicht zu ignorieren.<br />
3) «externalNode»-Klassen im Navigationsmodell repräsentieren externe <strong>Web</strong>-Seiten,<br />
die aus dem modellierten <strong>Web</strong>system heraus aufgerufen werden können. Solche<br />
Navigationsmöglichkeiten werden normalerweise über geeignete Hyperlinks auf der<br />
<strong>Web</strong>oberfläche realisiert. Zur Umsetzung von Navigationslinks, die zu solchen Knoten<br />
führen, werden daher keine eigenen Actions benötigt.<br />
Die Umsetzung eines Navigationslinks in eine Controller-Action soll an einem einfachen<br />
Beispiel, nämlich für den Übergang vom Index-Knoten PublicationList (an dem das<br />
Ergebnis eines Publikationsrecherche abgerufen werden kann) zur Detailansicht einer<br />
einzelnen Publikation illustriert werden, welche durch die Navigationsklasse Publication<br />
repräsentiert wird 70 .<br />
Abbildung 50: Navigationstransition zwischen PublicationList<br />
und Publication<br />
70 Wie aus Abbildung 10 (Kapitel 4.2) ersichtlich, befindet sich zwischen den beiden Klassen, die in Abbildung<br />
50 gezeigt werden, eigentlich noch ein «menu»-Knoten. Da dieser aber entsprechend der obigen Erläuterung<br />
bei der Umsetzung ignoriert werden kann, wurde er hier weggelassen.<br />
83