Extending Workflow With Custom Activities Dennis Pilarinos COM328 Program Manager Microsoft Corporation.

Slides:



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

Windows Workflow Foundation
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Henrico Dolfing Business Segment Partners. Océ Document Technologies GmbH2 June, NET Framework Version 3.0.
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.
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
Windows Vista for Syndication and Workflow Mike Ormond Developer & Platform Group, Microsoft Ltd
Module 1: Overview of the Microsoft.NET Framework.
Introducing Windows Workflow Foundation. Understanding Windows Workflow Foundation Janakiram MSV Developer Evangelist Microsoft Corporation Introducing.
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
SharePoint Collaboration Features & Workflow
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
Future Directions for Leveraging Advanced XML Tools and Building Custom XML Solutions Denise Draper DAT321 Microsoft Corporation.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
1 Programming Windows Help Shane McRoberts Group Program Manager Microsoft Corporation Shane McRoberts Group Program Manager Microsoft.
Case Study: Revolutionizing Microsoft Axapta Mike Ehrenberg COML01 Architect, Microsoft Business Solutions Microsoft Corporation.
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.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
1 Introduction to.NET Framework. 2.NETFramework Internet COM+ Orchestration Orchestration Windows.NET Enterprise ServersBuildingBlockServices Visual Studio.NET.
Assemblies & Namespaces1. 2 Assemblies (1).NET applications are represented by an assembly An assembly is a collection of all software of which the application.
Module 1: Overview of the Microsoft.NET Platform.
WEB 304 An Overview of ASP.NET and Windows Workflow Foundation Kashif Alam Program Manager Developer Division Microsoft Corporation.
Windows Workflow Foundation Mike Taulty Developer & Platform Group Microsoft Ltd
Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.
Slide 2 The Microsoft Office Project 2003 Software Development Kit Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation Uma.
CF and.NET Working Together Using Web Services Geoff Snowman Developer Community Champion Microsoft Corporation.
Slide 1.NET Development for Project 2003 Samples from the Project 2003 SDK Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation.
A Deep Dive into Best Practices with the Windows Communication Foundation John Justice COM415 Program Manager Microsoft Corporation.
James Akrigg Microsoft Ltd Integrating InfoPath Forms Into Workflow Solutions And Business Processes.
1 “WinFS” Future Directions: An Overview Shishir Mehrotra DAT209 WinFS Product Planning Microsoft Corporation.
Office Business Applications Workshop Defining Business Process and Workflows.
1 Application Model Fundamentals Chris Anderson Software Architect Microsoft Corporation Chris Anderson Software Architect Microsoft.
Microsoft.Net Sven Groot. Common Language Runtime Superset of ECMA Common Language Infrastructure Defines  Language-neutral platform  Intermediate Language.
“ WinFS” Future Directions: Building Data-Centric Applications Using Windows Presentation Foundation “Avalon” and Windows Forms Ramesh Nagarajan DAT310.
ADO.NET 2.0: Advanced Data Access Patterns Pablo Castro DAT408 ADO.NET Technical Lead Microsoft Corporation.
Lap Around Windows Presentation Foundation Rob Relyea PRS305 Lead Program Manager Windows Presentation Foundation
“Avalon”: Using UI Automation to Improve Application Testability Robert Sinclair Group Manager Microsoft Corporation Robert Sinclair.
What’s New in Windows Forms 2.0 Stephen Turner Software Design Engineer
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Introduction to SQL Server 2000 Reporting Services Jeff Dumas Technical Specialist Microsoft Corporation
Windows Workflow Foundation Guy Burstein Senior Consultant Advantech – Microsoft Division
Developing Custom ASP.NET Providers For Membership And Role Manager Stefan Schackow PRS404 Program Manager – Web Platform and Tools Microsoft Corporation.
Introducing the Microsoft® .NET Framework
Mike Harsh PRSL001 Program Manager Microsoft Corporation
Introduction to ASP.NET 2.0
.NET Framework 2.0 .NET Framework 3.0 .NET Framework 3.5
A Lap Around the Windows Communication Foundation
System.Search, aka “Find My Stuff”
Business Connectivity Services in SharePoint 2010 and Office 2010
Visual Studio Tools for Office 2005
Transactional Programming In A Windows World
COM210 Introduction to Workflow in Windows Applications
Michael Wallent General Manager Windows Client Platform
11/17/2018 9:30 PM Session Code: ARC 420
Learn. Imagine. Build. .NET Conf
Building event-driven, long-running apps with Windows workflow
Building Rich, Interactive Controls for Windows “Longhorn”
Introduction to Windows Workflow Foundation (WF)
New User Interface Possibilities in Longhorn
"Avalon": Building Applications With Controls And Dialogs
Session Code: CLI391 Windows Forms: Exploiting Windows “Longhorn” Features from Within Your Application Mark Boulter .NET Client Team Microsoft Corporation.
Office 365 Development July 2014.
Windows Forms in Visual Studio 2005: An in-depth look at key features
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
.NET Framework Design Goals
Presentation transcript:

