matt winkler program manager microsoft corporation tl21
TRANSCRIPT
![Page 1: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/1.jpg)
WF 4.0: Extending Workflow With Custom Activities
matt winklerprogram manager
[email protected]://blogs.msdn.com/mwinkle
Matt WinklerProgram ManagerMicrosoft corporation
http://blogs.msdn.com/mwinkle
TL21
![Page 2: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/2.jpg)
Workflow overview Activity overview Basic activity authoring Advanced activity authoring Activity designers
Agenda
![Page 3: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/3.jpg)
Host (.exe, IIS, "Dublin", .NET Services, …)
WF Runtime Extensions
Tracking
Persistence
…
What Is Workflow?
Workflow programs coordinate work with minimal ceremony
Activities Runtime Tooling
ToolingVS
DesignerVS
DebuggerRehosted Designer
WorkflowActivity Library
![Page 4: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/4.jpg)
Activity
Work
Data
![Page 5: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/5.jpg)
Activity model and runtime
Control Flow activities
Flowchart Sequential State machine Rules
Activity LibraryCustom activities
Base Activity library
WCF messaging
Database PowerShell
Error handlingExpressions
Interop
Utilities
WF primitives
BPEL
Sharepoint Dynamics Systems center HPC Team Foundation
server<YOUR CODE HERE>
![Page 6: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/6.jpg)
Compose and configure the vocabulary Unit of work not available out of the box Model custom control flow
Why Custom Activities?
![Page 7: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/7.jpg)
Creating A Custom Activity Demo
demo
![Page 8: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/8.jpg)
Activity Overview
![Page 9: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/9.jpg)
CollectVotes
InArgument<string> Polling Place
InArgument<DateTime> ElectionDate
OutArgument<List<Vote>> Votes
Activities = Data
![Page 10: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/10.jpg)
Sequence
CollectVotes
Polling Place
ElectionDate
Votes
AnalyzeVotes
Votes
Results
Variable<List<Votes>> Votes
Activities = Data
![Page 11: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/11.jpg)
Calculate PiInArgument<Int64> DecimalPlaces
OutArgument<string> PiAsString
Execute
Completed
Atomic execution
Activities = Work
![Page 12: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/12.jpg)
Prompt
InArgument<string> Question
OutArgument<string> Response
Execute
Completed
Bookmark Resume
Continuation, Long Running, or Reactive Execution
yield
Activities = Work
![Page 13: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/13.jpg)
Call 2 friends
Call Ed Call Kenny
Execute
Completed
Composite execution
Schedule activity
Child completed
yield
Activities = Work
![Page 14: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/14.jpg)
Executing Closed
Canceled
Faulted
Activity Lifecycle
![Page 15: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/15.jpg)
Composing New Activities
demo
![Page 16: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/16.jpg)
Advanced Activity Authoring Activity Data driven
Declares managed state (arguments, variables)
Execution logic is activities
WorkflowElement Declares managed state (arguments, variables)
Execution logic is opaque code
Interact directly with runtime
![Page 17: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/17.jpg)
Activity Execution Context
Scheduling and control Bookmarks Resolving data Execution properties (Tx, Identity, etc) Host access Asynchronous I/O
![Page 18: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/18.jpg)
Custom Execution Patterns
demo
![Page 19: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/19.jpg)
Long Running Activities
demo
![Page 20: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/20.jpg)
Creating Activity Designers
Customize developer experience Strongly leverage WPF data binding Loose coupling between runtime
and design time
Infrastructure
XAML
Model instance
Model item tree
WorkflowViewElement
WorkflowItemPresenter
WorkflowItemsPresenter
ExpressionTextBox
![Page 21: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/21.jpg)
Creating Activity Designers
demo
![Page 22: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/22.jpg)
Activities are the atoms of Workflow Activity = Data + Work Wide range of control over execution
Write activities!
Summary
![Page 23: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/23.jpg)
One More Thing…
![Page 24: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/24.jpg)
Resources
Breakout sessions TL17 – WF 4.0: A First Look TL06 – WCF 4.0: Building WCF Services With WF BB18 – “Dublin”: Hosting And Managing
Workflows And Services BB27 – .NET Services: Orchestrating Services And
Business Processes Using Cloud-Based Workflow BB57 – Dynamics AX: Building Business Process
Into Your Application http://msdn.microsoft.com/wf/future/ http://msdn.microsoft.com/wcf/future/ http://blogs.msdn.com/endpoint
![Page 25: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/25.jpg)
Evals & Recordings
Please fill
out your
evaluation for
this session at:
This session will be available as a recording at:
www.microsoftpdc.com
![Page 26: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/26.jpg)
Please use the microphones provided
Q&A
![Page 27: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/27.jpg)
© 2008 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.
![Page 28: Matt Winkler Program Manager Microsoft corporation TL21](https://reader036.vdocuments.site/reader036/viewer/2022062417/551b6fe5550346ae7a8b6268/html5/thumbnails/28.jpg)