08.12.2012 Aufrufe

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!