Sample Fill demo WorkflowServiceHostFactory Tracking Persistence Custom Behaviour Creation Endpoint...

Preview:

Citation preview

Hardcore Workflow 4DEV404

Peter Goodman & Stef SewellLead Engineer, Software ArchitectADERANT

Agenda

Workflow Runtime

Workflow Service Host Extensibility

Scaling out workflow services with Windows Server AppFabric

Key Workflow ConceptsPDC09 – WF4 Inside Out

Programs are data(opacity begone)

Scheduler-based program execution(stackless & serializable)

Runtime-mediated code rendezvous(thou shalt not block the thread)

Natural control flow(run it the way you picture it)

Workflow RuntimeProgram Execution

Schedules execution of activity treesSingle threaded scheduler processing queue of work itemsUse async activities for I/O

Bookmarking Instance passivation to release resources Instance resumption on continuation / callback

demo

Runtime Scheduler

Workflow RuntimeHousekeeping

Persistence of stateSerialize instance to disk / databaseCornerstone of scale-outExtensible

Emits tracking informationETW basedExtensible

Executing a Workflow

WorkflowInvoker.Invoke(Activity workflow)

WorkflowApplication app = new WorkflowApplication(Activity workflowDefinition)

myWorkflowService.xamlxWorkflowServiceHostScale out using Windows Server AppFabric

WorkflowServiceHostFactoryFine grained control over…

WorkflowServiceHostFactory

Tracking Persistence

Custom Behaviour

Creation Endpoint

Control Endpoint

Exception Behaviour

Custom Extensions

Idle Behaviour

Security SerializationStateful Stateless

Creation Context

demo

Workflow Service Host Factory

Windows Server AppFabricEnterprise class service hosting on premise

Workflow Management ServiceWorkflow Instance LockSQL Server 2008 Persistence Provider

Windows Server extension that provides the elastic scale-outof workflow services across a load balanced cluster.

Workflow Persistence Settings

Workflow Persistence SettingsScale-out configuration

Scaling out WF & WCF ServicesConfigure Programmatically via PowerShell

PS> import-module ApplicationServerPS> get-command –module ApplicationServer

# PowerShell OnlyPS> Set-ASMonitoringDatabaseArchiveConfiguration

IIS

Scaling out WF & WCF ServicesSetting up Kerberos for Windows Authentication

Load Balancer

webapplication

service.svc

AppPoolAPP1 machine account

loadbalancer.domain.local

IIS

webapplication

service.svc

AppPoolAPP2 machine account

APP1

APP2

IIS

Scaling out WF & WCF ServicesSetting up Kerberos for Windows Authentication

Load Balancer

webapplication

service.svc

AppPoolDomain\service account

loadbalancer.domain.local

IIS

webapplication

service.svc

AppPoolDomain\service account

APP1

APP2

Scaling out WF & WCF ServicesAdding the SPN

setspn –a HTTP/loadbalancer.domain.local serviceAccount

Scaling out WF & WCF ServicesIIS Configuration

appcmd set config /section:windowsAuthentication /useAppPoolCredentials:true

appcmd set config /section:windowsAuthentication /authPersistNonNTLM:true

Scaling out WF & WCF ServicesInternet Zone Security

Wrap up

Single-threaded scheduler – use Async I/O

WorkflowServiceHostFactory allows extensive customization of the WorkflowServiceHost

Windows Server AppFabric allows enterprise scale out of workflow services

questions

Related Content

Breakout Sessions (session codes and titles)

Breakout Sessions (session codes and titles)

Breakout Sessions (session codes and titles)

Breakout Sessions (session codes and titles)

Breakout Sessions (session codes and titles)

Find Me Later At…

Track Resources

Resource 1

Resource 2

Resource 3

Resource 4

Resources

Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

http://newzealand.msteched.com

Connect. Share. Discuss.

Evaluate your sessionson CommNet and go inthe draw to win instantprizes

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS

PRESENTATION.

Recommended