Windows Workflow Foundation

from Wikipedia, the free encyclopedia
Windows Workflow Foundation
Basic data

developer Microsoft
Current  version 4.7.2
(April 30, 2018)
operating system Version 3.x: from Windows XP with SP2
Version 4.x: from Windows XP with SP3
Version 4.5 from Windows Vista with SP2
category platform
License Proprietary software
German speaking Yes
msdn.microsoft.com

Windows Workflow Foundation ( WF , formerly also WWF and WinWF) is a program library within the .NET programming environment from Microsoft . It is used to simplify the development of program-controlled, complex work processes ( workflows ). This type of software is also known as workflow application software .

The Windows Workflow Foundation enables declarative programming . A graphic description of the process is created instead of being modeled in the form of program code. The WF thus creates higher levels of abstraction that move the developer away from coding and closer to technical business processes .

It supports the developer on the one hand with ready-made classes and constructs that represent typical nodes and activities in a flow chart , and on the other hand with a graphic editor in Microsoft Visual Studio , in which the processes can be designed.

The Windows Workflow Foundation separates the logic of the process and the technically necessary programming for the individual work steps within this logic. An activity ( term : activity ) can range from mundane instructions ( e.g. "Print text on screen" ) to complex programs ( e.g. "Calculate shortest route from A to B" ). In addition, an activity in itself can consist of a workflow with other activities.

An ongoing activity can be interrupted and saved at any time in order to be resumed at a later time.

The Windows Workflow Foundation is part of .NET from version 3.0. In version 4.0 of .NET, all aspects relevant to the Windows Workflow Foundation have been significantly revised and improved.

Benefits within the Microsoft product family

The Windows Workflow Foundation is a central component of Microsoft to provide its software for business customers with an interface for individual adaptation ( customizing ). The following products offer support for the Windows Workflow Foundation in various forms, be it through built-in editors or an API for integration into other workflow systems:

example

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" }
                   }
                }
            };
        }
    }
}

With the Windows Workflow Foundation, the same program can be implemented with different display options.

Possible implementations of a simple number guessing game
Sequence diagram flow chart Finite automaton
Windows Workflow 4.5 Sequence.png Windows Workflow 4.5 Flowchart.png Windows Workflow 4.5 State Machine.png

Versions

  • .NET 3.0: First release of Windows Workflow Foundation
  • .NET 3.5: Extension of the Windows Workflow Foundation with activities for message exchange via the Windows Communication Foundation
  • .NET 4.0: Large-scale update, with new functions, such as the Flowchart Designer and the associated actions. All previous workflow elements now inherit from the base class Activity. which makes work much easier
  • .NET 4.5: Update with additional options, such as finite automata and the option to use C # for expressions.

admission

The Windows Workflow Foundation was initially viewed by developers and the trade press as an inhomogeneous, complex and, compared to other parts of the .NET Framework, difficult to access library. One of the main reasons for this is that, in addition to a good understanding of the theoretical side of process control, its use also requires in-depth practical knowledge of .NET in general and the concepts of the Windows Workflow Foundation in particular. In version 3.0 developers also had to struggle with many program errors . The implementation is still not free of errors.

In addition to the high learning threshold due to the complexity, a major point of criticism in version 3.0 was the slow processing speed, which Microsoft was able to increase significantly with version 4.0. This version has also improved significantly in quality and consistency compared to its predecessors.

Nevertheless, the Windows Workflow Foundation is seen as a good tool for applications in companies in order to reduce the complexity of the software. It achieves this through the above-mentioned separation between the flow of the business process and the coding of the individual steps. This is especially true for processes that often change due to external circumstances.

See also

literature

  • 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 .
  • Know Scribner: Microsoft Windows Workflow Foundation Step by Step. Microsoft Press, 2007, ISBN 978-0-7356-2335-4 .

Web links

Individual evidence

  1. Announcing the .NET Framework 4.7.2 , .NET Blog, May 2, 2018
  2. What's New in the .NET Framework 4. Retrieved January 10, 2013 .
  3. What's New in Windows Workflow Foundation in .NET 4.5. Retrieved January 10, 2013 .
  4. Ten good reasons why developers don't enjoy Windows Workflow Foundation. on: heise.de/developer/ , October 15, 2007.
  5. Damir Dobric: New river bed . Ed .: dotnetpro. December 2009, p. 84 ( dotnetpro.de ).