In this PDC session, Mark Fussel, Program Manager at Microsoft, spoke of creating Workflow Services in .NET 4.0, and hosting and deploying them on Windows Server AppFabric.
AppFabric provides a set of features for hosting, managing and deploying workflow services:
- A set of runtime databases for persisting and monitoring the running instances.
- Persistence services.
- Hosting of the runtime.
- Auto-start applications – start the service when the machine starts.
- Pushing diagnostics information from the hosted services into a DB.
- Caching (formerly “Velocity”).
- Management Tools both in GUI and via PowerShell command-lets.
Impressive Live Demos were performed during the session, and below are my highlights and impressions of them:
- WebDeploy – Package/Publish settings on a WF service project which allows utilizing WebDeploy which allows very easily deploying a WF service to IIS
- Monitoring Capabilities – Consistent WCF and WF instrumentation integrated with Event Tracing for Windows (ETW), allowing to both check the status of an application and investigate what went wrong once it happens. The monitoring capabilities and drill-down menus absolutely make life much easier for the WF service developer.
- Configuration Capabilities – The configuration capabilities are also simply amazing, allowing you to configure almost anything, up to the level of a single workflow instance.
- Composition and correlation of service calls.
- Message Correlation – relating messages to each other or to application instance state. Today (in 3.5) correlation is performed inside a context header which can only be used in WCF-to-WCF based calls. In 4.0, correlation is based on the content of the message (e.g. “UserId” or any other application identifier) and is much more comprehensible and usable.
- Workflow Management Service for IIS/WAS is installed on the server and monitors the persistence DB, and it can manage these flows (restart, shutdown, etc.).
- Instances availability in a farm – scale your service easily.
The Bottom Line
WF services were much improved in this release of .NET, and they truly allow you to very easily model your business logic and expose it as a WCF service. When put together with the AppFabric application server, this is an amazing technology which can surely help in the development of many server applications. Go ahead, watch the video once it publishes, and be impressed!
Want to Know More?
Take a look at the Sela Developer Practice (SDP) homepage, and come join Sasha’s and mine session on “Building Workflow Services with WF 4.0 and WCF 4.0”, hear all the details in person and watch the demos live.
As we come towards to SDP, I’ll try and post several in-depth blog posts on this technology and explain all of the great new features which are present in it. Stay tuned!