Windows Workflow Foundation 4.5 Adds Versioning, Designer Improvements
Windows Workflow Foundation (WF) 4.5, announced at Microsoft's Build conference last year, is the first major update to the library since WF4 was released in early 2010. This release is meant to address customer feedback, and includes multiple updates to the designer and the runtime, as well as a new versioning process. WF4.5 also adds two new development models: Contract-First and State Machine workflows.
Enhancements to the designer include:
- Search features: Quick Find and 'Find in Files' (Visual Studio only)
- Ability to add Annotations to variables, activities, arguments, and other items
- Better support for managing very large workflows: Pan mode, Tree View (called "Document Outline View"), multi-select for activities, "auto-surround with Sequence" to automatically create a sequence activity, node auto-connect and auto-insert when working with Flowchart and State Machine workflows
- Build-time workflow validation
Versioning capability is a major addition to WF4.5. Developers are now able to add a version to an instance of a workflow via the new WorkFlowIdentity class. The WorkFlowServiceHost is capable of running multiple versions of a workflow side by side, so that new instances are created using the new version of a workflow, while existing instances will continue to run with the previous version. In addition, Dynamic Update provides the ability to update workflow definitions while the instance is running.
New runtime enhancements are as follows:
- Expressions can now be written in C#, not just Visual Basic
- New activities, including NoPersistScope, to prevent child activities from persisting
- Workflows can now be run in Partial Trust instead of requiring Full Trust
- Visual Studio performance improvements
One of the two new development models in WF4.5 is called Contract-First. This workflow development tool lets the developer design a contract first, and then auto-create activity templates from it. The other new model allows the creation of State Machine workflows. (This feature was introduced in Microsoft .NET Framework 4 Platform Update 1, after the release of WF4.)
Microsoft is also working on introducting WF to the cloud. For more information, please see Channel 9's Building apps with Windows Workflow Foundation and Windows Azure.