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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

könnte man sagen, dass diese erste Controller-Action bzw. der von ihr verarbeitete HTTP-<br />

Request dem zur Prozessklasse hinführenden Prozesslink entspricht.<br />

Die zweite Action, die benötigt wird, ist in der Regel wesentlich komplexer als die erste, da<br />

sie ein wesentlich höheres Maß an Kommunikation mit Modell-Klassen enthält. Sie steuert<br />

die Verarbeitung der Daten, die der Benutzer über die Prozess-UI an den Server gesendet hat.<br />

Ihr Ablauf entspricht dem Teil der <strong>UML</strong>-Workflow-Aktivität des betreffenden Prozesses, der<br />

auf die UserAction folgt und aus einer Abfolge von SystemActions besteht: Benutzerdaten<br />

werden in Modellobjekten zusammengefasst, Validierungsfunktionalität von Modellklassen<br />

wird aufgerufen, die Modell-Schicht wird beauftragt, Datenbankoperationen durchzuführen<br />

etc., um nur einige typische Bestandteile des Ablaufs einer solchen Controller-Action zu<br />

nennen.<br />

Es ist allerdings zu beachten, dass es Prozesse geben kann, für deren Realisierung mehr als<br />

zwei Controller-Actions erforderlich sind: Dies trifft auf solche Prozesse zu, in dessen<br />

Workflow es mehr als nur eine Stelle gibt, an der der Benutzer Eingaben machen muss, um<br />

den Workflow voranzutreiben - die entsprechende <strong>UML</strong>-Aktivität enthält mehr als eine<br />

UserAction. In einem solchen Fall muss die Workflow-Aktivität auf mehrere<br />

(Controller-)Actions aufgeteilt werden, da das Ende einer jeden UserAction in der Regel einen<br />

eigenen HTTP-Request nach sich zieht: Der Benutzer schickt an mehreren Stellen im Prozess-<br />

Fluss Daten zur (Weiter-)Verarbeitung auf Serverseite ab.<br />

Wie für Navigationsklassen gilt schließlich auch für Prozesse, die in die Navigationsstruktur<br />

eingebunden sind, dass eine explizite Definition von Prozesseigenschaften in der Rails-<br />

Controller-Komponente nicht vorgesehen ist. Alle Daten, die ein Benutzer z.B. in einem<br />

Formular angegeben hat, stehen der Action, die für deren Verarbeitung zuständig ist,<br />

gesammelt in dem schon oben erwähnten params-Objekt zu Verfügung. Die Daten müssen<br />

'per Hand' zunächst aus diesem Objekt ausgelesen werden, um in der Folge geeignet<br />

verarbeitet werden zu können.<br />

7.3.3 Umsetzung des Präsentationsmodells<br />

Wie schon im letzten Abschnitt vorweggenommen, wird ein <strong>UWE</strong>-Präsentationsmodell in der<br />

View-Komponente einer Rails-Anwendung realisiert. Es ist klar, dass aufgrund des<br />

Abstraktionsprozesses, der das Modellieren begleitet, der HTML- und CSS-Code echter<br />

<strong>Web</strong>seiten - und so auch der Code der <strong>Web</strong>seiten des PVS – wesentlich mehr<br />

Detailinformationen beinhaltet, als im Präsentationsmodell spezifiziert sind. Insbesondere<br />

wird bei <strong>UWE</strong> vollkommen darauf verzichtet, Layout-Informationen über das<br />

Erscheinungsbild (wie z.B. Farbe oder Schriftgröße) und die Position von UI-Elementen auf<br />

einer <strong>Web</strong>seite zu spezifizieren. Was also die konkrete Gestaltung der <strong>Web</strong>seiten angeht, so<br />

dient das <strong>UWE</strong>-Präsentationsmodell in erster Linie als Skizze, welche die wesentlichen<br />

Aspekte der <strong>Web</strong>oberfläche festlegt.<br />

Die Umsetzung der Modellierung der PVS-Präsentationsschicht orientierte sich im<br />

Wesentlichen an drei Richtlinien: Erstens wurden Präsentationsgruppen, die mehr oder<br />

weniger eigenständige UI-Einheiten verkörpern und für die Darstellung eines Knotens aus<br />

dem Navigationsmodell zuständig sind, als (ERb)-Templates umgesetzt. Zweitens wurden UI-<br />

Eigenschaften wie z.B. «anchor»-, «textInput»-, «selection»- oder «text»-<br />

Elemente, die als Parts von Präsentationsgruppen Interaktionsmöglichkeiten für den Benutzer<br />

repräsentieren oder für die Präsentation konkreter Inhalte zuständig sind, innerhalb des<br />

jeweiligen Templates mit Hilfe geeigneter HTML-Elemente realisiert. Diese wurden entweder<br />

85

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!