The Workflow Management Coalition (http://www.wfmc.org) defines workflow as the
automation of a business process, in whole or part, during which documents,
information or tasks are passed from one participant to another for action,
according to a set of procedural rules.
Workflow itself is the process that is automated. A work item
or data set is created then is processed and changed in stages at a number of
processing points to meet business goals. Most workflow engines can now handle
very complex series of processes. Workflow normally comprises a number of
logical steps, each of which is known as an activity. An activity can involve
manual interaction with a user or workflow participant, or the activity might
be executed using machine resources. Delivering work to users does increase
A workflow management system defines, creates and manages
the execution of workflows through the use of software. It can interpret the
process definition, interact with workflow participants and, where required,
invoke the use of IT tools and applications.
K2 Workflow Examples
We need to understand what the workflow is before we
understand what K2.net workflow system can do. Instead of jumping into the tools
and features of the K2.net directly, I would like to give a few workflow
examples first. The examples here are fairly simple and straightforward. Some
more complicated workflows include things such as creating and assigning tasks
or open issues in SharePoint.
A user accesses the purchase request web-form to request a new
wireless mouse. One of the fields on the form is the "category." The
category field is a drop-down field with options like software, hardware, publications
and services. The user selects hardware as the category. Once all the fields
are filled in, he submits the form.
After the form is submitted, the K2.net 2003 server evaluates the
category field. If the field is either Hardware or Software, the Purchase
Request is directed to the IT Department. If it is one of the other categories,
it will go straight to the user’s manager for approval. In our wireless mouse
example the request goes to the IT Department.
The IT Department receives the request. They need to verify
whether the requested item is available as stock within the company. The
responsible IT person will access his Work list (in the K2.net 2003 Workspace
or smart form) and indicate if the item is available in-house or not. If it is
available, the workflow will be redirected to the hardware warehouse keeper; he
can deliver the item to the requester and indicate by web form that item has
been delivered. This completes the process. However, if it is not available
then the workflow will be redirected to the user’s manager; he may be notified
by email and then he can access the purchase request on his work list. The
manager is also presented with a web-form that gives him the opportunity to
either accept or reject the purchase request. If he decides to reject the
purchase request, he has the ability to enter a reject reason on the web form. The
reject reason will be included in the notification e-mail that is sent to the
user that requested the purchase. If the manager accepts the purchase request,
the user will receive a notification e-mail informing him that the purchase
request was accepted.
If the manager declines the purchase request then user will be notified,
thus the process is complete. If the manager approves the purchase request,
the user will be notified and at the same time a work item will be assigned to
the hardware purchase person. After he purchases the item he can indicate his
work has been finished. The hardware distributor will have the work item. After
he finishes his work item, the process is completed.
The benefit of using workflow as the business solution is that
once a request is initiated the work item will automatically be routed.
Meaning, everyone involved has to finish his work item before the process can move
on then everyone's work is recorded automatically in the process and (optionally)
can be recorded in other databases.
Note a WebForm (SmartForm) is used to initiate the K2 workflow. Similarly an InfoPath form can be used here to initiate a process. After the
user fills up the form, he can submit the form and it will create a new K2 process. It will do the same thing as in the above example.
The powerful drag and drop workflow design environment is
shown as follows and the code behind can be C# or Visual Basic .NET. and looks
like they are in Visual Studio .NET.
A K2 workflow has been set up to monitor a SharePoint
document library. The insert and update events of this document library have
been chosen to initiate the workflow process. If a user uploads a vacation
request form to the SharePoint library, a process will be initiated and a work
item will be sent to manager for approval. If a user uploads a training
request form, the same thing happens and a work item will be sent to both the
manager and HR training coordinator. For the vacation request, the manager
receives an e-mail that has been generated automatically by the K2 workflow. He can simply click the link in the e-mail and a SharePoint site is opened.
He can view the request document and then either approve or reject the request.
Here K2 can use SharePoint event to initiate a new process
without any programming required.