Extracted from the original post
Sharepoint workflow is based upon Windows Workflow Foundation(WF). Actually from the architectural point of view all the wrokflows implemented in sharepoint platform is based on WF3.x which is available in .NET framework 3.x. So what the hell is this workflow?
We have so many different definitions for this, but the simplest would be:
Any business task which needs some other tasks to be done in order to reach the end of that business task is a called a workflow.
This definition however, is the most general def. Any WF workflow is basically composing of set of elements called activities. In fact, what get execute is the activity. You can think of workflow as a set of these activities which are executed finally. An activity needs work flow engine to get execute. Fortunately Microsoft has provided that in terms of WF engine. The most known workflows are: Sequential and State Machine Sequential: it has start, end and moves forward in the flow.(no backward is supported).consists of steps. State Machine: it has start, end (not necessary), can move backward. Consists of states instead of steps. In sharepoint 2010 if a workflow is running in a site, you can programmatically get access to it by the property workflow. For example, in the task list there is a property workflow which related to the workflow associated to that task list. At the end it is worthy to say that sequential workflow is inherited from SequentialWorkFlowActivity class and state Machine from StateMachineWorkFlowActivity.For complete post click here