Benutzer:ThomasSD/Windows Workflow Foundation

Windows Workflow Foundation
Basisdaten

Entwickler Microsoft
Aktuelle Version 4.0[1]
(21. Februar 2011)
Betriebssystem Version 3.x: ab Windows XP mit SP2
Version 4.x: ab Windows XP mit SP3
Kategorie Plattform
Lizenz Proprietäre Software
deutschsprachig ja
Offizielle Webseite

Windows Workflow Foundation (WF, früher auch WWF und WinWF) ist eine Bibliothek innerhalb des .NET Frameworks von Microsoft zur Vereinfachung der Entwicklung von Applikationen, welche einen komplexen, mit sich selbst interagieren und meist lang laufenden Arbeitsablauf (engl. Workflow) als automatisiertes Programm abbilden. Diese Art von Software wird auch als "Workflow Applications" bzw. "Workflow-Applikationen" bezeichnet.

Die Windows Workflow Foundation ermöglicht dabei eine deklarative Programmierung, indem vom Entwickler eine grafische Beschreibung des logischen Ablaufes zur Problemlösung erstellt wird und nicht ein Ablauf von technischen Einzelschritten. Sie ist damit eingebunden in die Ideologie vom .NET Framework immer höhere Abstraktionsebenen zu schaffen, welche den Entwickler weg von der Technik und näher zu den fachlichen Geschäftsprozessen rückt.

Dabei unterstützt die Windows Workflow Foundation auf der einen Seite durch vorgefertigte Klassen und Konstrukte, die typische Knoten und Aktivitäten eines Ablaufdiagramms repräsentieren, auf der anderen Seite durch einen grafischen Editor in Visual Studio, in welchem die logischen Abläufe gestaltet werden können.

Ein weiteres zentrales Ziel der Windows Workflow Foundation ist die strikten Trennung zwischen der Logik des des Ablaufes (Prozess) und den jeweilig technisch notwendigen Programmierungen für einen einzelnen Arbeitsschritt (Fach-Terminus: „Activity“, engl. für Aktivität) innerhalb dieser Logik. Eine Aktivität 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“) alles umfassen, zudem kann eine Aktivität in sich selbst wieder aus einem Workflow mit anderen Aktivitäten bestehen (siehe auch:Selbstähnlichkeit).

Zusätzlich wird die persistierung von Abläufen vereinfacht, das heißt 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 seit der Version 3.0, in der Version 4.0 von .NET wurden alle Windows Workflow Foundation relevanten Aspekte deutlich überarbeitet und verbessert.

Nutzen innerhalb der Microsoft Domaine Bearbeiten

Die Windows Workflow Foundation ist ein zentraler Baustein von Microsoft um seine Enterprise-Applikations (Software für Geschäftskunden) mit einer Schnittstelle für die individuelle Anpassung (Customizing) zu versehen. Folgende Produkte bieten in unterschiedlicher Form eine Unterstüzung für die Windows Workflow Foundation an, sei es durch eingebaute Editoren oder eine API zum Integration in andere Workflows:

Beispiel Bearbeiten

Folgendes Beispiel ist eine vereinfachte Fassung des WF-Tutorials von Mircosoft[2], in dem sich mehr Details zur Codierung finden.

Die notwendigen Logik sähe wie folgt aus:

  1. Schritt: Formular Anzeigen
  2. Schritt: Formular vom Kunden ausfüllen lassen
  3. Schritt: Formular prüfen
  4. Schritt: Wenn Formular nicht korrekt ausgefüllt -> zurück zu Schritt 2
  5. Schritt: Informationen holen
  6. Schritt: Email verschicken und Kunde informieren

Mit Hilfe von der grafischen WF Editors in Visual Studio lässt sich dieser Ablauf wie folgt modellieren:

Jetzt kann der Entwickler die einzelnen Schritte "mit Leben" füllen, also mit Quellcode, indem er z.B. eine Abfrage an eine bestimmte Datenbank implementiert um die gewünschten Produktinformationen zu gewinnen.

Sollte sich später herausstellen, dass ein bestimmter Schritt komplexer wird, z.B. wenn Anfragen nach einem bestimmten Produkt erst nach Eingabe eine Seriennummer zur Verfügung stehen sollen, so könnte der Punkt "Formular prüfen" in weitere Unterpunkte unterteilt werden.

Versionen Bearbeiten

  • .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ächiger Update, mit neuen Funktionen, wie dem Flowchart Designer und den dazu gehörenden Aktionen. Alle bisherigen Workflow-Elemente erben nun von der Basisklasse "Activity", was das Arbeiten deutlich vereinfacht[3]

Rezeption Bearbeiten

Die Windows Workflow Foundation wurde zunächst von Entwicklern und Fachpresse eher als eine inhomogene, komplexe und im Vergleich zu anderen Teilen des .NET Frameworks als schwer zugängliche Bibliothek angesehen, die zudem in der Version 3.0 noch mit vielen Bugs kämpfte[4]. Denn neben einem gutem Verständnis für die theoretische Seite der Prozesssteuerung bedarf der Einsatz der Windows Workflow Foundation auch fundierter praktischer Kenntnisse der .NET Technologien allgemein und insbesondere der Windows Workflow Foundation Konzepte und ihrer Implementierung durch Microsoft, die bis heute noch nicht fehlerfrei ist.

Neben der hohen Lernschwelle bedingt durch die Komplexität war ein großer Kritikpunkt in der Version 3.0 auch die langsame Verarbeitungsgeschwindigkeit, welche Microsoft mit der Version 4.0 aber deutlich erhöhen konnte[5].

Trotzdem wird die Windows Workflow Foundation gerade bei Anwendungen im Enterprise (Großkunden) Umfeld, das sich durch teilweise sehr vielschichtige Logiken und Zusammenhänge auszeichnet, als ein gutes Tool angesehen um die Komplexität der Software in Summe zu reduzieren - eben durch oben genannte Trennung zwischen dem Ablauf des Geschäftsprozesses und der Codierung der einzelnen Schritte. Dies gilt insbesondere für Prozesse die sich durch äußere Umstände oftmals ändern. Die gilt insbesondere für die neue Version 4.0, die gegenüber Ihren Vorgängern deutlich an Qualität- und Konsistenz gewonnen hat.

Literatur Bearbeiten

  • Dharma Shukla, Bob Schmidt: Essential Windows Workflow Foundation, Addison-Wesley Professional, 13 October 2006, ISBN 0-321-39983-8
  • Michael Stiefel: Building Applications with Windows Workflow Foundation (WF): Basics of Windows Workflow Foundation (Digital Short Cut), June 5, 2007, Kindle, ISBN 0-321-51454-8
  • Brian Noyes: Developing Applications with Windows Workflow Foundation (WF) (Video Training), June 7, 2007, Brian Noyes, ISBN 0-321-50313-9
  • Brian R. Myers: Foundations of WF, Apress, 23 October 2006, ISBN 1-59059-718-4
  • Bruce Bukovics: Pro WF: Windows Workflow in .NET 3.0, Apress, 19 February 2007, ISBN 1-59059-778-8
  • Todd Kitta: Professional Windows Workflow Foundation, Wrox, 12 March 2007, ISBN 0-470-05386-0
  • Kenn Scribner: Microsoft Windows Workflow Foundation Step by Step, Microsoft Press, 28 February 2007, ISBN 0-7356-2335-X

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. Microsoft .NET Framework 4 (eigenständiger Installer) – Seite bei Microsoft; Stand: 22. April 2011
  2. http://msdn.microsoft.com/de-de/library/bb266709.aspx
  3. http://msdn.microsoft.com/en-us/library/dd489410.aspx
  4. http://www.heise.de/developer/artikel/Zehn-gute-Gruende-warum-Windows-Workflow-Foundation-dem-Entwickler-keinen-Spass-macht-355133.html
  5. http://www.dotnetpro.de/articles/articlearchive1743.aspx