Introduction to Windows Workflow Foundation (WF)

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
 Josh Honeyman Sr. Development Lead Microsoft Corporation BB57.
Web RoleWorker Role At runtime each Role will execute on one or more instances A role instance is a set of code, configuration, and local data, deployed.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
demo Default WANGPSLookup Default WANGPS.
Introduction to Windows Workflow Foundation (WF) Keith Elder Microsoft MVP Blog: Quicken Loans –
Windows Vista for Syndication and Workflow Mike Ormond Developer & Platform Group, Microsoft Ltd
Co- location Mass Market Managed Hosting ISV Hosting.
SharePoint Collaboration Features & Workflow
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Multitenant Model Request/Response General Model.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
1 Developing Rules Driven Workflows in Windows Workflow Foundation Jurgen Willis COM318 Program Manager Microsoft Corporation.
Introduction to Windows Workflow Foundation Adam Calderon Principal Engineer - Interknowlogy Microsoft MVP – C#
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Inspire and enable transformative user experiences for retrieving and exploring content regardless of location.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
WEB 304 An Overview of ASP.NET and Windows Workflow Foundation Kashif Alam Program Manager Developer Division Microsoft Corporation.
NEXT: Overview – Sharing skills & code.
demo Receive Inventory Export Parse and Normalize.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
SQL Server SQL Azure Visual Studio“Quadrant” SQL Server Modeling Services Entity Framework ADO.NET“M”/EDM Data Services …
announcing Dev Manager Do I understand what we’ve built? Developer Can I bet on using this shared component? Testers What’s changed since I last.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”
demo while !EmptyList Execute(next WorkItem) while !EmptyList Execute(next WorkItem) Work items are executed one at a time within a single.

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Windows Azure SQL Data Sync Name Title Microsoft Corporation.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
Demand Management and Workflow
Возможности Excel 2010, о которых следует знать
Введение в архитектуру SharePoint 2010
"Oslo”: Customizing and Extending the Visual Design Experience
Deep dive on app data roaming
Baseline: How Are We Doing Now?
Title of Presentation 12/2/2018 3:48 PM
Building event-driven, long-running apps with Windows workflow
System Center Application Management
Intro to Workflow Services and Windows Server AppFabric
28 days.
Microsoft SharePoint Conference 2009 Jon Flanders
2010 Microsoft BI Conference
TechEd /22/2019 9:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Mendeleyeve Ionic Dating Services
Create rich, data-driven Web apps with ASP.NET 4.5 Web Forms
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
4/27/17, Bell #8 What amount of net pay has been earned this period?
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
日本初公開!? Vista の新機能を実演 とっちゃん わんくま同盟 7/23/2019 9:09 AM
利用IIS部署與維護 SOA應用程式的技巧
Presentation transcript:

Introduction to Windows Workflow Foundation (WF) Keith Elder Microsoft MVP Blog: http://keithelder.net/blog/ Quicken Loans – http://www.quickenloans.com

Agenda Hello World in Workflow What is Workflow? Architecture Understanding the Runtime WF Extensibility Rules Engine Scenarios for WF Versioning Hosting WF in a SOA

DEMO HELLO WORLD

What is Workflow? http://tinyurl.com/38g64k The workflow framework and tools for Microsoft products and partner/customer ecosystem Single workflow technology for Microsoft® Windows® A framework for building workflow, not an application or server Make declarative workflow a mainstream development paradigm At the end of the day workflow is a new namespace and supporting APIs developers can use to declaratively express business logic and long running processes. Single workflow technology for Microsoft® Windows® Base for Microsoft products and independent software vendor (ISV)/customer solutions One technology for human and system workflow scenarios A framework for building workflow into applications A framework to build on - not an application or server Exposed to developers via WinFX® Brings workflow to mainstream Microsoft® .NET development Transform workflow from niche to mainstream paradigm Build strong partner and solution ecosystem http://tinyurl.com/38g64k

Architecture A Workflow An Activity Windows Workflow Foundation Host Process Windows Workflow Foundation Runtime Engine A Workflow An Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer Key Concepts Workflows are a set of Activities Workflows run within a Host Process: any application or server Developers can build their own Custom Activity Libraries Components Base Activity Library: Out-of-box activities and base for custom activities Runtime Engine: Workflow execution and state management Runtime Services: Hosting flexibility and communication Visual Designer: Graphical and code-based construction

