- A defined series of steps
- States and events that define a process
- Long running: workflows are different from normal programs, they involve people and unlike most systems, they don't have necessarily defined a single start point and defined a single end point. They might pause for a long period of time or never even complete.
- Can bridge multiple systems, people and organizations
Sharepoint Workflows
- List item or document centric
- Task oriented: Sharepoint workflows are designed for people to be involved and they are gonna provide their input and modification to the workflow via the Sharepoint Task List.
- Capable of interfacing with external systems
Types of Workflows
- Sequential workflow
- Similar to a flow chart
- Sequence of activities
- Branches and loops
- Defined beginning and end
- Can become complex quickly
- State Machine workflow
- States and transitions between states
- Event driven
- Effective in complex scenarios
Workflow vs. List Events
- List events have no UI
- Workflows are completely asynchronous.
- List events are attached with features
- Can attach workflow in the browser
- Events are tightly coupled
- Workflows are generally more complex
Tools
- WSS 3.0
- Forms developed in ASPX
- MOSS Enterprise or Forms Server 2007
- Forms developed in ASPX or InfoPath
- Visual Studio 2005
- Visual Studio Extensions for .Net Framework 3.0
- Visual Studio 2008
- WSS SDK
- MOSS SDK and ECM Starter Kit
Forms Options
- WSS and MOSS Standard
- ASPX Forms
- MOSS Enterprise and Forms Server 2007
- ASPX Forms
- InfoPath Forms
Possible Workflow Elements
- Workflow
- Association Form
- Initiation Form
- Modification Form
- Task Edit Form
- Status Page
Workflow Runtime
- Workflow Foundation
- Managed by System.Workflow.Runtime.dll
- Interfaces for
- Scheduling
- Persistence
- Tracking
- Communications
- Transactions
- Implementation depends on the host of the workflow.
- Sharepoint is a workflow host.
Host Responsibilities
- Implementation of provider interfaces
- Scheduling
- Persistence
- Tracking
- Communication
- Transaction
- Security
- User Interface