00196455-02_IM_EDM_1.7SP1_de.pdf - 第49页
Installationsanleitung SIPLACE EDM 1.7 Service Pack 1SP 1 Ausgabe 10/2009 </ transition > Abbildung 13 Beispiel ei ner bedingten Transition Diese Transition führt den Zustandsübergang unter Berücksichtigung eines C…
Installationsanleitung SIPLACE EDM 1.7 Service Pack 1 SP 1 Ausgabe 10/2009
Sie bestimmen die Reaktion auf eingehende Ereignisse. Jede Transition kann dabei durch ihre
Auslösung eine beliebige Anzahl so genannter Actions ausführen. Um ein gewisses Maß an
Kontrollfluss zu ermöglichen kann eine Transition mit einer speziellen Action versehen werden, die
einen Rückgabewert besitzt. Solche Actions heißen Controller. Dann wird aus Ausgangszustand,
Ereignis und Ergebnis der Action der Folgezustand ermittelt. Am Beispiel sieht das so aus:
<transition name="getTemplateList" currentState="clientIdle" event="pullData">
<newState name="waitTemplateList">
<action
class="Siemens.SiplacePro.EDM.DataExchange.Actions.AcquireT
emplateListAction,DataExchange
" />
<action
class="Siemens.SiplacePro.EDM.DataExchange.Actions.SendReq
uestAction,DataExchange
" />
</newState>
</transition>
Abbildung 12 Beispiel einer einfachen Transition
Diese Transition geht vom Zustand clientIdle in den Zustand waitTemplateList über, wenn das
Ereignis pullData ausgelöst wird. Beim Übergang werden zwei Aktionen ausgeführt, die jeweils in
der bereits aus der Applikationskonfiguration bekannten Notation für Klassen angegeben werden.
Die Aktionen werden in der Reihenfolge ihres Auftretens in der Datei ausgeführt.
<transition name="selectTemplate" currentState="waitTemplateList"
event
="templateList"
class
="Siemens.SiplacePro.EDM.DataExchange.Actions.AskForTemplateAct
ion,DataExchange
">
<newState name="waitTemplate" value="OK">
<action
class
="Siemens.SiplacePro.EDM.DataExchange.Actions.AcquireT
emplateAction,DataExchange
" />
<action
class
="Siemens.SiplacePro.EDM.DataExchange.Actions.SendReq
uestAction,DataExchange
" />
</newState>
<newState name="canceled" value="Cancel" />
48 von 68
Installationsanleitung SIPLACE EDM 1.7 Service Pack 1SP 1 Ausgabe 10/2009
</transition>
Abbildung 13 Beispiel einer bedingten Transition
Diese Transition führt den Zustandsübergang unter Berücksichtigung eines Controllers aus. Diese
spezielle Aktion wird über das Attribut „class“ in der Notation für Klassen angegeben. In diesem Fall
existiert nicht nur wie im ersten Beispiel in
Abbildung 12 ein „newState“-Tag, sondern für jedes
mögliche Ergebnis des Controllers eines. Um dies handhaben zu können, wird das „newState“-Tag
um ein Attribut „value“ erweitert. Ein Controller liefert immer einen Zeichenkettenwert zurück, so
dass das Ergebnis auf jeden Fall in der XML-Datei darstellbar ist.
Um Anwendungsfälle, wie das Auftreten von für alle Zustände gültigen Fehlerzustände – wie Sie in
EDM durch die asynchrone Kommunikation in Form von Timeouts auftreten – für den Ersteller der
Workflowkonfiguration leichter handhaben zu können, besteht die Möglichkeit Transitionen wie in
Abbildung 14 zu definieren:
<transition name="timeoutDefault" currentState="all" event="timeOut">
<newState name="timedOut" />
</transition>
Abbildung 14 Defaulttransition
Durch die Angabe von „all“ als Ausgangszustand wird diese Transition für alle Zustände
übernommen. Obige Transition definiert ergo ein allgemeines Timeoutverhalten. Eine
Defaulttransition wird nur ausgeführt, wenn für das jeweilige Ereignis keine spezifische Transition
definiert ist. Hiermit besteht implizit die Möglichkeit mehrere Transition für ein Zustands/Ereignispaar
zu definieren. Es ist jedoch nicht möglich, mehrere Defaulttransitionen für ein Ereignis zu
beschreiben.
49 von 68
Installationsanleitung SIPLACE EDM 1.7 Service Pack 1 SP 1 Ausgabe 10/2009
5.3.2.2 Workflowbausteine
5.3.2.2.1 Grundlagen
Abbildung 15 zeigt alle zurzeit verfügbaren Bausteine, aus denen ein Workflow gebildet werden
kann. Da aber zukünftige Anforderungen an die Prozessgestaltung schwer einzuschätzen sind, hat
man sich bei der Implementierung für diesen flexibel erweiter- und konfigurierbaren Weg
entschieden.
Um die Rekonfiguration vor Ort so einfach wie möglich zu halten, sind in der Fehler! Verweisquelle
konnte nicht gefunden werden. (siehe Kapitel 5.3.3) alle möglichen Zustände, auch diese, die
nicht benutzt sind, ebenso alle Ereignisse und Transitionen enthalten. Von den Transitionen sind die
obligat durchzuführenden (in der Abbildung ohne farbigen Rahmen) sowie die für den
Standardablauf (in der Abbildung grau hinterlegt) aktiv geschaltet. Diese Transitionen können
beliebig durch auf gleicher Ebene im Ablaufdiagramm stehende Alternativen ersetzt werden. Dazu
wird die „alte“ Transition aus- und die neue einkommentiert. Gehören zu einem Baustein mehrere
Transitionen, so sind diese alle ein bzw. auszukommentieren.
Ein Beispiel zur Verdeutlichung. Der Standardablauf für die Auswahl der Objekte sieht in der
Standardkonfiguration wie folgt aus:
<transition name="selectIdentities" currentState="selectObjects"
event
="selectIds"
class
="Siemens.SiplacePro.EDM.DataExchange.Actions.SelectIdentitiesActio
n,DataExchange
">
…
</transition>
<!-- Pull workflow variants -->
<!-- Use fixed selection
<transition name="useIdentities" currentState="selectObjects"
event="selectIds"
class="Siemens.SiplacePro.EDM.DataExchange.Actions.UseConfiguredIdenti
tiesAction,DataExchange">
…
</transition> -->
Dies soll nun in eine fixe Menge zu transferierender Objekte geändert werden. Dann muss die
Konfiguration dergestalt angepasst werden:
50 von 68