230 likes | 423 Views
Introducing Windows Workflow Services in .NET 4 and Windows Server AppFabric (formerly codename “Dublin”). Ken Casada Developer Evangelist Microsoft Switzerland kcasada@microsoft.com http://blogs.msdn.com/swiss_dpe_team/Default.aspx. Workflow Service = WCF + WF.
E N D
Introducing Windows Workflow Services in .NET 4 and Windows Server AppFabric (formerly codename “Dublin”) Ken Casada Developer Evangelist Microsoft Switzerland kcasada@microsoft.com http://blogs.msdn.com/swiss_dpe_team/Default.aspx
Workflow Service = WCF + WF • Think "WCF on the outside, WF on the inside“ • WCF exposes external interface • WF describes internal flow & state transitions
WF 4.0 Basics demo
WF 4.0 Basics (demo summary) • XAML-only workflows are the new default • Unified model between WF, WCF, and WPF • WF 4.0 simplifies data flow by adding: • Arguments (In, Out, InOut), variables, and expressions • Significant improvements in performance and scalability • New FlowChart Workflow • Improved WF 4.0 designer (WPF based) / Designer Rehosting • WF 4 Guidance Migration Guidance!!!
Workflow Service = WCF + WF • Think "WCF on the outside, WF on the inside“ • WCF exposes external interface • WF describes internal flow & state transitions • There is great potential in WF + WCF • .NET 3.0 didn't provide any integration • .NET 3.5 added initial WCF support • .NET 4.0 is investing heavily in this area Workflow Services !!!
Workflow Services demo
Break Startingagainat 10:25
Scenario for using Workflow Services? • Calls a database, calls another service, or uses the file system • Coordinates parallel work • Coordination of messages to worklfow instances with the use of message correlation (context / content based correlation) • Long-running applications: wait for external input for activation such as messages, thereby using resources efficiently.
WCF and WF in .NET 4 Workflow Service Host Management Endpoint Persistence (Instances) Persistence Behavior Activity Library message Receive Monitoring Send Tracking Behavior ...
Introducing Windows Workflow Services in .NET 4 and Windows Server AppFabric (formerly codename “Dublin”) Ken Casada Developer Evangelist Microsoft Switzerland kcasada@microsoft.com http://blogs.msdn.com/swiss_dpe_team/Default.aspx
Windows Server AppFabric Composed by • Caching (formerly codename “Velocity”) • Service and Workflow Management (formerly codename “Dublin”)
Windows Server AppFabric(formerly codename “Dublin”) Evolution of WAS/IIS and Windows Application Server role to run and manage WCF and WF services Ships as part of 2010Wave IIS Manager Modules Windows Server Windows Server AppFabric Management Tools PowerShell Services Workflows Hosting Persistence Monitoring Caching .NET Framework IIS/WAS Runtime Databases Persistence Monitoring
Windows Server AppFabric Installation Requirements • Windows 7 • Windows Server 2008 or Server 2008 R2 • Windows Vista • .NET 4 • SQL Server 2008 • Windows PowerShell V2 Note: AutoStartfeature requires Windows7 or Windows Server 2008 R2
Persisting WF Services • Reliability The ability to persist (save) workflow state and resume workflow instances that have been idle for a defined time interval. • Scalability The ability to unload idle workflow instances from memory to efficiently use resources The capability of retrying to load workflow instances when a message arrives on a different computer in the host farm, and gracefully handling retries when there is a lock on the instance • Availability The recovery of saved workflow state when an application, process, or computer terminates unexpectedly
Persistence • Workflow Management Service for IIS/WAS • A Windows Service installed with the Windows Server AppFabric that monitors the Persistence DB • Instance restart including graceful shutdown • Activates durable timers • Executes instance control commands Windows Server AppFabric Workflow Service Management Endpoint (ICE) Workflow Management Service Persistence DB Instance 123 | data 456 | data 789 | data 011 | data
Monitoring WF Services • Consistent WCF and WF instrumentation integrated with Event Tracing for Windows (ETW). • ETW provides great performance • Scenarios • Health Monitoring • How well is my app running ? • Troubleshooting: diagnosing failure events • What has failed with my app?
Monitoring Windows Server AppFabric Monitoring Tools Workflow Service WCF Trace ETW Tracking Participant Monitoring Database Event Collector Service Tracking Profile • Event Collector Service • A Windows Service installed with the Windows Server AppFabric • Collects WCF and WF instrumentation events into the Monitoring DB
Instance Availability in a Farm Load Balancer Windows Server AppFabric • Windows • Server • AppFabric • Windows • Server • AppFabric Workflow Service Workflow Service Workflow Service Workflow Management Service Workflow Management Service Workflow Management Service Persistence DB Instance 123 | data 456 | data 789 | data 011 | data
Windows Server AppFabric Availability • Today in Beta 1 (announced at PDC 2009) • RC planned shortly after .NET 4 release • RTM ~ 2-3 months after .NET 4 release
Call to Action • Download Visual Studio 2010 and .NET 4 Beta 2 • http://msdn.microsoft.com/vstudio • Download Windows Server AppFabric Beta 1 • http://msdn.microsoft.com/appfabric
Summary • Workflow is ideally suited for business services • Workflow services handle complex coordination • Composition of services • Message correlation to instances • The Windows Server AppFabric supports WCF and Workflow services by • Providing runtime databases • Capabilities for monitoring, persistence, hosting and caching • Tooling and scripting to manage and monitor WCF and WF services