Overview
|
|
Figure: Microsoft knows the power of a good diagram
|
Everyone knows the benefits of having a big white board,
flip chart, or piece of butchers paper at a meeting.
People transfer, learn and retain information more
effectively when information is presented visually. With
a flow chart, pie chart, diagram, or mind-map learners
can understand, explain, and organise large pieces of
information, rather than having to read paragraph after
paragraph of text.
Windows Workflow Foundation (WF) is a way of bringing
such simple and powerful learning techniques into the
software development world.
WF is a framework for defining, executing, and managing
workflows. Much like a flow chart where different paths
can be taken based on a rule at a given point in time, a
Windows Workflow is a process which describes the flow
of data between systems and/or people.
WF provides both a graphical and declarative way of
defining workflows, as well as providing out of the box
a large amount of activities that can be added to an
application. You can also extend and create your own
activities for processing giving you the flexibility to
define a workflow that suits your business needs.
The Windows Workflow Foundation also provides a visual
development environment that facilitates the simple
development of workflow from both developers and
business managers perspectives.
Benefits
- Simply manage long running business processes which are
dependant upon particular events or timelines to take the
process further (e.g. expense approval systems, emergency
escalation systems)
- Integrated with the .NET framework
- Develop simply using VB.NET, C# or XAML
- Design, debug and compile inside Visual Studio
- Contains built in set of general purpose activities
- Visual rendering of real-world workflows making mapping
of the business processes simple. For example, change this code ...
Figure: VS .NET code, NOT understood by most business managers
... into this readable workflow (with the code under the covers)!
Figure: This is a Sequential Workflow in the VS.NET 2005 designer. The Workflow (WF) processing shows where documents go once approved. This is an example of document workflow, however all software looks at information and made decisions based on business rules (that means you already are writing workflow software!).
which equals:
A very happy manager!
Figure: A manager who can understand the software workflow
is a happy manager!
Is WF a 'One-Size Fits All' Approach?
Developing applications using WF adds extraordinary
efficiencies to particular types of projects, but it can
be an unnecessary layer of development for others.
Developers should use WF when an application (or
business) is process driven, with multiple outcomes or
flows of data depending upon the steps chosen by the
user (or the system).
Building a regular forms/database application for such a
business would require a lot of manually written logic
as well as writing the scheduling event listening parts
to wait around for events to change state (which can be
a problem in the event of server restarts.)
WF allows developers, and users, to identify commons
activities (e.g. "Give Approval"), and call and reuse those
activities. Best of all, everyone can sit around a table to
view and discuss the actual flow of those activities.
Technologies
-
Part of .NET Framework 3.0 and available natively in the
Windows Vista operating system
- Also backported to the Windows XP and Windows 2003
Server operating systems.
- .NET Framework 3.0
"workflow runtime" provides common facilities for running
and managing the workflows and can be hosted in any CLR app
domain.
- Can utilise two methods of declaring the structure of
the workflow: XAML (a new XML-based language) OR in code
using any .NET-targeted language (e.g. C#)
|