Introduction to Windows Workflow Foundation Adam Calderon Principal Engineer - Interknowlogy Microsoft MVP – C#

Slides:



Advertisements
Similar presentations
The Microsoft Technical Roadshow 2006 Windows Workflow Foundation Mike Taulty Developer & Platform Group Microsoft Ltd
Advertisements

Windows Workflow Foundation
Windows Workflow Foundation By Sam Nasr, MCAD October 23,
Developing Event Driven State Machine Workflows S1 S2 S3 S4 Adam Calderon Principal Engineer - Interknowlogy Microsoft MVP – C#
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
SharePoint 2007: Workflow and Digital Forms Neil Iversen Inetium.
Introduction to.NET 3.0 Henrik Westergaard Hansen Academic Developer Evangelist Developer & Platform.
Introduction to Windows Workflow Foundation Matt Winkler Technical Evangelist, Windows Workflow Foundation
Introduction to Windows Workflow Foundation (WF) Keith Elder Microsoft MVP Blog: Quicken Loans –
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
OFC 317 使用 WinWF 构建 Microsoft Office SharePoint Server 2007 中的工作流应用.
Ravi Sankar Technology Evangelist | Microsoft Corporation
Mark Rees Microsoft Consulting Services OFC409 Windows Workflow Foundation (WF) Primer Creating WF programs in Visual Studio Creating workflow templates.
OFC312 Developing Workflows for the 2007 Microsoft Office System and Windows SharePoint Services (version 3) Adam Calderon Principal Engineer - Interknowlogy.
Windows Vista for Syndication and Workflow Mike Ormond Developer & Platform Group, Microsoft Ltd
Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) Dynamic and generic workflows in.NET Bart De Smet.
Introducing Windows Workflow Foundation. Understanding Windows Workflow Foundation Janakiram MSV Developer Evangelist Microsoft Corporation Introducing.
SharePoint Collaboration Features & Workflow
Microsoft Office Sharepoint Server 2007 (MOSS) Overview Momentum Microsoft November 15, 2007.
Microsoft Office SharePoint Server Business Intelligence Tom Rizzo Director, Microsoft Office SharePoint Server
Introduction to Windows Workflow Foundation
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Matt Winkler – Technical Evangelist WF Microsoft Corporation CON312.
SharePoint Workflow Development Using Visual Studio Brian LaSitis February 27, 2008.
Workflows in SharePoint Brian Russo RJB Technical Consulting July 2009.
1 Developing Rules Driven Workflows in Windows Workflow Foundation Jurgen Willis COM318 Program Manager Microsoft Corporation.
Wrestling with Windows Workflow Foundation Simon Thurman Jeremy Stimson.
DEV317 Integrating Extensible Business Graphics into Enterprise Applications using Visio 2003 Mai-lan Tomsen Bukovec Program Manager.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Future Directions: Building Customizable Applications using.NET Eric Schnepp TLN205 Lead Program Manager Microsoft Corporation.
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
SharePoint 2007 Overview and Solution Examples Inetium.
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
CONTENTS Arrival Characters Definition Merits Chararterstics Workflows Wfms Workflow engine Workflows levels & categories.
WEB 304 An Overview of ASP.NET and Windows Workflow Foundation Kashif Alam Program Manager Developer Division Microsoft Corporation.
Auckland Connected Systems User Group November 19th 2009 Jeffrey Chilberto BizTalk Consultant
Windows Workflow Foundation Mike Taulty Developer & Platform Group Microsoft Ltd
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Workflow Development Overview Architecture Requirements Types of workflows Stages of workflow.
VWF310: Encapsulate Custom Business Processes with Custom WF Activities Brian Noyes IDesign Inc (
James Akrigg Microsoft Ltd Integrating InfoPath Forms Into Workflow Solutions And Business Processes.
Daniel van Wyk – 3fifteen – SA Developer.Net – Information Worker Group.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Office Business Applications Workshop Defining Business Process and Workflows.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Welcome to the Twin Cities BizTalk User Group July 2006.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Windows Workflow Foundation Ruwan Wijesinghe.
EBZ303 Building Applications Using BizTalk Human Workflow Services Nagender Vedula Group Program Manager E-Business Server Group Microsoft Corporation.
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
Visual Studio Team System overview Pierre Greborio Software Architect – PEWay Microsoft MVP – Solutions Architect.
Slide 1. Agenda  Introduction to Windows Workflow What is it? What are activities? Hosting  Out of the box Activities  Custom Activities and Dependency.
Microsoft And Partners Driving Global Integration Solutions With BizTalk Server 2004 Ted Kummert Vice President Microsoft Corporation Business Process.
Ten Architectural Opportunities for Workflow John Evdemon Architect Microsoft Corporation.
Microsoft Visual Studio 2005 Tools for the Office System: Building Office Solutions Using Visual Studio 2005 Tools for Office Andrew Coates Developer Evangelist.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Windows Workflow Foundation Guy Burstein Senior Consultant Advantech – Microsoft Division
BizTalk Damir Dobric Lead Architect. Agenda Microsoft BizTalk RFID Overview Architecture Application models Implementing Event Handlers Sensors.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
Building Enterprise Applications Using Visual Studio®
COM210 Introduction to Workflow in Windows Applications
MGB 2003 Adam Calderon – C# MVP Principal Engineer Interknowlogy
Introduction to Windows Workflow Foundation (WF)
Microsoft Office SharePoint 2007 Technical Enablement Tour
Office 365 Development July 2014.
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Introduction to Windows Workflow Foundation Adam Calderon Principal Engineer - Interknowlogy Microsoft MVP – C#

2 Agenda Vision, tenets and architecture What is a workflow? What is an activity? Rules More architecture and features SummaryQ&A

3 Workflow Vision and Goals Vision: Deliver best-in-class workflow platform & tools for Microsoft products and partner/customer ecosystem Single workflow technology for Windows Base for Microsoft products and ISV/customer solutions One technology for human and system workflow A framework not a server product or application An extensible framework based on.NET Ships as Windows OOB release and in.NET 3.0 Make workflow mainstream for.NET developers Strong workflow partner & solution ecosystem Reach mainstream application developer

4 Workflow Foundation.NET Information Worker document life cycle collaboration Office 12 ISV / SI solutions IT Management hire/fire resource provisioning MIIS ISV / SI solutions LOB Apps sales automation quote to cash MBS applications ISV / SI Solutions Single Workflow Technology for Windows – Scenarios Consolidating workflow investments and providing a unified framework for internal products, partners and customers.NET Developer pageflow mainstream dev ASP, WinFX ISV / SI Solutions BPI integration, B2B BizTalk ISV / SI Solutions

5 Tenets of Workflow Workflows coordinate work performed by people and by software Workflows are long running and stateful Workflows are transparent and dynamic through their lifecycle Workflows are based on extensible models

6 Host Process my app or server Workflow Foundation Architectural Concepts Runtime Engine intrinsic behavior A Workflow An Activity “long running and stateful” “coordinate people and software” “transparent and dynamic through their lifecycle” Runtime Services hosting flexibility Base Activity Library workflow constructs “extensible models” models” App Activity Library

7 Agenda Vision, tenets and architecture What is a workflow? What is an activity? Rules More architecture and features SummaryQ&A

8 A workflow is a class A workflow class may be defined in markup using System.Workflow.Activities; public class MyWorkflow: SequentialWorkflow { … } … What is a workflow?

9 Workflow Authoring Modes.NET assembly ctor defines workflow Markup Only “Declarative” XML Markup and Code C#/VB Code Only ApplicationGenerated XML C#/VB XML defines XML defines workflow structure logic and data flow XML defines XML definesworkflow Code-beside Code-beside defines extra logic Code creates Code createsworkflow in constructor XML C#/VB App creates activity tree and serializes Workflow Compiler wfc.exe C#/VB Compiler

Building a Workflow Windows Workflow Foundation

11 Agenda Vision, tenets and architecture What is a workflow? What is an activity? Rules More architecture and features SummaryQ&A

12 What are Activities? An activity is a step in a workflow Has properties and events that are programmable within your workflow code Has methods (e.g. Execute) that are only invoked by the workflow runtime Think of Forms & Controls Activity == Controls Workflows == Forms Activities fall under two broad categories Basic – steps that “do work” Composite – manage a set of child activities

13 Out of the Box Activities Designed for modeling flow control & communications IfElse, Delay, While, State, etc. InvokeWebService, InvokeMethod, etc. Custom activities can derive from the out of the box activities Built using the same component APIs that’s available to developers

14 Activities: An Extensible Approach OOB activities, workflow types, base types base typesGeneral-purpose Activity libraries define workflow define workflow constructs constructs Create/Extend/ Compose activities App-specific building blocks First-class citizens Base Activity Library Custom Activity Libraries Author new activity Out-of-Box Activities Extend activity Compose activities Vertical-specific activities & workflows Best-practice IP & Knowledge Domain-Specific Workflow Packages Compliance RosettaNet CRM IT Mgmt

15 Activities out of the box Workflow types SequentialWorkflow, StateMachineWorkflow Structural Sequence, Parallel, Replicator, While… State machine State, StateInitialization, EventDriven, SetState Conditions and Rules IfElse, ConditionedActivityGroup, Policy Transactions TransactionContext, Compensate Communications CallExternalMethod, HandleExternalMethod, InvokeWebService…

16 Custom Activities Activity is unit of: ExecutionReuseComposition Activities enable workflow modeling Custom activity examples Send , FileSystemEvent, PurchaseOrderCreated, AssignTask, etc. Simplicity Flexibility Code Activity InvokeMethod & EventSink Custom Activities InvokeWebService Activity Workflow Execution Logic

17 Activity Execution States Initialize Executing Closed Compensating Canceling Transition Types Activity Execution Methods Initialize()Execute()Cancel()Compensate() Activity Runtime

18 Activity Execution Status Returned by Execute() method Can be determined by a parent activity or workflow this.ExecutionStatus Tracked by a Tracking Runtime Service ActivityExecutionStatus Enumeration InitializedExecutingCompensatingCancelling Closed Faulting

19 Property Promotion Children at any depth can have their properties exposed through the composite activity Allows the workflow author / activity consumer to configure values which affect internal activity logic without exposing logic Supported through the Custom Activity Designer

Building an Activity Windows Workflow Foundation

21 Agenda Vision, tenets and architecture What is a workflow? What is an activity? Rules More architecture and features SummaryQ&A

22 Why Rules?   Simple semantics for defining discrete, atomic rules   Aggregation of rules into rule sets that represent rich application behavior   Declarative nature allows domain experts to concentrate on the business requirements   Model-driven design allows for rich authoring and management tools   Externalization of rule logic from application code   Rapid deployment model   Supporting impact analysis and simulation capabilities Modeling Power Approachability Ease of Change

23 Model-driven development Rules and Application Development Forms Data Applicationlogic Rules and policies Applicationcode Workflow model Services

24 Rules and Process Policy applied based on carrier, cost and schedule Condition determines if approval is required Rules set reminder time limit

25 Terminology Condition Expression that evaluates to True or False Rule Modeled as: IF IF THEN THEN ELSE ELSE RuleSet Collection of Rules with a set of execution semantics

26 Workflow Rules Conditions on activities If-ElseWhileReplicator Conditioned Activity Group (CAG) Policy activity Contains and executes a RuleSet RuleSet execution provides priority-based, forward-chaining semantics

27 Activities - Condition Types Code Conditions Method in workflow class that returns a Boolean Rule Conditions Declarative expression that evaluates to a Boolean

28 Conditioned Activity Group (CAG) Flexible, rule-driven activity execution Modeling of activity sets with numerous sequencing permutations Motivation Stage-Gate pattern Collaborative tasks Scenarios

29 CAG - Overview Child activity executes When(Condition1) CAG executes Until(Condition2) Default execution is a parallel When “Activity executed count == 0”  Executes activity once Until “All children quiescent”  Executing children complete and all When conditions == false Conceptually an activity executes: IF When && !(Until) Child activities

30 CAG - Overview Reevaluation When immediate child moves to completed state Define custom Until condition to short- circuit CAG execution Custom Until == true No new activities executed Blocked activities cancelled

31 Policy Separation of business logic from application sequencing Declarative statements of business intent Execution semantics to support rich sets of business logic Motivation Order validation Warranty claims management Discount calculation Scenarios

32 What about the BizTalk BRE? The next major version of BizTalk (post- BizTalk 2006) will be built on Windows Workflow Foundation Windows Workflow Foundation will provide the core rules engine evaluator and developer tools BizTalk will provide premium tooling and server infrastructure, e.g.: Business analyst tools RuleSet storage and management RuleSet analysis

33 Policy Overview RuleSet class contains a collection of Rules Rules define: IF-THEN-ELSE expressions Execution priority Maximum execution count Expressions evaluate and operate on activity properties

34 RuleSet Execution Semantics Rules are executed in order of priority (high  low) Forward chaining causes rule re-evaluation Implicit based on property usage Explicit using Update statement “Partially explicit” using method attributes

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

Rules and Activities Windows Workflow Foundation

37 Agenda Vision, tenets and architecture What is a workflow? What is an activity? Rules More architecture and features SummaryQ&A

38 Flow Styles Several styles of flow constructs are available to support human and system workflow patterns Several styles of flow constructs are available to support human and system workflow patterns Rule-based Activities Step2 Step1 Rule1 Rule2 Data Business rules drive processing order Data-driven Rules and Policies Used in sequential and state machine State Machine Workflow State2 State1 Event Event External events drive processing order Reactive, event-driven Skip/re-work patterns Exception handling Graph metaphor Sequential Workflow Step1 Step2 Structure prescribes processing order Prescriptive, formal Automation scenarios Flowchart metaphor

39 Out of box Runtime Services Host Application App Domain SQL Out of Box Services are provided that support SQL Server Common resource services for managing threading and creating transactions TimerService manages timers – e.g. Delay activity. PersistenceService stores and retrieves instance state. TrackingService manages profiles and stores tracked information. Runtime Services PersistenceService TrackingService ThreadingService TransactionService TimerService Scripts for DB are located in C:\WINDOWS\Microsoft.NET\F ramework\v3.0\Windows Workflow Foundation\SQL\EN

Sample Workflow Applications Windows Workflow Foundation

41 Additional Features Compensation Local Communication and Correlation PersistenceTracking Fault Handling Dynamic Update

42 Summary Windows Workflow Foundation is a framework for building workflow into applications A single workflow technology for Windows Base for Microsoft products and ISV/customer solutions Broad spectrum of human and system workflow scenarios Ships in Windows ( OOB and.NET 3.0) Activities: extensible framework approach Rules: CAG, Policy Flow styles: s equential, state machine, rule-based Runtime: intrinsic behaviors and pluggable services Rich visual designers for workflows and activities

43 Adam Calderon More info on InterKnowlogy More info on InterKnowlogy Contact Information Contact Information Phone: x274 Blog: About Adam Calderon Microsoft ® MVP – C# Microsoft ® ASP.NET (UI Server Frameworks) Advisory Council Developer / Author / Speaker / Teacher