Title: Chapter 1: Overview of Workflow Management
1- Chapter 1 Overview of Workflow Management
Dr. Shiyong Lu Shiyong_at_wayne.edu Department of
Computer Science Wayne State University
2- Overview of Workflow Management
Dr. Shiyong Lu Shiyong_at_wayne.edu Department of
Computer Science Wayne State University
3The DUS Triangle (C. Zhai, 2008)
- Many computing paradigms can be characterized as
an instance of the DUS Triangle. - Workflows is one such computing paradigm (a
workflow connects tasks, agents, data together
with flows.)
4What is a workflow?
- A computerized model of a business or scientific
process consisting of multiple workflow tasks and
their coordination dependencies. - Workflows are essential to enterprise operation
as most business activities of an enterprise
today are computerized and automated using
workflows. - Workflows become increasingly important for
scientific computing as more and more scientific
computation and analysis processes are
represented and executed as workflows.
5A workflow example
(S. Lu, 2002)
6What is a Workflow Management System?
- A Workflow Management System (WFMS) is a system
that supports the specification, execution, and
monitoring of a workflow. - Supports a high-level workflow specification
language (e.g., BPEL) - Applications or users describe their workflows
using that language. - WFMS interprets a workflow of that language by a
coordinated execution of the tasks in the
workflow.
7Major components of a WFMS
(C. Lin, et al. 2008)
(Hollingsworth, 1995)
8Process definition tool
- Defines a workflow using a workflow specification
language in a textual, graphical, or scriptual
format. - The output of such a tool is a workflow
definition that typically includes - Workflow name, version, creation time, author,
description, keywords, etc - Workflow tasks
- Coordination dependencies, typically in terms of
controlflows and dataflows.
9Workflow enactment service
- Interprets a workflow specification by creating,
executing, and managing runtime instances of
workflows - Consists of one or more workflow engines
- Schedules the invocations of workflow tasks
- Maintains the status of runtime instances of
workflows and tasks.
10Workflow client applications
- Supports the execution of workflow tasks that
need to be performed by humans (human tasks). - A workflow engine creates and enqueues work items
to a worklist. - A worklist handler dequeues and routes work items
to different users for performing. - Issues communication mechanism, access control,
scheduling, load balancing, user interface design.
11Invoked applications
- Supports the execution of workflow tasks that are
performed automatically by computers (automatic
tasks) - Invoke various local or remote heterogeneous
applications - Session, data, execution, and event management.
12Interoperability
- On one hand, a workflow might go across multiple
enterprises, on the other hand, different
enterprises might choose different WFMSs. - Interoperability at various levels
- Subsystem
- Task
- Workflow
- An effort led by the Workflow Management
Coalition (wfmc.org)
13Administration and monitoring tools
- Administration
- User management
- Role management
- Audit management
- Process supervisory functions
- Resource control
- Monitoring
- Status, progress, performance of execution of
workflows - Failure report and human intervention
14What is a Workflow Application System (WFAS)?
- An ad hoc system that is deployed based on a
particular workflow specification typically with
the support of a WFMS. - It only supports one or a set of fixed closely
related workflows for a particular workflow
application. - Workflow evolution is possible but usually needs
to go through a formal business re-engineering
procedure.
15A typical deployment of a WFAS
16System requirements
- Availability. It is important for an enterprise
to conduct its normal business operations. - Reliability. Workflows need to be executed
reliably even in the presence of failures and
concurrency. Status and data cannot be lost. - High throughput. Efficiency of a companys
business operations. Many users and many task
runs/per second. - Scalability. The system should scale well as the
demands and resources increase.
17System requirements (cont)
- Security. As the system is accessible by many
users, potentially from different geographically
distributed enterprises, security is important. - Interoperability. On one hand, a workflow might
go across multiple enterprises, on the other
hand, different enterprises might choose
different WFMSs.
18Developers of a WFAS
- System analyst. The system analyst works with
the customer to identify business rules,
requirements, and policies and produce a
requirement analysis document. - Workflow engineer. The workflow engineer designs
a workflow specification based on the requirement
analysis document. - Application programmer. Implements individual
workflow tasks and interfaces of the workflow and
deploys the system. - Project manager. Direct and oversee the
successful completion of the whole project.
19Users of a WFAS
- End users. Perform human tasks assigned to them.
- Workflow administrator. 1) Manage workflow end
users and applications 2) Monitors workflow
execution and 3) Intervenes during failures of
workflow execution. - System administrator. Responsible for the whole
system 1) hardware and software need, 2)
configuration, and 3) performance and security.
20The Trend of workflow
(1/10/2012)
http//www.google.com/trends, interpret it on
your own risk!
21Workflow vs. software engineering
22Workflow vs. bioinformatics