Generic Activities
Workflow Designer is built using the Windows Workflow Foundation (WF) in the .NET Framework. It contains Microsoft's built-in (generic) workflow activities and activities created specifically for Anthology products (CMC Activities).
The Microsoft WF activity library contains the activities described below. These activities are used in conjunction with the CMC Activities developed for Anthology.
For detailed information about WF features first introduced in .NET 4.5 refer to http://msdn.microsoft.com/en-us/library/vstudio/hh305677(v=vs.110).aspx.
Collection
Collection activities are used to work with collection objects in a workflow. The .NET Framework has system-provided activities for adding and removing items from a collection, testing for the existence of an item in a collection, and clearing a collection. ExistsInCollection and RemoveFromCollection have an OutArgument of type Boolean, which indicates the result.
For more information, see http://msdn.microsoft.com/en-us/library/vstudio/ee358729(v=vs.100).aspx.
Control Flow
The .NET Framework provides several activities for controlling flow of execution within a workflow. Some of these activities (such as Switch and If) implement flow control structures similar to those in programming environments such as Visual C#, while others (such as Pick) model new programming structures.
Note that while activities such as the Parallel and ParallelForEach activities schedule multiple child activities for execution simultaneously, only a single thread is used for a workflow. Each child activity of these activities executes sequentially and successive activities do not execute until previous activities either complete or go idle. As a result, these activities are most useful for applications in which several potentially blocking activities must execute in an interleaved fashion. If none of the child activities of these activities go idle, a Parallel activity executes just like a Sequence activity, and a ParallelForEach activity executes just like a ForEach activity. If, however, asynchronous activities (such as activities that derive from AsyncCodeActivity) or messaging activities are used, control will pass to the next branch while the child activity waits for its message to be received or its asynchronous work to be completed.
For more information about the classes, methods, and properties associated with each activity, refer to http://msdn.microsoft.com/en-us/library/vstudio/ee358737(v=vs.100).aspx.
Error Handling
The .NET Framework provides several system-provided activities for implementing error handling and recovery.
Activity | Description |
---|---|
Rethrow | Rethrows the last exception thrown from within a TryCatch activity. |
Throw | Throws an exception. |
TryCatch | Implements exception handling. |
For more information, see http://msdn.microsoft.com/en-us/library/vstudio/ee358726(v=vs.100).aspx.
State Machine
The .NET Framework provides several system-provided activities and activity designers for creating state machine workflows.
For more information, see http://msdn.microsoft.com/en-us/library/vstudio/gg983475(v=vs.100).aspx.
Flowchart
The .NET Framework provides several system-provided activities for controlling execution and branching within a Flowchart.
For more information, see http://msdn.microsoft.com/en-us/library/vstudio/ee358753(v=vs.100).aspx.
Messaging
Messaging activities allow workflows to send and receive WCF messages. By adding messaging activities to a workflow you can model any arbitrarily complex message exchange patterns (MEP).
Activity | Description |
---|---|
CorrelationScope | Creates and configures a CorrelationScope activity that provides implicit management of child messaging activities with a CorrelationHandle object. |
InitializeCorrelation | Creates and configures an InitializeCorrelation activity that is used to initialize correlation without sending or receiving a message. |
Receive | Creates and configures a Receive activity that receives a message from a service. |
ReceiveAndSendReplyFactory | Creates a pre-configured pair of Send and ReceiveReply activities within a Sequence activity. |
Send | Creates and configures a Send activity that sends a message to a service. |
SendAndReceiveReplyFactory | Creates a pre-configured pair of Receive and SendReply activities within a Sequence activity. |
TransactedReceiveScope | Creates and configures a TransactedReceiveScope activity which enables the flow of transactions into a workflow. |
For more information, see http://msdn.microsoft.com/en-us/library/ee829543(v=vs.110).aspx.
Primitives
The .NET Framework provides several system-provided activities that provide a convenient mechanism for performing common tasks.
For more information, see http://msdn.microsoft.com/en-us/library/vstudio/ff742828%28v=vs.100%29.aspx.
Runtime
The .NET Framework provides several system-provided activities for accessing the features of the workflow runtime, such as persistence and termination.
For more information, see http://msdn.microsoft.com/en-us/library/vstudio/ee358752(v=vs.100).aspx.
Transaction
The .NET Framework has several system-provided activities for modeling transactions, compensation, and cancellation. These programming models allow the workflow to continue forward progress in the event of changes in business logic and error handling.
For more information, see http://msdn.microsoft.com/en-us/library/vstudio/ee358756(v=vs.100).aspx.