Book Image

OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management

Book Image

OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management

Overview of this book

OSWorkflow is an open-source workflow engine written entirely in Java with a flexible approach and a technical user-base target. It is released under the Apache License. You can create simple or complex workflows, depending on your needs. You can focus your work on the business logic and rules. No more Petri Net or finite state machine coding! You can integrate OSWorkflow into your application with a minimum of fuss. OSWorkflow provides all of the workflow constructs that you might encounter in real-life processes, such as steps, conditions, loops, splits, joins, roles, etc.This book explains in detail all the various aspects of OSWorkflow, without assuming any prior knowledge of Business Process Management. Real-life examples are used to clarify concepts.
Table of Contents (13 chapters)
OSWorkflow
Credits
About the Author
About the Reviewers
Introduction

Setting Status and Old Status Values


A workflow always has a state associated with it; OSWorkflow represents it in the form of status. Every step has a status while the workflow is placed on it and when the workflow advances, OSWorkflow assigns the leaving step an old-status value. Consider the previous example:

<step id="2" name="Manager revision">
<actions>
<action id="2" name="A+pprove">
<results>
<unconditional-result old-status=
"Revised" status="Approved" step="3"/>

</results>
</action>

When the action with id 2 makes the process take the action's unconditional result, it leaves the step with the status Revised (thus an old status) and the new current step (step 3) takes the status value of Approved. The following figure shows this mechanism in a more generic fashion. It depicts a step transition from Step 1 to Step 2.

The definition of Step 1 is as follows:

<step id="1" name="Step 1">
<actions>
<action id="1" name="Action...