I’m starting on a new feature of the application I work on in my day-to-day. We’re building out a feature to replicate some human workflows that are long running. Here’s some of the resources I have accumulated so far:
Introduction
Windows Workflow Foundation (WF) is a method of creating discrete activities that can be used to model the workflow of an application or human workflows. It “provides a programming model, in-process workflow engine and rehostable designer to implement long-running processes as workflows within .NET applications”.
With .NET 4.0, a new programming model as well as further integration between Windows Communication Foundation (WCF) and WF was created.
The tasks I am looking to automate are human activities that are often long-running such as follow-up processes as well as approval processes where an activity is performed, a duration expires or the workflow is preempted by further user input and then continues to completion. The Creating a Long-running Workflow Service article defines a durable workflow as a “long running workflow services may run for long periods of time. At some point the workflow may go idle waiting for some additional information. When this occurs the workflow is persisted to a SQL Server database and is removed from memory. When the additional information becomes available the workflow instance is loaded back into memory and continues executing.” These long running, durable workflows can be hosted in WCF Services (Hosting Options: self-hosted in a managed application, hosted in a managed windows service, in Internet Information Services [IIS], or Windows Process Activation Services [WAS]), Windows Servies (self-created or Windows Server AppFabric), or in the cloud (Windows Azure AppFabric).
WF 4.0
- Windows Workflow Foundation (MSDN Home)
- Windows Workflow Foundation (WF) Screencasts
- Getting started with Windows Workflow Foundation 4 and the different workflow authoring models
- Executing workflows
- Working with data in workflows
- Developing custom activities
- Activity designers
- Workflow services
- Hosting Workflow services
- Workflow services and message correlation
- Developing asynchronous activities
- Long running workflows using the SqlWorkflowInstanceStore and a WorkflowApplication
- Long running workflows using the SqlWorkflowInstanceStore and a WorkflowServiceHost
- Error handling using the WorkflowApplication.OnUnhandledException, the WorkflowServiceHost WorkflowUnhandledExceptionBehavior and the TryCatch activity
- A Developer’s Introduction to Windows Workflow Foundation (WF) in .NET 4
- Deep Dive on Windows Workflow 4.0 Activities
- Using PickActivity In WF 4.0
- Using Bookmarks In WF 4.0
- Dynamic activities in WF 4.0
- Windows Workflow 4.0: quick Activity reference
- Windows Server AppFabric (Technet Articles)
- Windows Server AppFabric
- Tutorial Using the Windows Server AppFabric Interface
- Windows Server AppFabric Concepts and Architecture
- Security and Protection
- Managing an Application
- Developing an Application
- Workflow Management Service (AppFabric Workflow Management Service)
Installation
- Installing AppFabric
- Download Windows Server AppFabric
- Installing and Configuring the Workflow Management Service
Deployment
- Lesson 2: Deploying the Order Service Application with Windows PowerShell
- Lesson 3: Configuring the Order Service with Windows PowerShell
- Import and Export an Application in Windows Server AppFabric
Windows Workflow (WF) Samples
- Windows Workflow (WF) Samples
- Application
- Basic
- Built-in Activities
- Handling in a Flowchart Activity Using TryCatch
- Emulating breaking in a While activity
- DynamicActivity Creation
- Using Variables with a .NET Framework 3.5 Ruleset
- Load From XAML
- Using Collection Activities
- Using the InvokeMethod Activity
- Using the Pick Activity
- Using Procedural Activities
- Using CancellationScope
- InvokeMethod
- Usage of the Switch Activity with Custom Types
- Interop with 3.5 Rule Set
- Compensation (Samples)
- Custom Activities
- Designer
- Designer ReHosting
- Execution
- Expressions
- Migration
- Persistence
- Rules Samples
- Services
- Absolute Delay
- Durable Delay
- Sending and Handling Faults
- Basic Usage of SendParameters and ReceiveParameters Activities
- Basic XAML only Service
- Formatting messages in Workflow Services
- Durable Duplex
- NetContextExchangeCorrelation
- Content-Based Correlation
- Channel Caching with Send
- Durable Delay in XAMLX
- Buffered Receive
- XAML Activation
- Tracking
- Transactions
- Validation
- Built-in Activities
- Scenario
- Activity Library
- Policy Activity in .NET Framework 4
- Custom Activity to Switch on a Range of Values
- LINQ to Objects Activity
- LINQ to SQL
- Using the InvokePowerShell Activity
- RangeEnumeration Activity
- Regular Expression Activities
- SendMail Custom Activity
- For Activity
- Wait For Input Activity
- Throttled Parallel ForEach
- Entity Activities
- Database Access Activities
- CommentOut Activity
- Externalized Policy Activity in .NET Framework 4
- NoPersistScope Activity
- Non-Generic ForEach
- Non-Generic ParallelForEach
- Get WorkflowInstanceId
- Services
- Transactions
- Auto-Confirm Pattern
- StateMachine Scenario Using a Combination of FlowChart and Pick
- WPF and WF Integration in XAML
- External Ruleset Toolkit
- Activity Library
See Also
- Windows Azure AppFabric Blog
- Creating a Long-running Workflow Service
- A Developer’s Introduction to Windows Workflow Foundation (WF) in .NET 4
- Lesson 1: Getting Started with Windows Server AppFabric Cmdlets for Windows PowerShell
- Lesson 2: Deploying the Order Service Application with Windows PowerShell
- Lesson 3: Configuring the Order Service with Windows PowerShell
- Lesson 4: Monitoring the Order Service with Windows PowerShell
- Lesson 5: Tracking the Workflow with Windows PowerShell
- How to: Host a Workflow Service with Windows Server App Fabric
- AppFabric Training Kit
- Developer Introduction to Windows Server AppFabric (Part 1): Hosting Services
- Developer Introduction to Windows Server AppFabric (Part 2): Caching Services
- Real-Time Monitoring of Durable Workflows
- endpoint.tv – AppFabric Dashboard Overview
- endpoint.tv – Workflow Services with Dave Cliffe
- endpoint.tv – WF4 / AppFabric Contoso HR Sample
- WF4 State Machine Driven WPF UI
Had to edit this today (2011/04/07) as I came across the Windows Workflow Samples. Though the links are just a replication of the TOC from the Microsoft website, being able to see the list of samples at a glance was of huge value to me.