Datasheet

These types of workflows were developed using a variety of tools, from paper and pencil to Microsoft
Visio or other modeling medium. Imagine the court system over 100 years ago or some kind of medical
procedure. They all involve a series of steps and a decision-making process.
Workflows with Code
Take a look at the following code listing:
public void ProcessOrder(Order order)
{
if (order.Lines.Count > 0)
{
if (order.Customer.CreditCheck())
{
if (order.Lines.AllItemsInStock())
{
order.ShipOrder();
return;
}
}
}
order.Cancel();
}
Although this is not a graphical diagram with shapes and arrows, it is a workflow. It uses specific infor-
mation, in this case an
Order object, to make decisions and produce an outcome. As long as the order
has line items and all items are in stock, it will be shipped. Otherwise, the order will cancel itself, per-
haps sending the customer an apology letter.
Object-oriented or procedural code is probably the most common way to implement workflows in mod-
ern software. Think about the projects you’ve worked on. Most likely you have automated some kind of
business process.
Although this is probably the most popular way to implement workflows today, it comes with its own
set of issues. One of the biggest problems with code is that the only people who can understand it are
software developers. Although this may provide job security for some individuals, it doesn’t make for a
happy business community.
Line of Business Systems
A
line of business
(LOB) system helps a business do something it is probably already doing. LOB systems
can range from the monstrous SAP and Oracle Financials to smaller, more specific applications that
handle tasks such as customer relationship management, order processing, or human resource-related
activities.
LOB systems can solve business problems common across many organizations, but they solve only
very specific problems. Although you may be able to customize an out-of-the-box process, you would
probably not develop a workflow from scratch inside an LOB. That is the kind of problem better left for
workflow engines.
9
Chapter 1: An Introduction to Workflow and Windows Workflow Foundation
04_053867 ch01.qxp 2/20/07 2:40 PM Page 9