This chapter presents an overview of the Windows Workflow Foundation (known as WF throughout the rest of this chapter), which provides a model to define and execute processes using a set of building blocks called activities. WF provides a Designer hat, by default, is hosted within Visual Studio, and that allows you to drag and drop activities from the toolbox onto the design surface to create a workflow template.
This template can then be executed by creating a Workflowlnstance and then running that instance. The code that executes a workflow is known as the WorkflowRuntime, and this object can also host a number of services that the running workflows can access. At any time, there may be several workflow instances executing, and the runtime deals with scheduling these instances and saving and restoring state; it can also record the behavior of each workflow instance as it executes.
A workflow is constructed from a number of activities, and these activities are executed by the runtime. An activity might send an ernail, update a row in a database, or execute a transaction on a
back-end system. There are a number of built-in activities that can be used for general-purpose work, and you can also create your own custom activities and plug these into the workflow as necessary. In this chapter you see the following:
- The different types of workflows that can be created
- A description of some of the built-in activities
- How to create custom activities
We begin with the canonical example that everyone uses when faced with a new technology – Hello World – and also describe what you need to get workflows running on your development machine.