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.

Ausblick<br />

RIAs zeichnen sich unter anderem dadurch aus, dass sie durch asynchrone Kommunikation<br />

Ladezeiten verkürzen und dem Benutzer das Gefühl vermitteln, er arbeite mit einer Desktop-<br />

Anwendung. Auf den letzten Seiten wurde eine allgemeine Möglichkeit zur Modellierung<br />

asynchroner Requests vorgestellt. Damit ist ein Ausgangspunkt für weitere Überlegungen in<br />

diese Richtung gegeben – Überlegungen, die u.a. die Präzisierung und Ausweitung der<br />

vorgestellten Idee betreffen. Eine detaillierte Ausarbeitung kann im Rahmen dieser Arbeit<br />

nicht erfolgen, deshalb sollen sie an dieser Stelle nur anskizziert werden.<br />

• In einigen Fällen kann sich die Auszeichnung eines Prozesslinks als asynchronous<br />

als zu grobkörnig erweisen. Prozessklassen dienen im Navigationsmodell als<br />

Einstiegspunkte in einen Geschäftsprozess, der eine beliebig komplexe Struktur<br />

aufweisen und unter Umständen eine oder mehrere UserActions enthalten kann, d.h.<br />

Stellen, an denen der Kontrollfluss des Prozesses zum Benutzer zurückkehrt. Die<br />

Realisierung solcher Geschäftsprozesse wird dann notwendigerweise mehrere Requests<br />

an den Server beinhalten – das Ende jeder UserAction impliziert je einen Request. In<br />

einer solchen Situation wird mit der hier vorgeschlagenen Modellierung nicht eindeutig<br />

festgelegt, welche dieser Anfragen asynchron durchgeführt werden sollen. Auch der<br />

gerade diskutierte Anwendungsfall ist in dieser Hinsicht nicht ganz eindeutig. Soll das<br />

Präsentationselement, welches mit der Login-User Action verknüpft ist (also das Login-<br />

Formular), asynchron geladen werden, oder die Verarbeitung der Formulardaten<br />

asynchron erfolgen? In diesem konkreten Fall ergibt sich aus dem Kontext eindeutig,<br />

dass letzteres gemeint sein muss, denn das Login-Formular gehört zum Seitenlayout des<br />

PVS, ist also für nicht-angemeldete Benutzer stets verfügbar. Eine Anweisung, zu Beginn<br />

des Login-Prozesses das Formular dynamisch in die Seite zu laden, würde somit keinen<br />

Sinn ergeben.<br />

In anderen Fällen wird sich diese Unbestimmtheit allerdings nicht über den Kontext<br />

klären lassen. Deshalb ist zu überlegen, ob eine Spezifikation des Request-Typs nicht<br />

(auch) auf feingranularer Ebene in der Aktivität erfolgen muss, die den Workflow des<br />

Prozesses beschreibt – z.B. durch eine geeignete Auszeichnung von Kontrollflusskanten<br />

oder «SystemAction»-Aktionen.<br />

• Übergänge im Navigationsmodell implizieren nicht nur dann Server-Requests, wenn<br />

Prozessklassen im Spiel sind – auch ein Übergang zischen zwei Navigationseinheiten,<br />

die im Modell als gewöhnliche Navigationsklassen repräsentiert sind, bedarf in der Regel<br />

einer Anfrage an den Server. Damit stellt sich auch bei solchen Transitionen die Frage, ob<br />

asynchron oder synchron mit dem Server kommuniziert werden soll. Aus diesem Grund<br />

ist zu überlegen, ob das asynchronous-Metaattribut im Profil nicht direkt an das<br />

Modellelement «link» (der Oberklasse von «navigationLink» und<br />

«processLink») vergeben werden sollte.<br />

• Aktionen, die in einer Prozessaktivität die Aktualisierung der <strong>Web</strong>-UI beschreiben,<br />

interagieren natürlicherweise mit der Präsentationsschicht. Es ist allerdings nicht klar, ob<br />

eine solche Abhängigkeit eines Prozesses von der Präsentationsschicht in der <strong>UWE</strong>-<br />

Architektur erwünscht ist. Immerhin ist auf Metaebene das <strong>UWE</strong>-Prozesspaket nicht vom<br />

Präsentationspaket abhängig. Möglicherweise muss deshalb ein geeigneterer Platz für die<br />

Modellierung der Oberflächenaktualisierung gefunden werden, die am Ende der<br />

Bearbeitung eines asynchronen Requests durchzuführen ist.<br />

73

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!