![Page 1: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/1.jpg)
Microsoft Azure Workflows,
A prediction
![Page 2: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/2.jpg)
Nice to meet you
Sam VANHOUTTE
CTO
6 year - BizTalk V-TSP
1st year - Integration MVP
+32 474 849 993
@SamVanhoutte
be.linkedin.com/in/samvanhoutte/
> 60 Active integration customers
International Focus -HQ in BEFocused on integration solutions
2000 Belgium2004 France2013 Portugal
60 employees> 50 consultants BizTalk certifiede-news + SoMe
2012 & 2013
Partner of the Year
Award FinalistApplication Integration
![Page 3: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/3.jpg)
Agenda
• Microsoft & Workflow – a long history
• Workflow designer, activities• Workflow Manager
• Architecture
• Multi-tenancy & isolation
• Pub / sub
• State machines• Conclusions & future
![Page 4: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/4.jpg)
Microsoft & WorkflowA bit of history
![Page 5: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/5.jpg)
Workflow history
Oslo
Repository, M, Quadrant
AppFabric
WCF Workflow Services
Azure Workflow
Service Bus & SharePoint
2004 > 2007 - 2010 2010 > 2013 >
BizTalk Server
XLANG/s
Modeling
![Page 6: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/6.jpg)
The ART of Workflow*
* Copyright : Dave Cliffe : Program Manager Workflow
➔ Declarative authoring of programs that coordinate work, using:➔ Activities
➔ Runtime
➔ Tooling
![Page 7: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/7.jpg)
Workflow improvements in .NET 4.5
Authoring ImprovementsBe more efficient when authoring your workflows
VersioningBasic building blocks to enable building a versioning story
Runtime EnhancementsImprove runtime performance and extensibility
![Page 8: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/8.jpg)
Workflow ManagerAn overview
![Page 9: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/9.jpg)
Workflow Manager
10
Design goals
➔ Multi-tenancy
➔ High-density
➔ Isolation & security
➔ Biggest customer ?
![Page 10: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/10.jpg)
What is Workflow Manager?
➔ Scale & Reliability
➔ Multi-tenancy
➔ Cloud-based Messaging
➔ WF4 Prog Model
HTTP &HTTPS
WF Backend(.EXE)
WF Gateway(IIS)
.NET Client
Service Bus
WF Resources
Activity Prog Model
Core Runtime
Activity Prog Model
![Page 11: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/11.jpg)
Architecture
![Page 12: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/12.jpg)
Deployment diagram
13
![Page 13: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/13.jpg)
Workflow Manager Infrastructure
IIS
One App Pool: WorkflowMgmtPool
One site:Workflow Management Site
Windows Services
WorkflowService BackendServiceBus BackendServiceBus GatewayFabricHostSvc
SQL
Workflow Databases• WFManagementDB• WFInstanceManagementDB• WFResourceManagementDB
Service Bus Databases• SBManagementDB• SBGatewayDatabase• SBMessageContainerxx
![Page 14: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/14.jpg)
Installing WF Manager
➔ Install➔ Using WEB Platform Installer (or download center)
➔ Supported on Windows Server 2012, Windows 8, Azure VMs
➔ Configure➔ Using configuration wizard or PowerShell
➔ Create / Join a Farm (high availability / scale-out)
➔ Supported back-ends➔ SQL Server (Express + higher) & SQL Azure
➔ Service Bus 1.0 for Windows Server (not service!)
![Page 15: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/15.jpg)
Testing & Debugging
![Page 16: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/16.jpg)
Microsoft.Workflow.TestServiceHost
17
➔ Part of Workflow Manager Tools for Visual Studio (2012 only!)
➔ TestService (console app) ➔ Deploy & run workflows in it
➔ Attach Visual Studio to the process
➔ Update exe.config
➔ Some limitations
![Page 17: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/17.jpg)
Multi-tenancy Through scopes & isolation
![Page 18: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/18.jpg)
Scopes
➔ Workflow manager scope➔ Dedicated service bus topic
➔ Gets created at deployment of first workflow
➔ “A scope is a named and securable container for Activities, Workflows, Instances, configuration and child Scopes.”
Root
Tenant01
HRM
Sales
Tenant02
Production
TenantXX
![Page 19: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/19.jpg)
Sandboxing
20
Workflow Manager 1.0 Trusted Surface
➔ Set of trusted types & activities
➔ Fully declarative authoring➔ Compositie custom activities possible
➔ Whitelisting custom activities possible ➔ AllowedTypes.xml (WFWebRoot\bin & Artifacts folder)
➔ Disable sandboxing
• Set-WFServiceConfiguration
–ServiceUri:https://server:12290
–Name:WorkflowServiceAllowUnsafeTypes
-Value:true
![Page 20: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/20.jpg)
Sandboxing
.NET Data Types
• String
• DateTime & TimeSpan
• Int32 & Double
• Boolean
• Guid
• ICollection & IList
• IDictionary & KeyValuePair
• DynamicValue
• Exception
• Uri
WF Manager activities
• Dynamic Value
• Http Activities
• Pub/Sub Activities
• Time Activities
• Configuration & External variables
• Data Type functions
System.Activities, except:
• InvokeMethod
• New
• Cast
• VisualBasicValue, VisualBasicReference
• LambdaValue, LambdaRefernce
• TransactionScope
• Persist
21
Workflow Manager 1.0 Trusted Surface
![Page 21: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/21.jpg)
Using complex data structures
➔ Recursive key-value pairs
➔ Address, using paths➔ Customer/FirstName > John
➔ Company > Contoso
➔ Regions(2) > LA
22
DynamicValues
Name Value
Customer Name Value
FirstName John
LastName Doe
Age 42
Company Contoso
Regions EUUSLA
![Page 22: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/22.jpg)
External communicationPub/Sub & Http activities
![Page 23: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/23.jpg)
Http activities
24
➔ No ‘HttpReceive’ activities➔ Use REST api
➔ or Pub/Sub activities
➔ or WorkflowClient
➔ Support for security tokens, REST services …
![Page 24: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/24.jpg)
Pub/Sub activities
25
➔ Leveraging Service Bus Topics & Subscriptions
Activities
➔ BuildMatchAllFilter activity > define filter
➔ Subscribe activity > create SB subscription behind the scenes
➔ ReceiveNotification➔ With Filter > temporary subscription, deleted after 1st message
➔ Using SubscriptionHandle > subscription remains existing
➔ Unsubscribe (implicitly when subscriptionhandle out of scope)
![Page 25: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/25.jpg)
Demo 01Pub / Sub & Http activities
Integration with WABS
26
![Page 26: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/26.jpg)
27
Fancy Order App
Order ProcessWorkflow Manager
BizTalk Services
Order Web API
On prem SQL databaseFTP Server
EDIFACT DESADVON COMPLETE
ADAPTER SERVICE
![Page 27: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/27.jpg)
Demo 02State machines
Twilio phone call orchestrated by WF Manager
28
![Page 28: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/28.jpg)
Twilio phone call state machine
29
Twilio API
Flight callState machine
Flight check Web API
Service bus topic
Tracking subscriptionPhone logger service
Phone front end
SignalR
SvcBusMessage
Pump
![Page 29: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/29.jpg)
Level 3
Level 2
Level 1 Welcome message
1. Check in
1. With luggage
2. Without luggage
2. Upgrade flight
1. To business
2. To 1st
class
Cancel flight
1. Confirm 2. Leave
Contest : call <removed> (toll free)
![Page 30: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/30.jpg)
Conclusions
Workflow manager is multi-tenant & cloud-ready platform
Look out for upcoming BPM features by the WABS team
BPMN Support announced
![Page 31: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome](https://reader031.vdocuments.us/reader031/viewer/2022022005/5ab3c4537f8b9a6b468eb827/html5/thumbnails/31.jpg)
Thank you!
Keep in touch.
LinkedInblog.codit.eu codit.eu Newsletter
@SamVanhoutte
Pay us a visit