Windows Workflow Foundation
Windows Workflow Foundation (WF, früher auch WWF und WinWF) ist eine Programmbibliothek innerhalb der .NET-Programmierumgebung von Microsoft. Sie dient der einfacheren Entwicklung von programmgesteuerten, komplexen Arbeitsabläufen (engl. Workflows). Diese Art von Software wird auch als Workflow-Anwendungssoftware bezeichnet.
Windows Workflow Foundation | |
---|---|
Basisdaten | |
Entwickler | Microsoft |
Aktuelle Version | 4.7.2[1] (30. April 2018) |
Betriebssystem | Version 3.x: ab Windows XP mit SP2 Version 4.x: ab Windows XP mit SP3 Version 4.5 ab Windows Vista mit SP2 |
Kategorie | Plattform |
Lizenz | Proprietäre Software |
deutschsprachig | ja |
msdn.microsoft.com |
Die Windows Workflow Foundation ermöglicht eine deklarative Programmierung. Hierbei wird eine grafische Beschreibung des Ablaufes erstellt, anstatt ihn in Form von Programmcode zu modellieren. Die WF schafft damit höhere Abstraktionsebenen, die den Entwickler weg von der Codierung und näher zu den fachlichen Geschäftsprozessen rückt.
Dabei unterstützt sie den Entwickler einerseits durch vorgefertigte Klassen und Konstrukte, die typische Knoten und Aktivitäten eines Ablaufdiagramms repräsentieren, und andererseits durch einen grafischen Editor in Microsoft Visual Studio, in dem die Abläufe gestaltet werden können.
Die Windows Workflow Foundation trennt zwischen der Logik des Prozesses und den technisch notwendigen Programmierungen für die einzelnen Arbeitsschritte innerhalb dieser Logik. Eine Aktivität (Terminus: Activity) kann dabei von profanen Anweisungen (z. B. „Drucke Text auf Bildschirm“) bis hin zu komplexen Programmen (z. B. „Berechne kürzesten Weg von A nach B“) reichen. Zudem kann eine Aktivität in sich selbst wieder aus einem Arbeitsablauf mit anderen Aktivitäten bestehen.
Eine laufende Aktivität kann jederzeit unterbrochen und gesichert werden, um zu einem späteren Zeitpunkt wieder aufgenommen zu werden.
Die Windows Workflow Foundation ist ein Teil von .NET ab der Version 3.0. In der Version 4.0 von .NET wurden alle für die Windows Workflow Foundation relevanten Aspekte deutlich überarbeitet und verbessert.
Nutzen innerhalb der Microsoft-Produktfamilie
Die Windows Workflow Foundation ist ein zentraler Baustein von Microsoft, um seine Software für Geschäftskunden mit einer Schnittstelle für die individuelle Anpassung (Customizing) zu versehen. Folgende Produkte bieten in unterschiedlicher Form eine Unterstützung für die Windows Workflow Foundation an, sei es durch eingebaute Editoren oder eine API zur Integration in andere Workflow-Systeme:
- SharePoint (Ab 2007)
- Microsoft Speech Server (Ab 2007)
- Microsoft Forefront Identity Manager (Ab 2010)
- Microsoft Dynamics CRM (Ab Version 4.0)
- Microsoft Dynamics AX (Ab 2009)
- Team Build (Ab 2010, nur für Build-Prozess)
Beispiel
using System;
using System.Activities;
using System.Activities.Statements;
namespace HelloWorldWorkflow
{
class Program
{
static void Main(string[] args) {
WorkflowInvoker.Invoke(new HelloWorkflow()); // Ausführung eines Workflows
WorkflowInvoker.Invoke(Program.GetWF()); // Ausführung eines dynamischen Workflows
}
public class HelloWorkflow : Activity {
public HelloWorkflow() {
Implementation = () => new Sequence {
Activities = {
new WriteLine() { Text = "Hello " }
}
};
}
}
public static DynamicActivity GetWF() {
return new DynamicActivity() {
Implementation = () => new Sequence() {
Activities = {
new WriteLine() { Text = "World" }
}
}
};
}
}
}
Mit der Windows Workflow Foundation kann das gleiche Programm mit verschiedenen Darstellungsmöglichkeiten implementiert werden.
Sequenzdiagramm | Flussdiagramm | Endlicher Automat |
---|---|---|
Versionen
- .NET 3.0: Erstmalige Veröffentlichung der Windows Workflow Foundation
- .NET 3.5: Erweiterung der Windows Workflow Foundation durch Aktivitäten für Nachrichtenaustausch über die Windows Communication Foundation
- .NET 4.0: Großflächiges Update, mit neuen Funktionen, wie dem Flowchart Designer und den dazugehörenden Aktionen. Alle bisherigen Workflow-Elemente erben nun von der Basisklasse Activity., was das Arbeiten deutlich vereinfacht[2]
- .NET 4.5: Update mit zusätzlichen Möglichkeiten, wie Endlichen Automaten und der Möglichkeit, C# für Ausdrücke zu verwenden.[3]
Aufnahme
Die Windows Workflow Foundation wurde von Entwicklern und Fachpresse zunächst als eine inhomogene, komplexe und im Vergleich zu anderen Teilen des .NET Frameworks schwer zugängliche Bibliothek angesehen. Ein Hauptgrund hierfür ist, dass ihr Einsatz neben einem guten Verständnis für die theoretische Seite der Prozesssteuerung auch fundierter praktischer Kenntnisse von .NET im Allgemeinen und der Konzepte der Windows Workflow Foundation im Speziellen bedarf. In Version 3.0 hatten Entwickler zudem mit vielen Programmfehlern zu kämpfen.[4] Die Implementation ist bis heute noch nicht fehlerfrei.
Neben der hohen Lernschwelle, bedingt durch die Komplexität, war ein großer Kritikpunkt in der Version 3.0 auch die langsame Verarbeitungsgeschwindigkeit, die Microsoft mit der Version 4.0 aber deutlich erhöhen konnte.[5] Diese Version hat zudem gegenüber ihren Vorgängern deutlich an Qualität und Konsistenz gewonnen.
Trotzdem wird die Windows Workflow Foundation gerade bei Anwendungen in Unternehmen als gutes Werkzeug angesehen, um die Komplexität der Software zu mindern. Sie erreicht dies durch die oben genannte Trennung zwischen dem Ablauf des Geschäftsprozesses und der Codierung der einzelnen Schritte. Dies gilt besonders für Prozesse, die sich durch äußere Umstände oftmals ändern.
Siehe auch
- Apache ODE
- OSWorkflow
Literatur
- Dharma Shukla, Bob Schmidt: Essential Windows Workflow Foundation. Addison-Wesley Professional, 2006, ISBN 0-321-39983-8.
- Michael Stiefel: Building Applications with Windows Workflow Foundation (WF): Basics of Windows Workflow Foundation (Digital Short Cut). Kindle, 2007, ISBN 0-321-51454-8.
- Brian Noyes: Developing Applications with Windows Workflow Foundation (WF) (Video Training). Brian Noyes, 2007, ISBN 0-321-50313-9.
- Brian R. Myers: Foundations of WF. Apress, 2006, ISBN 1-59059-718-4.
- Bruce Bukovics: Pro WF: Windows Workflow in .NET 3.0. Apress, 2007, ISBN 978-1-59059-778-1.
- Todd Kitta: Professional Windows Workflow Foundation. Wrox, 2007, ISBN 978-0-470-05386-7.
- Kenn Scribner: Microsoft Windows Workflow Foundation Step by Step. Microsoft Press, 2007, ISBN 978-0-7356-2335-4.
Weblinks
Einzelnachweise
- Announcing the .NET Framework 4.7.2, .NET Blog, 2. Mai 2018
- What's New in the .NET Framework 4. Abgerufen am 10. Januar 2013.
- What's New in Windows Workflow Foundation in .NET 4.5. Abgerufen am 10. Januar 2013.
- Zehn gute Gründe, warum Windows Workflow Foundation dem Entwickler keinen Spaß macht. auf: heise.de/developer/, 15. Oktober 2007.
- Damir Dobric: Neues Flussbett. Hrsg.: dotnetpro. Dezember 2009, S. 84 (dotnetpro.de).