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

OSWorkflow Basics


OSWorkflow is a mature open-source Java workflow engine. It is mainly aimed at the programmer and not an end user or business analyst. For the end user or business analyst, it includes a user-friendly visual workflow modeler designed only for basic usage.

This section will cover the basic concepts needed to create simple but useful process definitions using OSWorkflow. In the next section, we will generate a simple workflow to request holidays and finally you will have a complete working process. The example includes creating a very simple definition and the instantiation of new processes based on that descriptor.

XML Definition Files

OSWorkflow defines the process definition in an XML file called workflow descriptor. The OSWorkflow descriptor XML must have a root element of workflow and obligatory child elements named steps and initial-actions. Here is a snippet of the sample file bundled with the distribution.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE...