00196455-02_IM_EDM_1.7SP1_de.pdf - 第47页

Installationsanleitung SIPLACE EDM 1.7 Service Pack 1SP 1 Ausgabe 10/2009 Client Workflow-Konfiguration ). Dabei handelt es sich um eine Datei im XML-Format. Auf den Inhalt dieser Datei und den Bezug zur Theorie will ich…

100%1 / 68
Installationsanleitung SIPLACE EDM 1.7 Service Pack 1 SP 1 Ausgabe 10/2009
5.3.2 … und Praxis
5.3.2.1 Syntax und Möglichkeiten
Die Theorie des vorigen Abschnittes muss jetzt in einer praktisch handhabbaren Form umgesetzt
werden. Dies geschieht in der Client Workflowkonfigurationsdatei (vgl. auch
5.2.3.21
46 von 68
Installationsanleitung SIPLACE EDM 1.7 Service Pack 1SP 1 Ausgabe 10/2009
Client Workflow-Konfiguration). Dabei handelt es sich um eine Datei im XML-Format. Auf den Inhalt
dieser Datei und den Bezug zur Theorie will ich im Folgenden eingehen.
Am Anfang ist es zunächst notwendig, alle Zustände, Ereignisse und Transitionen zu deklarieren
Dies ist notwendig, damit die Workflowengine, die auf der Konfigurationsdatei arbeitet, den
Automaten leichter verifizieren kann.
Wir definieren zunächst den Startzustand:
<state name="clientIdle" isStartState="true" />
In den nun folgenden Zustandsdeklarationen darf nun isStartState=“true“ nicht mehr auftauchen, da
ein Automat ja genau einen Startzustand besitzt.
Ein „normaler“ Zustand wird deklariert:
<state name="selectObjects" />
Will man einen Zustand als Endzustand markieren:
<state name="done" isEndState="true" />
Fehlerzustände werden wie folgt gekennzeichnet:
<state name="timedOut" isErrorState="true" />
Ein Zustand kann gleichzeitig sowohl Fehler- als auch Endzustand sein:
<state name="failed" isErrorState="true" isEndState="true" />
Die Namen der Zustände müssen eindeutig sein. Als nächstes folgt in der Konfigurationsdatei die
Deklaration der Ereignisse, auf die die Workflowengine reagieren kann:
<event name="pullData" />
Die Namen der Ereignisse müssen ebenfalls eindeutig sein, da diese wie die Zustände bei der
Definition der Transitionen referenziert werden.
Die Transitionen stellen das Herzstück der Workflowdefinition dar. Sie stellen eine Art „Legostein“
dar, aus denen ein Kundenworkflow zusammengesetzt werden kann.
47 von 68
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