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

Integrating with OSWorkflow


JBoss Rules integration with OSWorkflow is performed by a Condition and a FunctionProvider. Condition gives the rules the flow of control of the process; the FunctionProvider simply executes rules at a designated moment.

RulesCondition

The RulesCondition is like any other OSWorkflow Condition and implements com.opensymphony.workflow.Condition. The helper object RuleConditionalResult is available in every rule set executed through the Condition to mark the return value of the Condition predicate. The return value of the condition is the RuleConditionalResult.getResult() result.

Also, the transientVars and arguments map contents are passed directly to the JBoss Rules WorkingMemory.

The only mandatory parameter of the Condition is the ruleName. This parameter indicates which DRL file from the classpath will be loaded and executed.

You can append other parameters in the invocation, which will be available as objects inside the WorkingMemory. Remember that variable...