Das Workflow-Management (WfM) ist die elektronische Ausführung von Geschäftsprozessen. Das Workflow-Management kann damit als eine technische Umsetzung des Geschäftsprozess-Managements verstanden werden.
Das Workflow-Management umfasst alle Aufgaben, die bei der Modellierung, Spezifikation, Simulation sowie bei der Ausführung und Steuerung der Workflows erfüllt werden müssen.
The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules.
Ein Workflow besteht aus Aktivitäten. Eine Aktivität bildet die kleinste Ausführungeinheit in einem Arbeitsablauf. Ihr sind typischerweise eine Tätigkeit, ausführende Ressourcen (Personen, Maschinen), zu benutzende Ressourcen (Werkzeuge, Maschinen, anderweitige Betriebsmittel) und zeitliche Abhängigkeit (Reihenfolge, Ausführungsdauer usw.) zugeordnet. Also Wer/Was, Wo/Was/Womit, und Wann.
Im Gegensatz zu einem Geschäftsprozess, der eine Folge von Aktivitäten mit dem Ziel einer Leistungserstellung beschreibt, ist ein Arbeitsablauf (engl. Workflow) eine vordefinierte Abfolge rechnergestützt ablaufender Aktivitäten. Dabei unterstützt ein IT-System einen Geschäftsprozess, versorgt mit notwendigen Daten und wickelt gemäß einer im System hinterlegten Vorgabe / Algorithmus ab. Also nochmal, ein Workflow ist ein Prozess, der aus einzelnen Aktivitäten aufgebaut ist, die sich auf Teile eines Geschäftsprozesses oder andere organisatorische Vorgänge beziehen. Dabei beschreibt ein Workflow - im Gegensatz zum Prozess - ausführlich die operative Ebene; idealerweise so exakt, dass die folgende Aktivität durch den Ausgang der jeweils vorangehenden determiniert ist. Die einzelnen Aktivitäten stehen demnach in Abhängigkeit zueinander. Ein Workflow hat einen definierten Anfang, einen organisierten Ablauf und ein definiertes Ende. Workflow ist der Teil eines Prozesses (Geschäftsprozesses) welcher IT gestützt durchgeführt wird.
Workflows zeichnen sich durch einen koordinativen Charakter aus im Gegensatz zu kooperativen Systemen, in denen mehr das synchrone Zusammenarbeiten gefördert wird.
A system that defines, creates and manages the execution of workflows through the use of software, running on one or more workflow engines, which is able to interpret the process definition, interact with workflow participants and, where required, invoke the use of IT tools and applications.
Ein Workflow Management System (WfMS) ist eine Plattform welche Design, Entwicklung, Ausführung und Analyse von workflow Prozessen ermöglicht
Workflw Process 1) wird gewöhnlich durch einen gerichteten Graphen (flow graph) dargestellt, welcher die Ausführungsordnung der einzelner Knoten darstellt. Es sind folgende Knotentypen definiert:
Ein durch die Kombination von diesen Knoten kann eien Entwickler den Process beschreiben, indem er die Reihenfolgen und Arbeitsnmengen sowie die zustendikeiten für die einzelne Arbeitsschritte zuweist (Menschen oder Maschen).
Eine workflow Instance ist die Ausführung eines Workflows2). Ein Workflow kann mehrere male instanziert und ausgeführt werden. Es können mehrere Instanzen desselben oder auch verschiedener Workflows zur selben Zeit konkurrierend ablaufen.
Die Wokflow Instanzen werden von der Workflow Engine aufgeführt. Eine WfMS Engine ist im Grunde ein Scheduler: Er verwaltet den Ablaufplan von der Arbeit die getan werden muss und weist diese den geiegneten “Ausführern” zu.
Im Fahle einer Ausnahme ist es nicht so einfach(oder nicht akzeptabel) wie in einer Datenbank einfach ein Rollback auszuführen, denn die arbeits einheit ist oft nicht nur ein “DB-Update”, oder Erhalt einer Nachricht sondern beliebige Aktion wie z.B das Senden eines Briefen an den Kunden. Außerdem sind die Workflow-Applikationen typischerweise sehr langlebig und es ist nicht möglich (bzw. nicht akzeptabel) so lange die Sperren zu halten um die Möglichkeit von einem Rollback zu garantieren. WfMs hat dazu einige Lösungsansetze:
WfMS verkörpern die Idee von megaprograming: Komposition großer Module (megamodules) die Bereitsvorjhanden sind anstatt Neuprogramierung. In diesem Licht betrachtet kann man die WfMS als eine Sprache für Enterprise Application Integration ansehen.