Extending Workflow With Custom Activities Dennis Pilarinos COM328 Program Manager Microsoft Corporation

PRESENTATION ASP.NET System.Web (2.0) Compilation Configuration Handlers Hosting Mail Management Security UI (2.0) Util Presentation Framework System.Windows (3.0) Annotations Automation Controls Data Documents Ink Interop Navigation Resources Serialization Shapes Threading System.Windows.Media (3.0) 3D Animation Imagine Windows Forms System.Windows.Forms (2.0) Design Layout VisualStyles Printing Subsystem System.Printing (3.0) GDI+ System.Drawing Design Drawing2D Printing ADO.NET System.Data Common Odbc OleDb OracleClient Sql SqlClient ASP.NET Data Management System.Web Caching Profile SessionState XML Data System.Xml Schema Serialization XPath Xsl Windows File System System.Storage (F) Core Audio Calendar Contacts Documents Image Media Messages Rules Sync Video XPS Documents System.Windows.Xps (3.0) System.IO.Packaging (3.0) Speech Integration System.Speech (3.0) Recognition Synthesis Language Integrated Query System.Query (F) System.Data.DLinq (F) System.Xml.XLinq (F) System.Expressions (F) Windows Communications Foundation System.ServiceModel (3.0) Channels Configuration Diagnostics Integration QueueHelper System.ServiceModel.Security(3.0) Protocols Tokens Network Class Library System.Net Cache Mail (2.0) Network Information (2.0) Security (2.0) Sockets.NET Remoting System.Runtime.Remoting ASMX Web Services System.Web.Services Identity Management Microsoft.InfoCards (3.0) MSMQ System.Messaging Directory Services System.DirectoryServices DATACOMMUNICATION FUNDAMENTALS BASE CLASS LIBRARIES System System.CodeDom System.ComponentModel System.Diagonostics System.IO (2.0) System.Resrouces System.Text System.ServiceProcess System.Threading System.Timers System.EnterpriseServices System.Transactions (2.0).NET Remoting System.Runtime.Remoting System.Text Generic (2.0) System.Reflection System.Configuration System.Text AccessControl (2.0) Cryptography (2.0) Permissions Policy Principal (2.0) Managed Add-In Framework System.Addins (F) Contact Microsoft.Build (2.0) System.Runtime CompilerServices ConstrainedExecution (2.0) InteropServices Hosting Serialization Versioning “ClickOnce” Deployment System.Deployoment (2.0) WINDOWS VISTA (2.0) (3.0)- New (2.0)- Substantially Improved - Windows Presentation Foundation (formerly codenamed “Avalon”) - Windows Communication Foundation (formerly codenamed “Indigo”) - Windows Workflow Foundation KEY Windows Workflow Foundation System.Workflow (3.0) System.Workflow.Activities (3.0) Rules System.Workflow.ComponentModel (3.0) Compiler Designer Serialization System.Workflow.Runtime (3.0) Hosting Messaging

Windows Workflow Foundation Single workflow technology for Microsoft products, partners and customers A framework to build on – not a server or application Key features Enables long running workflows in any application or server Extensible activity framework Unified model for human and system workflow scenarios Visual designer for graphical and code-based authoring Availability Availability Exposed via WinFX – powers Office “12” workflow Extensible framework and tools for building workflow into Windows applications

Windows Workflow Foundation Key Concepts Host Process Windows Workflow Foundation Runtime Engine A Workflow An Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer Visual Designer: Graphical and code- based construction 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

This Session Extending Workflow Capabilities With Custom Activities (COM328) Wed 3:15 – 150/151 Hall E Developing Rules-Driven Workflows (COM318) Wed 5:00 – 152/153 Hall F Developing Event-Driven State Machine Workflows (COM322) Thurs 2:15 – 515 AB Hosting and Communications in Workflow Scenarios (COM327) Thurs 5:15 – 402 AB Workflow + Messaging + Services - Developing Dist’d Apps (COM325) Thurs 3:45 – 150/151 Hall E Host Process Windows Workflow Foundation Runtime Engine Runtime Services Base Activity Library My Custom Activity Library State Machine Workflows Rules-Driven Activities Communication Activities My Workflows Introduction to Workflow in Windows Applications (COM210) Wed 1:45 – 150/151 Hall E Windows SharePoint Services: Developing Custom Workflows (OFF415) Thurs 11:30 – 408 AB

