Custom Shaker Bottles | Custom Water Bottle | Custom Protein Shakers
Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... ·...
Transcript of Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... ·...
![Page 1: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/1.jpg)
![Page 2: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/2.jpg)
K. MeenaDirectorSymIndia Training & Consultancy Pvt [email protected]
Extending Workflow Foundation
With Custom Activities
![Page 3: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/3.jpg)
AgendaNeed
Activity Automation
Creating Simple Activities Basic Features
Advanced Features
Activity Component Model
Creating Composite Activities
![Page 4: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/4.jpg)
Objectives and Pre-requisites
ObjectivesUnderstand Activity AutomationDevelop Custom activities
Pre-requisite KnowledgeWF ArchitectureExperience in designing/developing WF based applications
![Page 5: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/5.jpg)
AgendaNeed
Activity Automation
Creating Simple Activities Basic Features
Advanced Features
Activity Component Model
Creating Composite Activities
![Page 6: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/6.jpg)
Activity Basics
Activities are the building blocks of workflows
The unit of execution, re-use and composition
Basic activities are steps within a workflow
Composite activities contains other activities
![Page 7: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/7.jpg)
Activities: An Extensible Approach
l General-purposel Define workflow
constructsl Create/Extend/
Compose activitiesl App-specific building
blocksl First-class citizens
Base Activity
Library
Custom Activity Libraries
Author new activity
Extend activity
Compose activitiesOut-of-Box
Activities
l Vertical-specific activities & workflows
Domain-Specific Workflow Packages
Compliance
RosettaNet
CRM
IT Mgmt
Sae
Fill
![Page 8: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/8.jpg)
ExamplesCredit Process
Add Customer ProfileGet Black listed ListCompute Credit Score
Mortgage ProcessingGet Flood Insurance QuoteCompute Tax Prioritized Processing of Tasks
![Page 9: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/9.jpg)
WF with other Microsoft Products
SharePoint 2007 Designer Send Email with List Item Attachments
Grant Permissions to an item
Copy List Item
Delete List Item Permission Assignment
Microsoft Dynamics CRM 4.0Wizard based Workflow Creation
Custom Activities
Get the next Birthday
Calculate Distance between Two zip codes
Calculate Credit Score
![Page 10: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/10.jpg)
WF with other Microsoft Products
Microsoft Speech Server 2007CheckVoicePrintExistence
RegisterSpeakerVoicePrint
PerformDictation
![Page 11: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/11.jpg)
AgendaNeed
Activity Automation
Basic Features
Advanced Features
Activity Component Model
![Page 12: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/12.jpg)
Calculate Pi
InArgument<Int64> DecimalPlaces
OutArgument<string> PiAsString
Execute
Completed
Atomic Work
![Page 13: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/13.jpg)
Prompt
InArgument<string> Question
OutArgument<string> Response
Execute
Completed
Bookmark Resumeyield
Continuation, Long Running, or Reactive Execution
![Page 14: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/14.jpg)
Process TransferRequest
Receive RequestAuthorize Request
Execute
Completed
Composite execution
Schedule activity
Child completed
yield
Composite Activity
![Page 15: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/15.jpg)
Activity Scheduling Pattern
FIFO dispatchScheduler Work Queue
Holds work items Non-preemptive behavior
![Page 16: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/16.jpg)
Activity State Model
Transition Initiator
Activity
Workflow Runtime
Initialized Executing Closed
Compensating
Faulting
Activity Fault
Canceling
(dashed line if final)
![Page 17: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/17.jpg)
Activity Automation - Basic
Activity begins in Initialized state
Runtime Moves it to Executing state when its work begins
Moves to Closed state when its work is completed
Initialized Executing Closed
![Page 18: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/18.jpg)
AgendaNeed
Activity Automation
Creating Simple Activities Basic Features
Advanced Features
Activity Component Model
Creating Composite Activities
![Page 19: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/19.jpg)
Derive From Activity Class
InitializeAllocate resources
Execute Do work
Indicate whether the activity completed its work or not
UnInitializeCleanup resources allocated during Initialize
OnClosedCleanup resources allocated during the execution of the activity
![Page 20: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/20.jpg)
ActivityExecutionContext
Execution EnvironmentApplication State – Activity tree
Runtime State - internal queues and data structures for scheduling and execution
Selectively exposesWorkflow runtime capabilities
Services
![Page 21: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/21.jpg)
Additions
Custom propertiesIndependent
Dependent
Custom methods
Custom Events
![Page 22: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/22.jpg)
Dependency Properties
Centralized repository of a workflow's state Instance type
Data Binding at runtime To another activity’s property
Meta type of dependency propertyMandatory to be set to a literal value at design timeImmutable at run time
Attached PropertiesAn activity registers itOther activities make use of it
![Page 23: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/23.jpg)
Simple Activity – Basic FeaturesGayathri Kumar
Director
SymIndia Training & Consultancy Pvt Ltd
![Page 24: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/24.jpg)
AgendaNeed
Activity Automation
Creating Simple Activities Basic Features
Advanced Features
Activity Component Model
Creating Composite Activities
![Page 25: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/25.jpg)
Activity State Model
Transition Initiator
Activity
Workflow Runtime
Initialized Executing Closed
Compensating
Faulting
Activity Fault
![Page 26: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/26.jpg)
Exception Handling
In case of errorActivity handles the exception and continues
Activity does not handle the exception
Unhandled ExceptionsImmediate transition to ‘Faulting’ state
HandleFault method enqueued
Default implementation moves activity to Closed state
Perform any cleanup work to free resources
Indicate whether to move to Closed state or not
![Page 27: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/27.jpg)
Exception Handling
Propagation to parent of the fault activityCan be suppressed
scheduled only when the faulting activity transitions to Closed state
![Page 28: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/28.jpg)
Compensation
Mechanism by which previously completed work can be undone or compensated
when a subsequent failure occurs
Using Transactions to rollback ?Not possible when the workflow is long running
![Page 29: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/29.jpg)
Scenario
A travel planning applicationBooking a flightWaiting for manager approvalPaying for the flight
Long running ProcessNot practical for the steps to participate in the same transaction.
Compensation could be used to undo the booking step of the workflow
if there is a failure later in the processing.
![Page 30: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/30.jpg)
Compensatable Activity
Implement ICompensatableActivityCompensate method
Short-running or Long running compensation logic
Indicate readiness to transition to Closed state
Called whenThe ActivityExecutionState is ‘Succeeded’
ActivityExecutionStatus to be ‘Closed’
![Page 31: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/31.jpg)
Faulting & CompensationGayathri Kumar
Director
SymIndia Training & Consultancy Pvt Ltd
![Page 32: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/32.jpg)
AgendaNeed Activity Automation Creating Simple Activities
Basic FeaturesAdvanced Features
Activity Component ModelCreating Composite Activities
![Page 33: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/33.jpg)
Design Time Experience
Appearance
Custom context menus
Validations
Dynamic Properties
![Page 34: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/34.jpg)
Activity Component ModelEach 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
SerializerServices
Toolbox Item
![Page 35: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/35.jpg)
Design Time FeaturesGayathri Kumar
Director
SymIndia Training & Consultancy Pvt Ltd
![Page 36: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/36.jpg)
AgendaNeed Activity Automation Creating Simple Activities
Basic FeaturesAdvanced Features
Activity Component Model Creating Composite Activities
![Page 37: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/37.jpg)
Typical Composite Activity Execution
Composite Activity
..
..
..
+= OnChildClosed
+= OnChildClosed
Execute()
Status.Closed()
Child
Activity
Child
Activity
![Page 38: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/38.jpg)
Sequence Activity – Execute()
protected override ActivityExecutionStatus Execute(ActivityExecutionContext context)
{
if (this.EnabledActivities.Count == 0)
return ActivityExecutionStatus.Closed;
Activity childActivity = this.EnabledActivities[0];
childActivity.Closed += OnClosed;
context.ExecuteActivity(childActivity);
return ActivityExecutionStatus.Executing;
}
Void OnClosed(object sender, ActivityExecutionStatusChangedEventArgs e)
{
ActivityExecutionContext context = sender as ActivityExecutionContext ;
e.Activity.Closed -= this.OnClosed;
int index = this.EnabledActivities.IndexOf(e.Activity);
if ( index+1) == this.EnabledActivities.Count)
context.CloseActivity();
else
{
Activity child = this.EnabledActivities[index+1];
child.Closed += this.OnClosed;
context.ExecuteActivity();
}
}
![Page 39: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/39.jpg)
Interleaving
Start all activities in a burst
Subscribe for Closed Event of all children
In Closed event handlerCall CloseActivity only if every child is in Closed state (completed)
![Page 40: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/40.jpg)
Sequencing or Interleaving?
WF runtime has no knowledge
![Page 41: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/41.jpg)
Custom Composite
Derive fromSequenceActivity
CompositeActivityNo default logic for handling child activities
Override Execute method
![Page 42: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/42.jpg)
Activity State Model
Transition Initiator
Activity
Workflow Runtime
Initialized Executing Closed
Compensating
Faulting
Activity Fault
Canceling
(dashed line if final)
![Page 43: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/43.jpg)
CancellationComposite Activity’s Parent invoking cancellation
Faulting Logical error within composite activity itself
One of the child activities has faulted
Control Flow logic of the composite activity
Scenario: you try to sell your houseThru newspaper ad, thru broker , internet ad
‘Any one will do’
![Page 44: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/44.jpg)
CancellationComposite should
not request any more activities to be executed
Composite should cancel all activities with status as “Executing”
Each child activity’s Cancel method invoked
Each Child activity performs cleanup and closes
Only when all child activities are in either ‘Closed’ or in ‘Initialized’ state
Composite moves to ‘Closed’ state from the cancelling state
![Page 45: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/45.jpg)
Cancelling Child activitiesGayathri Kumar
Director
SymIndia Training & Consultancy Pvt Ltd
![Page 46: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/46.jpg)
Dependency Properties -Attached
Composite activity registers a property
It is then used by child activities
ScenariosConnectionString property for each child activity
Maximum count / Retry for each child activity
![Page 47: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/47.jpg)
Attached PropertiesGayathri Kumar
Director
SymIndia Training & Consultancy Pvt Ltd
![Page 48: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/48.jpg)
Pegasus Activity Library
Imaging Activities for WF and MOSSdeskew, despeckle, border cropping, inverse text correction, removal of dot shading, line removal, character smoothing
Scenario : Sharepoint workflow is triggered when users add faxed documents to a Sharepoint document library.
Apply despeckle and deskew activities, convert the images into PDF format, and forward them to users.
![Page 49: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/49.jpg)
Pegasus Activity Library
Workflow Take groups of images from a large microfiche image collection
Tests them for inverted display and negates them if needed
Removes unsightly borders
Positions the new images on the page
Saves them as multi-page TIFF files
![Page 50: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/50.jpg)
More Examples
Repeated Execution of Child Activities
Prioritized Execution of Child Activities
GetApprovals‘M’ of ‘N’ will do
Activities with support forEvent handling
Transactions
![Page 51: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/51.jpg)
Summary
You can extend workflow capabilities with Custom Activities
Simple / Composite
Custom Semantics / Model domain logic
Understanding Activity Automation is critical to writing custom activities
Rich Design time Experience
Normal Execution cycle
Compensation, Cancellation, Fault Handling
![Page 52: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/52.jpg)
![Page 54: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/54.jpg)
Related Content
Overview of .NET Framework 4.0
Dublin: A Boon to WCF and WF Developers (for on-premise and cloud)
![Page 55: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/55.jpg)
Resources
URLs with relevant Articleshttp://msdn.microsoft.com/en-us/magazine/cc163504.aspxhttp://msdn.microsoft.com/en-us/library/aa480200.aspxhttp://msdn.microsoft.com/hi-in/magazine/cc163414(en-us).aspx
“Essential Windows Workflow Foundation”Book by Dharma Shukla and Bob Schmidt
![Page 56: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/56.jpg)
Track Resources
Resource 1
Resource 2
Resource 3
Resource 4
![Page 57: Creating Custom Activities in WFdownload.microsoft.com/download/F/3/3/F33D91DF-D6E3-442A... · 2018-10-16 · Custom Activities Get the next Birthday Calculate Distance between Two](https://reader034.fdocuments.us/reader034/viewer/2022050109/5f46f4009075754c2754095f/html5/thumbnails/57.jpg)
© 2009 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.