Building, Running, and Managing Workflows on Windows Azure Jürgen Willis Group Program Manager...

42
Building, Running, and Managing Workflows on Windows Azure Jürgen Willis Group Program Manager Microsoft Corporation AZR321

Transcript of Building, Running, and Managing Workflows on Windows Azure Jürgen Willis Group Program Manager...

Building, Running, and Managing Workflows on Windows AzureJürgen WillisGroup Program ManagerMicrosoft Corporation

AZR321

Agenda

WF4 in Azure Overview Patterns for WF4 in Azure“Windows Azure Workflow”

Coming up next

“What’s new in WF 4.5”DEV329 – Dave Cliffe S330E

Tell me about yourself…

Know Work-flow

Know neitherKnow

Both

Know Azure

? ?

? ?

WF in Azure Overview

WF Scenarios in Azure Today

Collaboration & content managementBPMERPCRMOrder managementLaw enforcementAzure deploymentsData aggregation & enrichment

iCertis (www.icertis.com)SaaS ISV developed Contract Lifecycle Management Architecture

Running WCF Workflow Services in Worker rolesWorkflow definitions and instances in SQL AzureRehosted designer

See blog post for more details

Dynamic Workflow Loading

Rehosted designerWorkflow repository: SQL, blob storageDynamic workflow loading

WFQUEUE

http://www.thejoyofcode.com/uploads/CommentTasker.zip http://code.msdn.microsoft.com/Windows-Workflow-8697594e

WF4 in Azure

Available in Azure todayFor most scenarios, it just worksSupport added for SQL Azure in .NET 4 Platform Update 1

http://bit.ly/platformUpdate1 In Guest OS images today

.NET 4.5Date for Guest OS images TBDCan install yourself (MVP post here)

Azure Activities

Blob storageTable storageCache

http://wf.codeplex.com

Patterns for WF4 in Azure

IIS/WAS

Workflow Hosting Options in WF4

• No persistence• No bookmarks• No instance control

• Interactive (bookmarks)• Persistence• Tracking• Async execution• Single instance

• WCF activities• Activation / instance

mgmt• Config• OOB durable timers

IIS Extensions: Windows Server

AppFabric

• SQL tracking store• IIS tooling add-ins• Auto-start

+

• Function invocation • Button click handler• Activity testing WorkflowInvoker

Run

WorkflowApplication

Run

Resume

WorkflowServiceHostReceive

Receive

Send

• Host application integration

• WF-driven UI

• Integrated WCF messaging

• Message activation

WF in Azure Patterns

WorkflowApplicationASP application in Web RoleMessage processing in Worker Role

WCF Workflow ServicesIIS in Web RoleIIS in Web Role + Service Bus bindingsSelf-hosted in Worker Role

WorkflowApplication / WorkflowInvoker Patterns

WorkflowApplication WorkflowApplication instance = new WorkflowApplication(new Activity1());

instance.Idle = delegate(WorkflowApplicationIdleEventArgs e) { … }; instance.Completed = delegate(WorkflowApplicationCompletedEventArgs e) { … };

instance.Run();

instance.ResumeBookmark("PleaseContinue", null);

demo MVC + WorkflowApplication

Web Site RegistrationDownload link:http://wfmvc.codeplex.com/releases/view/89086

WorkflowInvoker w/ ServiceBus in Workerpublic override void Run(){ while (true) { using (var receivedMessage = solutionQueueClient.Receive(TimeSpan.FromSeconds(10))) { if (receivedMessage != null) {

this.ProcessReceivedMessage(receivedMessage); } } }}

private void ProcessReceivedMessage(BrokeredMessage receivedMessage){ var receivedMathProblem = receivedMessage.GetBody<MathProblem>(); var arguments = new Dictionary<string, object> { { "Problem", receivedMathProblem } }; var output = WorkflowInvoker.Invoke(this.processMessageDefinition, arguments); …}

WCF Workflow Service Patterns

demo Workflow Service Hello World

WCF WF Service + IIS in web role

Hello World

Considerations

TransactionsNo DTCSet SendReply.PersistBeforeSend

PersistenceRaise connection retries to 15+

WFSH with IIS in web roleHost type issueFixed in 4.5

Not yet supported in Windows Azure Websites

<sqlWorkflowInstanceStore_maxConnectionRetries="15"…/>

create table [System.Activities.DurableInstancing].[LockOwnersTable](

…[WorkflowHostType] uniqueidentifier

null, …)

e.g.:Deployment(39).ContosoMortgage.ContosoWebRole1.0_Web

demo Workflow Service Hello World

WCF WF Service + IIS in web role

Mortgage AcquisitionArticle: http://msdn.microsoft.com/en-us/magazine/ff646977.aspx

demo->sampleWorkflow Service with SB Bindings

Download link: http://msdn.microsoft.com/en-us/library/hh709041(v=VS.103).aspx

Windows Azure Workflow

Workflow Hosting Options

Azure Workflow•Multi-tenancy•High density•Artifact management•Monitoring & management•Service Bus integration

• Workflow as a Service

Capabilities

High Density & Multi-tenancyElastic ScaleActivity / Workflow Management Fully Declarative AuthoringInstance ManagementTracking and MonitoringService Bus IntegrationProcess-Message ConsistencyManaged Service ReliabilityWF4 Programming Model

An Example: Trouble Ticketing ISV

Fabrikam.comHelp Desk

SaaS Application

fabrikam.workflow.windows.net Fabrikam Activities

Fabrikam IT

Contoso Contoso Activities

ContosoIT

ContosoUsers

Contoso Workflows

PUT https://fabrikam.workflow.windows.net/Activity1

demo

Windows Azure Workflow

Help Desk ISV

What I didn’t have to worry about…Workflow / activity managementDB setup, configuration, managementScaling

Instance count managementEfficient message routingPersistence/tracking: DB scaleout

Sandboxing and resource fairness for multiple tenants Transactional consistencyActivity referencing and updatingDisaster recovery…

Roadmap

Under developmentTAP program initiatedPreview releases available later this yearExposed first as an on-prem release

Summary

WF 4.0 is available today in AzureWF 4.5 on its wayLeverages your existing WF knowledge

Windows Azure Workflow under developmentHosting and management solution for WF4Azure focused, symmetric

What are your Workflow scenarios and requirements in Azure?

We want to hear from you!

Resources

Connect. Share. Discuss.

http://northamerica.msteched.com

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources for IT Professionals

http://microsoft.com/technet

Resources for Developers

http://microsoft.com/msdn

Complete an evaluation on CommNet and enter to win!

Please Complete an Evaluation Your feedback is important!

Multipleways to Evaluate Sessions

Scan the Tagto evaluate thissession now on myTechEd Mobile

© 2012 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.

Workflow

Resource Hierarchy

Namespace

Workflow

Workflow

ScopeScope

Examples: - Applications- Tenants in a

SaaS ISV application

Resource Model

Scope

Activities

Workflows

Config

Instances

Notifications

Scope

Scope properties:

Name / Description

Access Claims

Status

Capabilities & Extensibility

WF Value Props

LongRunning

Composition & Coordination

ApplicationVisibility

CustomAuthoring