|
|
Object-Oriented Declarative Workflow Management System
|
Content
2 Genericity and Architecture of Workflow
Processing
2.2 Architecture of a Declarative
Workflow Management System
3 Technical Assumptions of Active
Objects
4 Creating and Removing Active Objects.
4.1 Typing Constraints and Business
Logic Constraints
5 Definitions of Processes and Process
Instantiations
5.3 Procedure-Oriented Approach
5.4 Languages for Workflow Definitions
6.1 Parallel Active Objects on Many
Machines
6.2 Splits and Joins through Fireconditions and Endconditions
6.3 Declarative Workflow Patterns
7 Topics Related to the Idea of
Declarative Workflows
7.1 Workflow Change Management
7.2 Grouping and Ungrouping of Processes
and Tasks
7.3 Tasks Shared among Many Processes
7.4 Communication Between Process
Instances
7.6 Time, Resource, Document and
Application Management
7.7 Metamodel and Reflexive Capabilities
7.8 Interoperation with Client
Applications
8 Example of a Declarative Workflow
8.4 Pseudo-Code of Active Objects
8.5 Examples of Workflow Instance Change
8.6 Extended Functionality in the
Presented Example
Appendix 1: Stack-Based Architecture
and Stack-Based Query Language
Appendix 3: Prototype of OO
Declarative WfMS
This book presents the
motivations and technical assumptions for the idea of the object-oriented
declarative workflow management system that is currently under construction at
the Polish-Japanese Institute of Information Technology in
In principle, all active
objects are executed in parallel, which amounts to a fundamentally different
attitude to the control flow of the workflow. The flow is not determined
explicitly (e.g. as a graph a lá a Petri net).
Instead, the flow is determined dynamically using only fireconditions
and endconditions that depend on the workflow
environment state, the database state, the machine state (e.g. clocks), etc.
This idea extends the classical (control-flow-oriented) view on workflows: it
allows one for determining the sequence of actions by setting the states of
some tasks that are used by a fireconditions of other
tasks. However, it also allows for many new features of workflows that are unattainable in the classical approaches. In this
approach, the workflow graph remains a PERT (Program Evaluation and Review
Technique) network rather than a Petri net.
There are several big
advantages of this approach to the workflow. Firstly, parallel execution of
many processes and their synchronization are not constrained. Secondly, the workflow
environment can be subject to ad hoc changes in the running and waiting
processes, according to the current business needs. The main motivation for
this research is flexibility of workflow change - in particular, grouping and
ungrouping of the processes, dynamic changes in their structures, dynamic
insertion of new tasks into running workflow instances, etc. This report
presents in some detail the major consequences and technical issues related to
the above idea, which has been already implemented within ODRA, a prototype
object-oriented database management system. As the workflow programming
language we use SBQL, the object-oriented database query and programming
language implemented in ODRA. The current prototype implementation of the idea
will be extended in an essential way.
Keywords
workflow, workflow management system, object-oriented, declarative,
query language, workflow programming language, active object, control flow, firecondition, endcondition,
PERT, mass parallelism, dynamic workflow change, grouping of processes,
ungrouping of processes, workflow resource management, ODRA, SBQL, strong type
checking, transaction processing, distributed processing, programming through
reflection