Workflow Manager - a technical overview (Sam Vanhoutte)


Published on

Workflow manager was shipped together with Service Bus for Windows Server as part of the major SharePoint 2013 release. Microsoft workflow manager is built to host and manage workflows in a multi-tenant environment at a high scale, such as Windows Azure.

In this session, Sam will give an architectural overview of Workflow Manager and position it in various scenarios. It will also be compared WCF Workflow Services. The concepts of custom activities, deployment, management and workflow hierarchy will be explained. A cloud-based workflow solution will be demonstrated, showing integration between Windows Azure Service Bus, Workflow Manager, Windows Azure BizTalk Services and on premises systems.

After the session, attendees should be able to understand the capabilities of Workflow Manager and should have seen how to build distributed workflows in a scalable cloud environment.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • BizTalk ServerXLANG since 2004XLANG with Vision from 2000-2002OsloModeling with Quadrant or MRepository contained all modelModel is the executionResulted in Odata, SQL Server Modeling
  • [assembly: XmlnsDefinition("wf://$Current/$Activities", "SearchMovieSample")]
  • The Workflow farm consists of two components: the Workflow Manager and a service bus that facilitates the communication among components within the farm by using the Open Authentication (OAuth protocol). The service bus is a messaging platform that has been running in Azure for some time that now can run on on-premises servers. The Workflow Manager uses the service bus as its core state management and messaging layer. All communication between SharePoint and the Workflow Manager is message based using a well-defined contract for events and management operations happening from SharePoint into the Workflow Manager using a series of Representational State Transfer (REST) HTTP calls. Therefore, the service bus is used for reliable message delivery and a message broker that also keeps the message state and workflow instance state consistent.All communications with the workflow farm uses either the HTTP or HTTPS protocol. On servers within the workflow farm, within Internet Information Server (IIS) Manager, you will see one application pool, WorkflowMgmtPool, and one site, Workflow Management Site. A Workflow Manager server also contains the following four Windows NT services:
  • All communications with the workflow farm uses either the HTTP or HTTPS protocol. On servers within the workflow farm, within Internet Information Server (IIS) Manager, you will see one application pool, WorkflowMgmtPool, and one site, Workflow Management Site. A Workflow Manager server also contains the following four Windows NT services:
  • Explanation: Path Evaluator Tool :
  • Workflow Manager - a technical overview (Sam Vanhoutte)

    1. 1. Workflow Manager Running durable workflows in the cloud and on prem
    2. 2. Nice to meet you CTO +32 474 849 993 @SamVanhoutte BizTalk V-TSP Integration MVP Sam VANHOUTTE 2012 & 2013 2000 Belgium 2004 France 2013 Portugal Partner of the Year Award Finalist Focused on integration solutions > 60 Active integration customers Application Integration International Focus HQ in BE e-news + SoMe 60 employees > 50 consultants BizTalk certified
    3. 3. Agenda • • • Microsoft & Workflow – a long history • Workflow designer, activities • AppFabric Workflow Services Workflow Manager • Architecture • Multi-tenancy & isolation • Pub / sub • Demo Conclusions
    4. 4. Microsoft & Workflow A bit of history
    5. 5. Workflow history 2004 > 2007 - 2010 2010 > 2013 > BizTalk Server Oslo AppFabric Azure Workflow XLANG/s Repository, M, Quadrant WCF Workflow Services Service Bus & SharePoint Modeling
    6. 6. The ART of Workflow* ➔ Declarative authoring of programs that coordinate work, using: ➔ ➔ ➔ Activities Runtime Tooling * Copyright : Dave Cliffe : Program Manager Workflow
    7. 7. Workflow improvements in .NET 4.5 Authoring Improvements Be more efficient when authoring your workflows Versioning Basic building blocks to enable building a versioning story Runtime Enhancements Improve runtime performance and extensibility
    8. 8. AppFabric for Windows Server WCF WorkflowServiceHost ➔ ➔ ➔ Hosting Services Hosting Workflows Caching Management Tools IIS Manager Modules PowerShell Services Persistence ➔ AppFabric connect for BizTalk Server Code named: Dublin & Velocity Workflows Hosting Monitoring Caching Windows Server AppFabric .NET Framework Persistence Runtime Databases Monitoring IIS/WAS Windows Server 8
    9. 9. Demo AppFabric Workflows & BizTalk Sentinet Get Create AppFabric WF BizTalk orch. 9
    10. 10. Workflow Manager An overview
    11. 11. What is Workflow Manager? Design goals WF Resources HTTP & HTTPS ➔ ➔ ➔ ➔ ➔ Scale & Reliability Multi-tenancy .NET Client Cloud-based Messaging Turnkey WF4 Prog Model WF Backend (.EXE) WF Gateway (IIS) Activity Prog Model Activity Prog Model Core Runtime Service Bus
    12. 12. Hosting .NET workflows • • Async execution of a single workflow instance with bookmarks and tracking Explicit, fine-grained control of the WF runtime Host application integration WF-driven UI • Async execution of multiple workflow instances of a single definition Supports durable timers, persistence, tracking, WCF SOAP, correlation, etc. • • Systems integration Service-based architecture • • • Multi-tenant, scalable hosting of workflows Turnkey artifact management Supports durable timers, persistence, HTTP, pub/sub using Service Bus, etc. • WorkflowApplication Activity Prog Model Core Runtime • • • .NET 4+ -----------------------WF Manager Extensible SaaS applications Host Services WorkflowServiceHost Activity Prog Model Core Runtime Host Services Workflow Manager Activity Prog Model Core Runtime Host Services
    13. 13. Architecture
    14. 14. Deployment diagram 14
    15. 15. Workflow Manager Infrastructure IIS SQL One App Pool: WorkflowMgmtPool One site: Workflow Management Site Windows Services WorkflowService Backend ServiceBus Backend ServiceBus Gateway FabricHostSvc Workflow Databases • WFManagementDB • WFInstanceManagementDB • WFResourceManagementDB Service Bus Databases • SBManagementDB • SBGatewayDatabase • SBMessageContainerxx
    16. 16. Installing WF Manager ➔ Install ➔ ➔ ➔ Configure ➔ ➔ ➔ Using WEB Platform Installer (or download center) Supported on Windows Server 2012, Windows 8, Azure VMs 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!)
    17. 17. Testing & Debugging
    18. 18. Microsoft.Workflow.TestServiceHost ➔ ➔ 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 18
    19. 19. Multi-tenancy Through scopes & isolation
    20. 20. 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
    21. 21. Sandboxing Workflow Manager 1.0 Trusted Surface ➔ ➔ Set of trusted types & activities Fully declarative authoring ➔ ➔ Compositie custom activities possible Whitelisting custom activities possible ➔ ➔ AllowedTypes.xml (WFWebRootbin & Artifacts folder) Disable sandboxing • Set-WFServiceConfiguration –ServiceUri:https://server:12290 –Name:WorkflowServiceAllowUnsafeTypes -Value:true 21
    22. 22. Sandboxing Workflow Manager 1.0 Trusted Surface .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 22
    23. 23. Using complex data structures DynamicValues ➔ ➔ Recursive key-value pairs Address, using paths ➔ ➔ ➔ Customer/FirstName > John Company > Contoso Regions(2) > LA Name Value Customer Name FirstName LastName Value John Doe Age Contoso EU US LA 42 Company Regions 23
    24. 24. External communication Pub/Sub & Http activities
    25. 25. Http activities ➔ No ‘HttpReceive’ activities ➔ ➔ ➔ ➔ Use REST api or Pub/Sub activities or WorkflowClient Support for security tokens, REST services … 25
    26. 26. Pub/Sub activities 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) 26
    27. 27. Conclusions  BPMN support announced at BTS summit  SharePoint is biggest customer of Workflow Manager  Workflow manager is multi-tenant – cloud-ready platform  Look out for upcoming BPM features by the WABS team
    28. 28. Thank you! Keep in touch. Call or mail us. Ask questions. Happy to help. LinkedIn Twitter blog Newsletter Pay us a visit