Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library...

28
Workflow Services and Windows Server AppFabric (formerly codename “Dublin”) Mark Fussell Program Manager Microsoft Corporation FT14

description

Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior Tracking Behavior

Transcript of Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library...

Page 1: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Workflow Services andWindows Server AppFabric (formerly codename “Dublin”)

Mark FussellProgram ManagerMicrosoft Corporation

FT14

Page 2: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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”

Page 3: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Workflow Service Host

Persistence(Instances)

Monitoring

Activity LibraryReceive

WCF and WF in .NET 4

Send

...

Management Endpoint

Persistence Behavior

Tracking Behavior

message

Page 4: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 5: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Building and Managing Workflow Services with Visual Studio 2010and Windows Server AppFabricdemo

Page 6: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 7: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Composition and Coordination of Services

demo

Page 8: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 9: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 10: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Message Correlation

demo

Page 11: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Windows Server

.NET Framework

Windows Server AppFabric

Services

Management Tools

IIS/WAS

Workflows

Monitoring

Runtime DatabasesPersistence Monitoring

HostingPersistence CachingMonitoring

IIS Manager Modules

PowerShell

Page 12: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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?”

Page 13: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 14: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Health Monitoring and Troubleshooting Workflow Servicesdemo

Page 15: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Windows Server

.NET Framework

Windows Server AppFabric

Services

Management Tools

IIS/WAS

Workflows

Runtime DatabasesPersistence Monitoring

HostingPersistence CachingMonitoring

IIS Manager Modules

PowerShell

Persistence

Page 16: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 17: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 18: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 19: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Instance Availability and Control of Workflow Services

demo

Page 20: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 21: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 22: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 23: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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

Page 24: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

Q&A

Page 25: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation

forms online atMicrosoftPDC.com

Page 26: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.

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….

Page 27: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.
Page 28: Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.