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.
Beschreibung von RIA-Features eingesetzt werden zu können.<br />
• Da RIA-Features stets mit der Präsentationsschicht eines <strong>Web</strong>-Systems verknüpft sind,<br />
muss ein sprachlicher Bezug auf Elemente des Präsenationsmodells ermöglicht werden.<br />
Dazu dient der Ausdruck this, welcher einen Kontext für das RIA-Feature festlegt und<br />
sich auf das Element des Präsentationsmodells bezieht, das mit dem RIA-Feature über<br />
den Tagged Value riaFeature verknüpft ist. Dient dieses Element als Container für<br />
andere Präsentationselemente, so kann auf diese über den Punktoperator zugegriffen<br />
werden ( this.containedElement ). Zur Bezugnahme auf ein enthaltenes Element<br />
dient dessen Eigenschafts- bzw. Partname innerhalb des umgebenden UI-Containers.<br />
Allerdings ist es in <strong>UWE</strong>-Präsentationsmodellen üblich, bei Kompositionsstrukturen nur<br />
den Namen des Typs des enthaltenen Elements anzugeben, nicht aber seinen Namen als<br />
Part des Containers 47 . Aus diesem Grund wird folgende Konvention festgelegt: Soll mit<br />
der gerade beschriebenen Schreibweise die Bezugnahme auf eine namenlose UI-<br />
Element-Eigenschaft erfolgen, so wird implizit der Name ihres Typs, allerdings mit<br />
kleinem Anfangsbuchstaben, verwendet. Enthält also z.B. eine Präsentationsgruppe, die<br />
den Kontext des RIA-Features darstellt, ein «textInput»-Element vom Typ Year<br />
ohne Eigenschaftsnamen, so wird dieses Element mit this.year referenziert.<br />
• Wenn möglich, wird der Bezug auf Präsentationselemente über den Kontext des RIA-<br />
Features hergestellt. Allerdings ist davon auszugehen, dass dies nicht immer möglich ist.<br />
Man denke z.B. an eine <strong>Web</strong>anwendung, zu dessen Seitenlayout ein Message Board<br />
gehört, das im Rahmen verschiedenster Funktionalitäten als Anzeigetafel verwendet<br />
wird. Dies bedeutet, dass das Board Bestandteil jeder Seite der Anwendung ist. Unter<br />
anderem soll die <strong>Web</strong>anwendung nun ein Formular mit Live-Validierung anbieten;<br />
Fehlermeldungen sollen in eben dieser Nachrichtentafel angezeigt werden. Ohne das<br />
Präsentationsmodell einer solchen Anwendung skizzieren zu wollen, ist klar, dass sich<br />
das Präsentationselement, welches das MessageBoard repräsentiert, nicht in dem<br />
Container befindet, welcher mit dem LiveValidation-RIA-Feature versehen wird und<br />
damit den Kontext des Features stellt (Dafür befindet sich das Message Board<br />
schlichtweg zu weit oben in der Kompositionshierarchie der UI).<br />
In solchen Fällen muss der Bezug auf das Präsentationselement auf andere Weise<br />
erfolgen. Man könnte z.B. die Bezugnahme auf das Wurzelelement der<br />
Präsentationshierarchie über dessen Namen in RIA-Features generell erlauben. Ist im<br />
gerade geschilderten Fall die Nachrichtentafel (als Eigenschaft vom Typ<br />
MessageBoard) direkt im obersten Element (MainPage) des Präsentationsmodells<br />
enthalten, so könnte man die Anzeigetafel wieder mit Hilfe des Punkt-Operators<br />
referenzieren: MainPage.messageBoard. Dies bedeutet allerdings, dass man in<br />
einem RIA-Feature über das Wurzelelement auf alle Präsentationselemente zugreifen<br />
kann.<br />
• Benutzer-Interaktionen, welche Systemoperationen triggern, werden durch Angabe des<br />
UI-Ereignisses beschrieben, das durch die Interaktion ausgelöst wird. Typische<br />
Ereignisse sind z.B. blur (Aufgabe des Fokus eines UI-Elements) oder click (einfacher<br />
Mausklick auf ein UI-Element). Ein Bezug auf dasjenige UI-Element, das als Empfänger<br />
des Ereignisses festgelegt werden soll, wird in Klammern hinzugefügt:<br />
blur(inputField); siehe [24] für eine detaillierte Auflistung solcher Ereignisse.<br />
47 Siehe z.B. [23],S.33f<br />
60