building, running, and managing workflows on windows azure jürgen willis group program manager...
Post on 24-Dec-2015
214 Views
Preview:
TRANSCRIPT
Building, Running, and Managing Workflows on Windows AzureJürgen WillisGroup Program ManagerMicrosoft Corporation
AZR321
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
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 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); …}
demo Service Bus + WorkflowInvoker
Math ProcessingDownload link:http://code.msdn.microsoft.com/windowsazure/Simple-ServiceBus-Queue-bc548f79/view/Discussions
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
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
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!
Engage
UserVoice: http://bit.ly/wfuservoice WF blog: http://blogs.msdn.com/workflowteam Facebook: Windows Workflow Foundation pageFacebook Advisors: wf4advisors group
WF Dev Center: http://msdn.microsoft.com/wf Samples: WF 4 samples, WF 4.5 samplesCodeplex: http://wf.codeplex.com/Azure:
Azure Training KitWF Service in Azure HOL
JWillis@microsoft.com
Track Resources
Meetwindowsazure.com
@WindowsAzure @ms_teched
DOWNLOAD Windows Azure
Windowsazure.com/teched
Hands-On Labs
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
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
top related