Search This Blog

2009-06-16

Basics Of Windows Workflow Foundation

What is a Workflow?A set of activities that coordinate peopleand / or software.

What are Activities?An activity is a step or unit that represents runtime logic in a workflow.is the basic building block.An activity can expose properties and events that can be programmed againist within a workflow. An activity can also contain methods that are invoked by the workflow designer or workflowRuntime.Properties and events that are exposed to the outside world and can be programmed from the workflow.It Supports pre/post interception hooks into execution in user code.Methods which implement the inner behavior and are called by the workflow runtime.

What are the different categories of Activity?Activites fall under two broad categories:- Basic or sometimes called Primitive activities, which are steps in a workflow that execute runtime logic.Basic activities are steps that “do work”- composite – which manage a set of child activities.In fact, a workflow itself is an activity.One variant of composite activites is a root activity.Workflows are just a special kind of composite activity

What are the different Types Of Workflow?There are two types of workflow:1.Sequential2.State MachineA state-based workflow waits on external entities to perform some action before moving on to the next step. On the other hand, a sequential workflow is just a continuous flow of operations which might include branching, but steps in the sequential workflow don't wait for an external entity to perform the operation, and then continue.

Which workflow to choose ?

Sequential workflow follows the traditional style of thinking - i.e. as long as the process is simple and stays in the boundary then a sequential workflow will work.On the other hand, state machine workflows deal with different states of the workflow. A process which involves several different iterations before getting into the final shape is a candidate for being a state machine workflow.

Why Workflows and WF?One of the biggest reasons for creating a workflow is that you are actually creating a model. Most of the business processes have some sort of model associated with them, whether it is use-cases, UML diagrams or a simple flow chart. In a process you always have some flow and thus, there will always be some steps involved in its execution.With WF, model and workflow are one and the same. You use pieces of a business process to make a workflow and you piece together the workflow, which makes a model. Before WF you would make couple of UML diagrams, drawing flow-charts, writing pseudo code, explaining in bulleted text how an operation should work and then finally you will get to writing the code, whereas with WF when you are modeling the business process you are also building the application!

What is the Host Process for WF?A WF has no executable environment and requires a host process within which it can execute. They are not applications themselves, rather, they require an application where they can reside. This host process can be a Windows Application or an ASP.NET Web application.

What is Workflow RunTime Engine?The WF runtime engine executes workflow made up of activities created with VS2005 Workflow Designer. The runtime engine includes three basic services:-1.Scheduling (schedules the execution of activities within a workflow)-2.State Management (allows the state of the workflow to be persisted instead of storing it in some other mechanism like database)-3.Rules (executes policy activities i.e., add rules on the workflow against certain activities in order to control the flow)