Before getting into further details it's important to understand the various activities that are available in the WF. WF provides you with more than a dozen basic set of activities which I will briefly discuss below in order to have a better understanding of WF.
- Code Activity: The Code Activity allows you to add your own VB or C# code to the workflow. The actual code in the Code Activity resides in a "code beside" and gets compiled with the workflow.
- Compensate Activity: This is an error activity and can be added to an exception handler activity only. This activity is to roll back the changes made by the workflow in case an error has occurred. You can call it as equivalent to rolling back a transaction.
- Conditioned Activity Group: This is a conditional activity that executes other activities based upon some condition that applies to the group or the activities attached to the group.
- Delay Activity: This activity allows you to build interval-based pauses into a workflow. You may call it as a timer activity that will set duration so that the workflow will pause before continuing to execute.
- Event Driven Activity: This is a flow activity that contains other activities that are to be executed when an event occurs.
- Fault Handler Activity: This is an error handling activity just like you have a catch block in your code. It can have various activities that are fired when an exception is occurred, including a Compensate Activity.
- IfElse Activity: This is a conditional activity just like you have If Else blocks in your application. You can have a branch of activities based on a certain condition.
- Invoke Web Service Activity: This activity can invoke a specific web method of a web service using proxy class. It can pass and receive parameters.
- Listen Activity: This activity is a composite activity. It requires a minimum of two event driven activities.
- Parallel Activity: This is again a composite activity which requires minimum two sequence activities. This activity ensures the parallel execution of the sequence activities and is not completed until all the sequence activities that make up the parallel activity are complete.
- Policy Activity: This activity represents a collection of rules. A rule has a condition and an action or actions that are to be taken when the condition is met. It allows having a rule-based workflow rather than setting up an IfElse based workflow which can get messier.
- Replicator Activity: This is also a conditional activity. Just like you have For Each statement in your application. It actually creates a number of instances of an activity while running which it must complete before the replicator activity can be completed.
- Sequence Activity: This is also a composite activity which is comprised of several sequential activities. It provides an easy way to link up those activities which are to be executed in a sequence.
- Set State Activity: This is a flow activity that is used to specify changeover to a new state within a state machine workflow.
- State Activity: This is a flow activity. This activity represents a State within a state machine workflow. For example, when an event is handled in a state machine workflow, a different state activity is inserted to handle that event.
- State Initialization Activity: This activity is part of a State activity that is made up of other activities that are to be executed when the state activity is initialized.
- Suspend Activity: This is a flow activity and can pause the operation of a workflow to allow intervention to occur if an error condition requiring special attention is raised in the execution of workflow. An error is logged against this activity and a workflow that is paused can still receive messages but those messages are queued.
- Terminate Activity: This activity immediately ends the execution of workflow if an error is raised. This activity also logs the error but unlike suspend activity it stops the execution of workflow.
- Throw Activity: This is an error handling activity like you have Throw statements in your application. You can use this activity to throw an exception from one workflow or an activity to another.
- Transaction Scope Activity: This activity offers transaction support. All activities that make up a transaction are placed in this activity.
- While Activity: This is a conditional activity and is just like a While statement in our application. It executes another activity until a condition is met. The condition can be either a code based or simply a rule based condition.
Disclaimer: The information contained in this message may be privileged, confidential, and protected from disclosure. If you are not the intended recipient, or an employee, or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer.