Workflow Services andWindows Server AppFabric (formerly codename “Dublin”)
Mark FussellProgram ManagerMicrosoft Corporation
FT14
Challenges> Work is increasingly distributed
> “I want the benefits of service-orientation and help with managing the complexity”
> This leads to complex code for coordination> “I want to focus on solving the business problem”
> Configuring an environment to deploy and run services is difficult> “I want to get my WF and WCF services up and
running”> Minimal management and visibility into
the operation of services in production> “I want to easily monitor and control running WF
and WCF services”
Workflow Service Host
Persistence(Instances)
Monitoring
Activity LibraryReceive
WCF and WF in .NET 4
Send
...
Management Endpoint
Persistence Behavior
Tracking Behavior
message
Windows Server
.NET Framework
Windows Server AppFabric
Services
Management Tools
IIS/WAS
Workflows
Windows Server AppFabric(formerly codename “Dublin”)
Runtime DatabasesPersistence Monitoring
HostingPersistence CachingMonitoring
IIS Manager Modules
PowerShell
> Evolution of WAS/IIS and Windows Application Server role to run and manage WCF and WF services
> Ships as part of 2010 Wave
Building and Managing Workflow Services with Visual Studio 2010and Windows Server AppFabricdemo
Coordination of WorkAsynchronous Messaging
Supplier One
ServiceSupplier
Two Service
Best PriceWorkflowService
Add/Remove Item
Calculate Best Price Get Price
Get Price
PurchaseService
Coordinate multiple service calls
Composition and Coordination of Services
demo
Message CorrelationThe mechanism for relating messages to each other or to application instance state
WorkflowService
1. Start
3. Send (key 3)
4. Receive (key 3)
Receive
Send
Receive
Persistence DB(Instances)
2. Save (key 3)
5. Load (key 3)
6.Complete
> Context Based Correlation> Content Based Correlation <-New in .NET 4
Instance 123 | data
456 | data
789 | data
A11 | data
Key 123 | key 1
456 | key 2
789 | key 3
A11 | key 4
create correlation key3
Persistence DB(Instances)
Instance 123 | data
456 | data
789 | data
A11 | data
Key 123 | userid 1 456 | userid 2
789 | userid 3
A11 | userid4
Message CorrelationThe mechanism for relating messages to each other or to application instance state
1. Add item (userId 3)
3. View items (userId 3)
5. Best Price (userId 3)
Receive
Receive
Receive
2. Save (userId 3)
4. Load (userId 3)
6. Load (userId 3)
Content Based Correlation
create correlation
Message Correlation
demo
Windows Server
.NET Framework
Windows Server AppFabric
Services
Management Tools
IIS/WAS
Workflows
Monitoring
Runtime DatabasesPersistence Monitoring
HostingPersistence CachingMonitoring
IIS Manager Modules
PowerShell
Monitoring> Consistent WCF and WF instrumentation
integrated with Event Tracing for Windows (ETW)> WCF trace events> WF tracking events
> Improved performance means less impact on your applications
> Visibility into the operation of services> Scenarios
> Health monitoring – “How well is my app running?”
> Troubleshooting – “What has failed with my app?”
Windows Server AppFabric
Workflow Service
Monitoring
Database
Monitoring
ETW Event CollectorService
Monitoring Tools
> Event Collector Service> A Windows Service installed with the Windows
Server AppFabric> Collects WCF and WF instrumentation events
into the Monitoring DB
WCFTrace
Tracking Participant
Tracking
Profile
Health Monitoring and Troubleshooting Workflow Servicesdemo
Windows Server
.NET Framework
Windows Server AppFabric
Services
Management Tools
IIS/WAS
Workflows
Runtime DatabasesPersistence Monitoring
HostingPersistence CachingMonitoring
IIS Manager Modules
PowerShell
Persistence
Persistence> Storing WF Application State> Ensures that durable Workflows can be
recovered and processing resumed> Scenarios
> Reliability - Long running workflows> Availability - Recovery when application or
machine crashes> Scalability - A workflow unloads idle
instances from memory; the retry loading of locked instances
Persistence
Windows Server AppFabric
PersistenceDB
Workflow Service
WorkflowManagemen
tService
Instance 123 | data
456 | data
789 | data
011 | data
> 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
Manageme
ntEndpoint
Workflow Service User Model
Operator Commands:• Suspend, Resume, Terminate and Cancel
Running Active - In Memory
Idle – Persisted
SuspendedReason:• Exception code• Exception text
Completed
Suspend
Resume
• Successful Completion• Terminate• Cancel
•Terminate• Cancel
Instance Availability and Control of Workflow Services
demo
Instance Availability in a Farm
Windows Server
AppFabric
Windows Server
AppFabric
Load Balancer
PersistenceDB
Workflow Service
Workflow Service
WorkflowManageme
ntService
WorkflowManageme
ntService
Windows Server
AppFabric
Workflow Service
WorkflowManageme
ntService
Instance 123 | data
456 | data
789 | data
011 | data
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
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
Additional SessionsSVR15 Microsoft BizTalk Server Futures and Roadmap Tuesday,
3:00 502A
SVR16 Connecting Applications with the Microsoft BizTalk Enterprise Service Bus Toolkit
Tuesday, 4:30 515B
FT55 Developing REST Applications with the .NET Framework Wednesday, 11:30 Hall E-151
FT17 Spice Up Your Applications with WF 4 Wednesday, 1:30 515A
FT04 Windows Workflow Foundation 4 from the Inside Out Wednesday, 3:00 515A
CL06 Networking and Web Services in Silverlight Wednesday, 3:00 Hall E-151
FT26 Scaling Your Data Tier with Windows Server AppFabric
Wednesday, 4:30 502A
FT13 What’s New for Windows Communication Foundation 4 Thursday, 10:00 Petree Hall D
FT14 Workflow Services and Windows Server AppFabric Thursday, 11:30 Petree Hall D
FT27 Application Server Extensibility with Windows Server AppFabric and.NET 4
Thursday, 1:45 Petree Hall D
Q&A
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation
forms online atMicrosoftPDC.com
Learn More On Channel 9> Expand your PDC experience through
Channel 9
> Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses
channel9.msdn.com/learnBuilt by Developers for Developers….
Top Related