Zur Erinnerung nochmals die zwei Workflowtypen:
| Sequenz Workflow "SharePoint Sequential Workflow Library" |
State Machine Workflow "SharePoint State Machine Workflow Library" |
Es gibt verschiedene Entscheidungsfaktoren. Es muss aufgrund der Möglichkeiten, Funktionsweisen und den gegebenen Umstä¤nden entschieden werden.
Möglichkeiten
Grundsätzlich kann man jeden State Machine Workflow auch mit einem sequenziellen Workflow abbilden. Dies führt aber bei einem sequenziellen Workflow in kurzer Zeit zu einer unüberschaubaren und kaum wartbaren Komplexität.
Funktionsweise State Machine Workflow
Bei einem State Machine Workflow wird vom Benutzer entschieden, wann es in den nächsten Zustand geht. Man nennt den State Machine Workflow auch "Human Workflow".
Funktionsweise Sequential Workflow
Bei einem sequenziellen Workflow hingegen wird diese Entscheidung vom System anhand vordefinierter Regeln entschieden.
Funktionsweise spezieller State Machine Workflow
In der Anfangsphase von den SharePoint 2007 Workflows war manchmal auch die Rede von einem dritten Workflow unter dem Namen Datadriven Workflow. Dabei war die Idee, dass der Workflow seine Zustandsänderungen nicht anhand der Aktionen des Benutzers erfährt, sondern aufgrund von Informationen in dem SPListItem oder in der Datenbank entscheidet. Der Benutzer soll eine sekundäre Rolle spielen. Von dieser Art Workflow hat man aber in letzter Zeit nicht mehr viel gehört. Denn eigentlich ist es ein normaler State Machine Workflow, welcher programmatisch auf die Datenbank und das SPListItem zugreift und dessen Werte in die Entscheidungen miteinbezieht.
Entstehungsprozess
Eine andere Entscheidungsgrundlage ist auch die Tatsache, dass mit dem SharePoint Designer jeder einen sequenziellen Workflow erstellen kann. Vorausgesetzt er hat die benötigten Berechtigungen auf dem SharePoint. Wenn diese Person mit den Vorhandenen Activities nicht in der Lage ist den gewünschten Workflow abzubilden, muss entweder von einem Programmierer ein neues Activity mit der fehlenden Funktion erstellt werden, oder der gesamte Workflow ist für einen sequenziellen Workflow zu komplex. Somit muss er vielleicht als State Machine Workflow erstellt werden. In diesem Fall wird der Workflow von einem Programmierer erstellt.
Wenn man die Möglichkeit hat den Workflow als sequenziellen Workflow abzubilden ist es sicher einfacher dies so zu machen. Setzt aber bei dem Ersteller des Workflows voraus, dass er den abzubildenden Prozess kennt und versteht und somit eine Aussage machen kann ob der den anhand der gegebenen Activities abbilden kann. Somit muss er auch grundlegende Kenntnisse von Programmlogik beherrschen.

