A Report on Workflow Management Systems
written by Francis
Chan (fchan@eecs.berkeley.edu)
Objective
Workflow Management is an integral part of project and
task management which affects those along the whole
business and project chain. It is currently a hot
topic in both industry and research. Workflow management
applications span from Lotus Notes, a groupware, which resides
close to the user and group collaboration level, to file
and object configuration management applications such as
ClearCase and Continuus/CM. Workflow is an especially important
issue in a design environment as there are constant updates
and editing as well as multiple engineers working on the
same modules or files. With the recent emergence and
deployment of the Internet and Intranets, an extra dimension
of distributed processing and collaboration must be
considered when designing the architecture of this new
brand of applications.
Through the research of workflow management
applications, we hope to draw inspirations on the essentail qualities
and characteristics of workflow applications so as to allow us to
design and implement one for our distributed design environment.
Detailed Description
Evolution
Workflow systems have evolved greatly in the past two decades. First
generation tools were mainly file-based version control applications
such as Source Code Control System (SCCS), Revision Control System
(RCS) and Concurrent Versions System (CVS) which supported a
check-in/check-out model as well as simple branching. Archives store
the contents (files) and meta data, such as user name, tags,
comments, etc., for each version of the files.
Then came software configuration management tools, such as ClearCase
and Continuus/CM. They provided file transparency and project
repository as well as a more extensive versioning system, branching,
merging, shared binaries and parallel development capabilities.
While software configuration tools related more towards programmers
and designers, groupware, exemplified by
Lotus Notes, targeted more towards project and group collaboration.
Groupware provides capabilities such as a sophisticated messaging
system, document processing, database and search support, directory
service and access security control.
Characteristics of Workflow Management Systems
After taking an in-depth look into existing applications, we have come
up with a set of characteristics that we feel are desirable, if not
essential, for a (distributed web-based) workflow management system.
These capabilities include:
- Version Control
- Build Management
- Process Management
- Workspace Management
- Tool Integration
- User Interface
Version Control
- Versioning all file system objects (text, image, binaries)
- Versioning directories, sub-directories and file system links
- Deltas to store and restore changes
- Audit trail of source changes
- Unlimited branching and branch labels
- Visual merging to resolve parallel development
- Parallel development (checkouts, locks)
- Project support (in addition to managing on a file basis)
Build Management
- Compatibility to existing Makefiles
- Automatic detection and generation of source dependencies
- Configuration editing (bill-of-materials)
- Binary Sharing
- Parallel development utilities (e.g. merge and diff)
- Parallel and distributed building
- Load balancing
- Identification of releases
- Recreation of previous releases
Process Management
- Triggers (pre- and post-event handlers)
- Lifecycle/Workflow stages and promotion
- Customizable process model
- Access control, registration and security
- User groups/roles
- Automatic notification of project personnel
Workspace Management
- Rule-based environment management
- Transparent access to controlled files and tools
- Working directories/views
Tool Integration
- Messaging system
- Documentation database and search
- Problem tracking
- Workflow templates
User Interface
- Web Interface (e.g. Java)
- Graphical user interface
- On-line help and documentation
- Application programming interface
Status
We are currently in the process of defining a research project which
involves developing a workflow management application. In addtion to
drawing from experiences in using and performing product and
literature research
on workflow applications, we will also try to follow the reference
model and terminology endorsed by the Workflow Management Coalition.
The workflow application that we plan to implement should enhance
managing the flow,
collaboration and administration of projects, especially design, that
are performed by people over the Internet with independent
platforms and applications. It should also serve as an application
for the WELD system as well as contribute to the Design
Technology and Wide Area Networks fields of design of distributed
design system.