Understanding the Runtime Host Application App Domain Runtime Services Out of Box Services are provided that support SQL Server 2000 & 2005 Services PersistenceService stores and retrieves instance state. SQL PersistenceService TrackingService TrackingService manages profiles and stores tracked information. SchedulerService TransactionService Common resource services for managing threading, timers and creating transactions http://tinyurl.com/yuwsew

Activites: An Extensible Approach Vertical-specific activities and workflows Best-practice intellectual property (IP) and knowledge Domain-Specific Workflow Packages Compliance RosettaNet CRM IT Mgmt Base Activity Library Custom Activity Libraries Compose activities Extend activity Author new activity Out-of-Box Activities Theme you’re going to see throughout WF Activities are completely extensible. All of the activities that ship in WF are built the same way, so you have access to all of that extensibility, designers, look and feel, etc OOB activities, workflow types, base types General-purpose Activity libraries define workflow constructs Create/Extend/ Compose activities App-specific building blocks First-class citizens

WF Extensibility Designer Rehosting http://tinyurl.com/36vs2j

DEMO CUSTOM ACTIVITIES

Workflow Rules Conditions on activities Policy activity 12/9/2018 12:11 AM Workflow Rules Conditions on activities If-Else While Replicator Conditioned Activity Group (CAG) <Your custom activity> Policy activity Contains and executes a RuleSet RuleSet execution provides priority-based, forward-chaining semantics Rules can be used outside workflow © 2006 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.

Forward Chaining RuleSet Execution Sequence Amount = $25 Total = $80 Rule 1 (P0) If Total > $50 & < $100 Then Discount = 10% Rule 2 (P0) If Total >= $100 Then Discount = 15% Rule 3 (P0) If Amount > $0 Then Total = Total + Amount Amount = $25 Total = $80 Discount $105 = 10% 15%

12/9/2018 12:11 AM Policy Overview Policy activity references a RuleSet in the workflow.rules file RuleSet class contains a collection of Rules Rules are If-Then-Else expressions that evaluate and operate on workflow members © 2006 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.

CAG - Overview Child activity executes CAG executes 12/9/2018 12:11 AM CAG - Overview Child activities Child activity executes When(Condition1) CAG executes Until(Condition2) Default execution is a parallel When Executes activity once Until “All children quiescent” Executing children complete and all When conditions == false Conceptually, an activity executes: IF When && !(Until) © 2006 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.

DEMO RULES ENGINE

Versioning in WF – Where? Workflow Activity Tracking Profile Rules Host and runtime services Exposed as a web service The highly extensible design of the runtime, activities and services enable opportunities for versioning in a number of different places.

Workflow Versioning Compiled Declarative Standard .NET versioning story Strong Names, GAC, etc. What I’m not going to dive into the details of Declarative This is what we call XAML-only workflows Versioning here takes place in the host, when deciding what XAML to grab But wait, my workflows are already running! DynamicUpdate API address how to change these Declarative There’s going to be some repository you will need to enable an effective declarative approach (otherwise you’re loading a string, which is kind of boring) In this repository, you are going to need to track some kind of version (or maybe you only have the most recent available in a text file on a file share somewhere) This text file outlines the arrangement of your activities, and their individual configuration, so if you introduce a new activity, you need to make sure that assembly is available to the host when it comes time to initialize that activity. Also, have the XAML v. XOML talk

Cluster of Workflow Runtimes accessing the same persistence store Scaling? Cluster of Workflow Runtimes accessing the same persistence store Host* 1 Host 2 Host 3 Host N Workflow Runtime 1 Workflow Runtime 2 Workflow Runtime 3 Workflow Runtime N SQL Persistence Service SQL Persistence Service SQL Persistence Service SQL Persistence Service The persistence service will take care of ensuring that an instance doesn’t get spun up on multple hosts? But I want a sophisticated app provisioning capabilty built off the same persitence store…. Write your own persistence service! The out-of-box SQL Workflow Persistence Service allows multiple workflow runtimes to use the same persistence store Locks workflow instances when used by workflow runtime Lock timeout interval Avoids locking of workflow instances by serially retrieving them when service is initiated Delivers all timer events when service is initiated SQL * The host could be IIS

WF in a SOA WF Orchestrating Services WF As Service Implementation

DEMO Calling Workflows via services

Introduction to Windows Workflow Foundation (WF) Keith Elder Microsoft MVP Blog: http://keithelder.net/blog/ Quicken Loans – http://www.quickenloans.com