Introducing workflow concepts
Exploring workflow technologies
Implementing workflow association and initiation
Windows SharePoint Services 3.0 (WSS v3) introduces one of the most sought-after features for collaboration-oriented applications called workflows. Workflows provide the backbone for implementing business-driven processes and the logical flow of work. A workflow, in its most basic definition, is a logical process that defines the flow of work in a business entity. You can think of it as a series of steps that take place while implementing a business practice. For example, the chronological order of the steps that occur in a document-approval process may be represented as a workflow where based on a certain set of conditions, an approver decides whether a document should be approved and sent up the chain to be reviewed by the senior approvers or be rejected. A series of steps that need to be executed before a loan application is approved or an insurance claim is accepted could form a workflow process. There are many key pieces to the logical representation of a workflow:
Stages: Stages define the states of an object in a workflow. For example, a document-approval workflow can have a number of stages through which the document passes before reaching the final approval state (which is when the workflow is deemed completed).
Events: Events are the triggers that can be used to start or stop a workflow. For example, the event of a document being submitted for review could be the start of a workflow process.
Conditions: Conditions define the logical clauses that decide what action or operation should be performed in the workflow or whether workflow should move from one stage to another. For example, checking a credit score may be a condition that needs to be determined for moving a loan application workflow to the next stage.
Actions: Actions (or activities) are the operations performed at a given stage in a workflow. Sending an e-mail to a document approver indicating that the document is available for review can be an action that's performed in a stage of a document-approval workflow.
Using these pieces, you can design a workflow process that implements the functional operatives of your business logic. While the aforementioned components have been discussed to elucidate the workflow logical implementation, the actual terminology defining them in SharePoint workflows might differ.
WSS v3 and MOSS 2007 implement the feature of SharePoint workflows. Architecturally, SharePoint workflows are based on the infrastructure provided by the Windows Workflow Foundation, a framework that's a part of Microsoft .NET Framework 3.0. While .NET Framework 3.0 provides the underlying engine that runs the workflows, SharePoint implementation provides a number of sustaining services to this engine. SharePoint Web sites provide a number of out-of-the-box customizable workflows, instances of which you can associate with lists and document libraries for SharePoint Web sites.
Although you can use the Windows Workflow Foundation to develop workflows for Windows Forms and Web-based applications, SharePoint specifically provides you with the feature implementation to quickly develop workflows for SharePoint objects, such as list items, document libraries, etc. SharePoint provides the object model framework that developers can leverage to create workflows for SharePoint Web sites by using developer tools, such as Visual Studio. These workflows can then be deployed to Web servers hosting SharePoint Web sites and configured for use in SharePoint lists and libraries.
SharePoint Designer, leveraging the architecture previously discussed, allows you to create declarative workflows for implementing business logic and processes. This chapter discusses the internals of SharePoint workflow architecture and how SharePoint Designer uses the infrastructure provided by SharePoint and Windows Workflow Foundation to help create business-oriented workflows.
18.217.222.205