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.

Für die Durchführung einer der beiden Prozesse muss – ganz analog zur Situation im<br />

Navigationsmodell – festgelegt sein, welche Subklasse von<br />

process::PublicationDataInput zu verwenden ist. Hierzu bietet es sich an, die<br />

Semantik für Vererbungshierarchien im Prozesstruktur-Modell analog zum<br />

Navigationsmodell-Pendant zu definieren, d.h. wieder mit Hilfe einer Inhaltsklassen-Instanz,<br />

deren Typ die Auswahl der Subklasse im Prozessmodell festlegt. Allerdings müssen hier zwei<br />

Dinge beachtet werden:<br />

1. Wenn die Auswahl der richtigen Subklasse wieder über eine Instanz einer Inhaltsklasse<br />

erfolgen soll, so müssen die Prozessklassen der Vererbungshierarchie in irgendeiner<br />

Weise mit einem Pendant aus der Vererbungshierarchie des Inhaltsmodells verknüpft<br />

werden. Im aktuellen <strong>UWE</strong>-Profil verfügt der Stereotyp «processClass» im<br />

Gegensatz zur «navigationClass» allerdings nicht über den Tagged Value<br />

contentClass. Um einen für Navigations- und Prozessklassen einheitlichen<br />

Auswahlmechanismus zu gewährleisten, wird deshalb empfohlen, das Profil<br />

dahingehend zu erweitern. Es sei bemerkt, dass dies keine reine 'ad hoc'-Lösung ist, die<br />

allein dem Ziel dient, die Vererbungssemantik für Prozess- und Navigationsklassen<br />

anzugleichen. Viele Prozesse, die der Anwender in <strong>Web</strong>anwendungen initiieren kann,<br />

beziehen sich auf einen bestimmten Typ von Geschäftsobjekt (wie z.B. die Edition oder<br />

Erzeugung von Publikationen sich (u.a.) stets auf Objekte der Publication-<br />

Inhaltsklasse bezieht). Deshalb ist es auch unabhängig von dem gerade vorgestellten<br />

'Vererbungs'-Motiv sinnvoll, eine Verknüpfung einer Inhaltsklasse mit einer<br />

Prozessklasse zu etablieren, welche die mit dem Benutzer auszutauschenden Daten<br />

definiert.<br />

2. Viele Prozesse, z.B. solche zur Editierung eines Domain-Objekts, erhalten 'ihre' Instanz<br />

einer Inhaltsklasse natürlicherweise über einen eingehenden Prozesslink. Allerdings<br />

werden nicht alle Prozesse auf diese Weise mit Eingangsdaten versorgt. Ein<br />

Geschäftsprozess, der z.B. zur Erzeugung eines neuen Domain-Objekts ausgeführt wird,<br />

wird in der Regel nicht vom Vorgänger-Knoten im Navigationsmodell über einen<br />

Prozesslink mit einer Inhaltsklassen-Instanz bedient. Wenn im Rahmen solcher Prozesse<br />

eine Spezialisierung auf eine Klasse einer Vererbungshierarchie vorgenommen werden<br />

soll, so ist es für die Auswahl der richtigen Subklasse trotzdem unbedingt erforderlich,<br />

eine entsprechende Instanz zu spezifizieren. Dies kann z.B. dadurch geschehen, dass an<br />

einer geeigneten Stelle im Workflow des Prozesses ein leeres Geschäftsobjekt vom<br />

gewünschten Typ erzeugt wird und dieses dann über einen Objektfluss an die UserAction<br />

wiedergegeben wird, welche mit der Superklasse der Prozessklassen-Hierarchie<br />

verknüpft ist:<br />

Abbildung 14: Anlegen einer leeren Publikation im CreatePublication-Workflow<br />

Zur Aufnahme einer neuen Publikation wählt der Benutzer zunächst einen Publikationstyp<br />

aus. Entsprechend seiner Wahl wird ein leeres Publikationsobjekt vom gewünschten Typ<br />

erzeugt und an die UserAction DataInput weitergereicht, welche auf Workflow-Ebene das<br />

<strong>Web</strong>formular zur Eingabe einer neuen Publikation repräsentiert und über den Tagged Value<br />

processClass mit PublicationDataInput verknüpft ist. Über den Typ der Eingabe-<br />

Publikation wird schließlich die geeignete Subklasse von PublicationDataInput<br />

35

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!