Activities Activities allow you to model an application semantics in an explicit way Activities all the way down! Basic – opaque/leaf nodes of a program tree Composite – transparent/modeling constructs/containers for other activities Root – a special composite that is a unit of activation

When do you write custom activities? Out of the box Activities get you started… Write custom activities for modeling advanced control flows modeling various workflow styles integrating with technologies aligning with standards Out of the box activities built using the same framework that’s available to you as developers

Building a Basic Activity

Activity Component Model Required Optional (defaults provided) Each activity has an associated set of components Components are associated through attributes on the Activity Definition [Designer(typeof(MyDesigner))] [CodeGenerator(typeof(MyCodeGen))] [Validator(typeof(MyValidator))] public class MyActivity: Activity {...} Activity Code Generator Designer Validator Serializer Services

Activity Designer & Validator Components

Activity Execution Transition Types Activity Execution Methods Initialize()Execute()Cancel()Compensate() Activity Runtime InitializedExecutingClosed Canceled Compensating

Typical Composite Activity Execution Composite Activity.. += OnChildClosed Execute() Status.Closed() ChildActivity ChildActivity

Sequence Activity – Execute() protected override Status Execute(ActivityExecutionContext context) { Activity childActivity = this.ExecutableActivities[0]; EventHandler OnClosed = null; OnClosed = delegate { childActivity.Closed -= OnClosed; if (this.Status == Status.Canceling) context.CloseActivity(); context.CloseActivity(); else if (this.Status == Status.Executing) { this.index++; this.index++; if (this.ExecutableActivities.Count > this.index) if (this.ExecutableActivities.Count > this.index) { childActivity = this.ExecutableActivities[this.index]; childActivity = this.ExecutableActivities[this.index]; childActivity.Closed += OnClosed; childActivity.Closed += OnClosed; context.ExecuteActivity(childActivity ); context.ExecuteActivity(childActivity ); } } else else context.CloseActivity(); context.CloseActivity();}}; childActivity.Closed += OnClosed; context.ExecuteActivity(childActivity); return Status.Executing; }

Advanced Composite Activity Execution Activities may need to spawn persistable execution environments as a part of their execution This opens up interesting possibilities of modeling advanced control flows Loops, Continuations, Dynamic Activities etc.

ForEach Activity Execution Contexts Template Activity Context Owner Activities Children Contexts of ForEach activity Context 1 Context 2 Context 3 Default Workflow Context

ForEach activity

Activity Composition Patterns Three Activity Reuse Models White Box Children activities visible and structure editable Grey Box Children activities visible but structure not editable Black Box Children activities completely hidden to workflow author Controlled via Editable & Visible attributes on each child activity BlackGreyWhite EditableFalseFalseTrue VisibleFalseTrueTrue

Property Promotion Enables the composition patterns Children at any depth can have their properties exposed 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

Custom Activity Designer

Summary An Activity is a key concept of WWF WWF allows you to write custom activities to model your application semantics explicitly System.Workflow.ComponentModel provides the framework to build custom activities Call to action: Write Activities!

Workflow Sessions Extending Workflow Capabilities With Custom Activities (COM328) Wed 3:15 – 150/151 Hall E Developing Rules-Driven Workflows (COM318) Wed 5:00 – 152/153 Hall F Developing Event-Driven State Machine Workflows (COM322) Thurs 2:15 – 515 AB Hosting and Communications in Workflow Scenarios (COM327) Thurs 5:15 – 402 AB Workflow + Messaging + Services - Developing Dist’d Apps (COM325) Thurs 3:45 – 150/151 Hall E Host Process Windows Workflow Foundation Runtime Engine Runtime Services Base Activity Library My Custom Activity Library State Machine Workflows Rules-Driven Activities Communication Activities My Workflows Introduction to Workflow in Windows Applications (COM210) Wed 1:45 – 150/151 Hall E Windows Communication Foundation Windows SharePoint Services: Developing Custom Workflows (OFF415) Thurs 11:30 – 408 AB

More Community Resources At PDC 12 Labs: COMHOL01-12 “Ask The Experts” tables – 4 tables and lots of experts COM Track Lounge Get your copy of the “Introducing Windows Workflow Foundation” book Keep your voucher from the Day2 morning keynote and redeem at the PDC bookstore After PDC If you missed this related session, watch it on the DVD MSDN dev center: Windows Workflow Foundation community site Channel 9 tag:

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.