At the PDC .net Framework 4.0 was announced which will be released along with Visual Studio 2010. Along with .Net Framework 4.0, a new version of Windows Workflow Foundation (WF v4.0) will also be released. This version of WF is greatly improved and enhanced compared to the 1st version (released with .net Framework 3.0). These enhancements address performance and scalability issues along with few key customer scenarios (XAML only workflows, transaction flow etc).
Here are some of the highlights of WF v4.0
· First class support for authoring XAML only workflows.
· Rich Activity Data Model which eliminates the need for falling back to code.
· Simplified Activity Authoring: In this new model there are two ways to author activities:
o WorklfowElement based authoring mechanism: Exposes the richness and breadth of workflow runtime to the activities.
o Activity based authoring: Enables a declarative activity authoring (primarily by encapsulating other activities as part of activity definition).
· Several WorkflowRuntime enhancements:
o Much better support for high frequency dispatch scenarios. This is done by updating the internal scheduler’s machinery.
o Support for no-persist zones. This is extremely useful and much demanded feature for Asynchronous scenarios.
o Support for transaction flow into workflow runtime. E.g If when a transaction is flown as part of a WCF call, WF now can use that transaction in its workflow logic.
o Support for both Text and Binary serialization for the Persistence service. (WCF DataContract Serializer is now used for Serialization).
§ Support for extracting workflow state as part of persistence and store in a query able relational form.
· Distributed compensation using the WS-BussinessActivity.
· Partial Trust support
· Rules are now tightly integrated with activities and are executed in the same way as activities (no more CodeDom statements/expressions).
· New WPF based workflow and activity designers. (Writing a custom designer is now a breeze – killer GDI+ expertise not needed anymore J)
· Rich set of new activities (Database access, PowerShell etc)
· Support of FlowChart workflow type.
· Programming Model Alignment with WCF. (Support for WCF extension model as a replacement for WF Service Provider/ Service Container).
· Better integration among WF,WCF & WPF for writing composite application.
· Support for new enhanced Expression syntax (derived from VB).
· Dependency Properties are removed and new Activity Data Model is the preferred way to represent state and argument in activities.
· Plus much more ...
All of this goodness come with cost which is: WF 4.0 is not backward compatible with WF 1.0. However WF v4.0 will support side by side execution with WF v1.0 and there will be an Interop activity which will let you execute any WF 1.0 activity inside a WF v4.0 workflow.
In next few weeks I will talk more about these enhancements as I explore so stay tuned ...