Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Windows Workflow Foundation Demystified - overview and business cases

10,547 views

Published on

Windows Workflow Foundation business cases, evolution, architecture, .net core future

Published in: Software
  • Be the first to comment

Windows Workflow Foundation Demystified - overview and business cases

  1. 1. Windows Workflow Demystified // overview, business cases Andrei Oros CTO @ Flowster Solutions GmbH orosandrei@gmail.com | @orosandrei
  2. 2. Andrei Oros Head of Software Development | CTO at Flowster Solutions GmbH 10+ years of experience in Software Engineering linkedin.com/in/orosandrei Computer Science Engineer Master Business Administration & Strategic Management andreioros.com | github.com/orosandrei | @orosandrei | orosandrei@gmail.com
  3. 3. github.com/orosandrei
  4. 4. Agenda Business cases Evolution Technology Future Demo
  5. 5. What is Windows Workflow Foundation ?
  6. 6. • Human Workflows • Application Workflows • Enterprise Integration Workflows • Data Integration Workflows ... Windows Workflow Foundation (WWF) .NET technology for defining, designing, hosting & running processes as workflows .NET 4.5 .NET 3.5 .NET 3 .NET 4.6 .NET 4 WF 3x WF 4, interop 3x major improvements minor updates
  7. 7. Who uses it ?
  8. 8. Robotic Process Automation Central European Startup Awards (CESA): startup of the year & Best AI Startup * cofounders: Daniel Dines (CEO) & Marius Tirca (CTO)
  9. 9. IT Automation
  10. 10. IT Automation
  11. 11. #InsurTech #14 Insurtech Influencer The InsTech Power 100 published by: Instech London https://www.rise.global/instech/r/2526963 Kristian Feldborg
  12. 12. Microsoft VSTS | TFS 2017 RTM | XAML builds We introduced XAML build automation capabilities based on the Windows Workflow Foundation in Team Foundation Server (TFS) 2010. We released another version of XAML builds in TFS 2013. After that we sought to expand beyond .NET and Windows and add support for other kinds of apps that are based on operating systems such as macOS and Linux. It became clear that we needed to switch to a more open, flexible, web-based foundation for our build automation engine. In early 2015 in VSTS, and then in TFS 2015, we introduced a simpler task- and script- driven cross-platform build system. https://docs.microsoft.com/en-us/vsts/build-release/actions/migrate-from-xaml-builds
  13. 13. Microsoft Runbooks in Azure Automation: Windows PowerShell Workflows
  14. 14. When should we use WWF ? Business cases • Long Running Business Logic • Stateful Processes • Often Changing Logic • Transparency of Process & Execution • Business Process Management Engines • Integration - Middleware Layer • Automation * ... Examples • Banking - credit req. • HR - on/off boarding • Purchasing - Orders • Document Management • IT Operations & Infrastructure Management ...
  15. 15. Evolution 2006 - present
  16. 16. WWF vs BizTalk Server Visual Studio Windows Workflow Foundation .NET 3 WWF <-> .NET 3 BTS R2 - WWF & WCF Interceptors BTS Extensions WWF SDK (2007) btsSend & btsReceive BizTalk Server 2006 Orchestration Design Tools Messaging WF SDK & Interceptors ...
  17. 17. WF 4x, interop 3.5, 3 WF 3.5, 3 WF 3
  18. 18. .NET 4 • Re-Architecture of Core Model, Runtime, Hosting, Integration, Tooling • Great Performance improvements • Designer rehosting made easier • Limited Compatibility with WF 3x (Interop) WWF 4x highlights .NET 4.5 Designer improvements • Usability - designing, navigation • Annotations - activities, vars, args • C# expressions support New Activities State Machine Workflow Services Versioning • Workflow Identity • Dynamic Update .NET 4.6 • small update - resume timeout interval for non-protocol bookmarks
  19. 19. Technology
  20. 20. Windows Workflow Foundation Workflow Runtime Hosting Tooling Activity LibraryActivitiesWF Logic Visual Studio Rehosted Designer PS Script Editors Ext.TrackingPersistence ... WorkflowServiceHost * WF ManagerWorkflowApplication WF Invoker Persistence Definitions Data Stores Logs WF App WF Svc ...
  21. 21. Workflow Types
  22. 22. Sequential Workflow • intuitive • linear logic • loops (while, foreach) • no "goto"
  23. 23. Flowchart Workflow • very intuitive • flow chart logic • loops • "goto" possible
  24. 24. State Machine Workflow • easy to model • state transitions + events​ • triggers​
  25. 25. Workflow Authorship
  26. 26. Visual Studio
  27. 27. Rehosted Workflow Designer Easy to Implement • Designer • Activities Toolbox • Activity Properties • Runtime • Output • Custom Tracking ...
  28. 28. Code
  29. 29. Declarative XAML System.Activities.XamlIntegration contains classes that provide support for the serialization of activities into XAML
  30. 30. Declarative XAML <-> Code
  31. 31. Powershell WF PS v3 Workflow Parallel Foreach –parallel Sequence InlineScript Checkpoint-workflow Suspend-workflow
  32. 32. Powershell WF - Azure Automation Runbooks - SMA Powershell Workflow Windows PS Workflow text runbook Graphical Powershell Workflow based - managed exclusively in Azure Portal GUI. Powershell Windows PS Script text runbook TechNet Gallery 130+ examples
  33. 33. Workflow Activities & Activity Libraries
  34. 34. WWF Activity Libraries Custom Activity base class CodeActivity execute, tracking, variables & args NativeActivity + abort/cancel exec, bookmarks, .. DynamicActivity DOM like - IcustomTypeDescriptor
  35. 35. WWF Custom Activity
  36. 36. WF Runtime & Hosting Workflow Manager *nix
  37. 37. Workflow Runtime & Hosting WorkflowInvoker WorkflowApplication WorkflowServices Simple Scenarios No Hosting Short Lived WFs No Instance Control No Persistence No Bookmarks Long Running WFs Single Instance Hosting Instance Control Persistence Bookmarks (Un)Loading Long Running WFs Multiple Instances WorkflowServiceHost Instance Control Persistence Bookmarks Service Messaging .NET Framework
  38. 38. Workflow Execution Logs & Output Tracking Records Custom tracking participant Result - Output(s)
  39. 39. Workflow Persistency Data Stores WorkflowIdentity Definition <-> Instance Scalability Vertical Horizontal *Persistence
  40. 40. Authoring, Hosting & Management • Azure & On Premise • REST Endpoint & Client API • Multi-tenancy (Scopes) & Scaling • Management (DB Stores) • Tracking and Monitoring • Instance Management • Fully Declarative Authoring Custom Solution SharePoint Server Workflow Manager Windows Workflow Foundation .NET Framework (full) Workflow Manager
  41. 41. What about *nix ? OLIVE experimental module WF 3.5 inactive | WF4 no timeline HostRuntimeWorkflowActivity SSH SVC CoreWF WF runtime ETW tracking provider * ported to .net core
  42. 42. Future
  43. 43. Workflow Manager WF .NET Framework (full) “For the next version of .NET, we're adding some accessibility items to the Designer. Most of our work is going into Workflow Manager right now” https://github.com/dotnet/corefx/issues/2394#issuecomment-171471805 Powershell Workflow automation runbooks Azure Dustin Metzgar PM of Windows Workflow Foundation @dustinmetzgar //September 2017
  44. 44. https://github.com/dotnet/corefx/issues/2394 Dustin Metzgar PM of Windows Workflow Foundation @dustinmetzgar …
  45. 45. CoreWF WF Runtime & ETW Tracking Provider ported to .net core https://github.com/dmetzgar/corewf Dustin Metzgar PM of Windows Workflow Foundation @dustinmetzgar
  46. 46. Demo. Rehosted Workflow Designer
  47. 47. https://github.com/orosandrei/Rehosted-Workflow-Designer
  48. 48. Conclusions
  49. 49. * Powerful Workflow Platform * Enterprise Level * Full Featured, Flexible * Easy to Integrate & Extend * Supported Questions ?
  50. 50. Reference / Links Windows Workflow Foundation https://msdn.microsoft.com/en-us/vstudio/jj684582.aspx What's new in WF 4.5 https://msdn.microsoft.com/en-us/library/hh305677.aspx A Developer's Introduction to WWF https://msdn.microsoft.com/en-us/library/ee342461.aspx Workflow Manager https://msdn.microsoft.com/en-us/library/jj193504(v=azure.10).aspx Powershell Workflows & Azure Automation https://azure.microsoft.com/en-us/documentation/articles/automation-graphical-authoring-intro/ WF 4x Code Samples http://www.microsoft.com/en-us/download/details.aspx?id=21459 WF runtime ported to work on .NET Core https://github.com/dmetzgar/corewf Rehosting the Workflow Designer https://github.com/orosandrei/Rehosted-Workflow-Designer
  51. 51. Thank you. Andrei Oros orosandrei@gmail.com @orosandrei linkedin.com/in/orosandrei github.com/orosandrei andreioros.com

×