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

OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management
eBook: $29.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 45%!
Print + free eBook + free PacktLib access to the book: $79.98    Print cover: $49.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Basics of OSWorkflow
  • Integrating business rules with Drools
  • Task scheduling with Quartz


Book Details

Language : English
Paperback : 212 pages [ 235mm x 191mm ]
Release Date : August 2007
ISBN : 1847191525
ISBN 13 : 9781847191526
Author(s) : Diego Adrian Naya Lazo
Topics and Technologies : All Books, Application Development, Java, Open Source

Table of Contents

Chapter 1: BPM and Workflow Basics
Chapter 2: OSWorkflow Introduction and Basics
Chapter 3: Adding Code to our Definitions
Chapter 4: Using OSWorkflow in your Application
Chapter 5: Integrating Business Rules with JBoss Rules
Chapter 6: Task Scheduling with Quartz
Chapter 7: Complex Event Processing
Chapter 8: Dashboards with Pentaho
  • Chapter 1: BPM and Workflow Basics
    • Business Process Orientation
      • BPR and BPM
      • Business Process Improvement
    • What's a BPMS?
      • Traceability and Auditing
    • Different Kinds of BPMS
      • System Orchestration with System-Oriented BPMS
      • System Orchestration
      • Enabling Workgroup Collaboration with People-Oriented BPMS
    • Components of a BPM Solution
      • The Workflow Management Coalition
      • How Components Map to the BPM Lifecycle
    • Open-Source BPMS
    • Summary
  • Chapter 2: OSWorkflow Introduction and Basics
    • Downloading and Installing OSWorkflow
      • Getting a Taste from the Distribution
    • Navigating the Sample User Interface
    • OSWorkflow Basics
      • XML Definition Files
      • An Example Workflow
      • Steps, Actions, and Results: The Workflow Building Blocks
        • Testing the Workflow Definition
        • Splits and Joins
    • Setting Status and Old Status Values
      • Sending an Email Automatically
    • Visual Process Modeling
      • Visually Creating the Holiday Example
      • Looking at the End Result
    • Ways to Implement OSWorkflow
      • OSWorkflow as a Workflow Layer
      • OSWorkflow as a Centralized Workflow Server
        • Adding the SOAP Bindings
    • Summary
  • Chapter 3: Adding Code to our Definitions
    • How to Deal with Transient Data
      • Variable Interpolation in the Definition
    • PropertySet and Transient Variables
      • Exploring PropertySet
      • Using the PropertySet to Store Variable Data
      • Using the PropertySet to Retrieve Stored Data
      • Cleaning the PropertySet
      • Configuring the PropertySet
    • Adding Code to our Definition
      • FunctionProviders
        • Creating our first FunctionProvider
        • FunctionProvider Types
        • Defining a Custom Function Provider
      • BeanShell Scripting
      • Built-in Functions
      • Conditions
        • Creating our own Condition
      • Registers
        • Using the LogRegister
        • Implementing a Register
      • Validators
        • Creating a Customer Identifier Validator
        • BeanShell Validators
    • Other Useful Descriptor Concepts
      • Finish Actions
      • Auto Actions
    • Summary
  • Chapter 4: Using OSWorkflow in your Application
    • OSWorkflow Configuration
      • Registering our Process Descriptors
    • Embedding OSWorkflow into your Application
      • Starting a Workflow
      • Executing Actions
      • What's the Status?
      • What can I Do?
      • The Useful Abstract States
      • Querying the Workflow Store
      • Querying the Workflow Factory
      • Inspecting the Workflow Descriptor from Code
      • Using the Workflow Configuration Object
      • Workflow Interface Implementations
      • Loading the Descriptors—the Workflow Factory
        • Loading Descriptors from a Database
    • Persisting Instance Information
      • Persistence Choices
        • Configuring the JDBC Store
      • PropertySet Persistence
        • Configuring the JDBC PropertySet
    • Unit Testing your Workflow
      • What is JUnit?
      • Running the Tests
    • Integrating with Spring
      • The Object Registry—BeanFactory
      • Using our BeanFactory
      • Transaction Support in Spring
      • The SpringTypeResolver
    • Workflow Security
      • Step Permissions
      • Action Restrictions
      • Step Ownership
      • Extending User and Group Authentication and Authorization
    • Summary
  • Chapter 5: Integrating Business Rules with JBoss Rules
    • Incorporating Business Logic into Business Processes
    • Simple Logic with Conditional Results
    • Complex Business Logic
      • What is "JBoss Rules"?
      • Creating a Rule
      • Executing a Rule
    • Integrating with OSWorkflow
      • RulesCondition
      • RulesFunctionProvider
    • Summary
  • Chapter 6: Task Scheduling with Quartz
    • What is Quartz?
      • Installing
      • Basic Concepts
      • Integration with OSWorkflow
      • Creating a Custom Job
    • Trigger Functions
      • More about Triggers
        • SimpleTrigger
        • CronTrigger
    • Scheduling a Job
    • Scheduling from a Workflow Definition
      • Transactions in Quartz
    • JobStores
    • Example Application—Customer Support
    • Example Application—Claims Processing
    • Summary
  • Chapter 7: Complex Event Processing
    • Complex Event Processing (CEP)
      • Patterns and Data
      • CEP in BPM
    • What is Esper?
      • The Esper Architecture
      • Downloading and Installing Esper
      • Hello World from Esper
      • Push and Pull Mode
      • EQL Queries
    • Integration with OSWorkflow
      • Esper Function Provider
    • Real-World Examples
    • Summary
  • Chapter 8: Dashboards with Pentaho
    • What is Pentaho?
    • Pentaho Requirements
    • Downloading and Installing Pentaho
    • Setting up Pentaho to use the OSWorkflow Database
    • Using the Design Studio to Create our First Chart
    • Useful Charts for BAM Consoles
    • Summary

Diego Adrian Naya Lazo

Diego Naya Lazo is a Chief Enterprise Architect living in Buenos Aires, Argentina. He currently works for Argentina’s biggest healthcare provider and has more than 10 years of experience in the IT industry. He has participated in several projects as a hands-on software architect and performed the technical lead role in many companies. His interest in computer programming began with his desire to create the most vivid 3D animations as a graphic designer at age of 15. His interests range from Enterprise Architecture to SOA and BPM technology. He is a Sun Certified Enterprise Architect and holds others certifications such as: SCJP, SCWCD, MCSA and Security+. He also is a member of the WWISA and GEAO enterprise architect’s associations as well as an active developer of the OSWorkflow project. He holds a Bachelor degree in IT and is currently enrolled in an MBA program. Away from work, Diego enjoys traveling all around the world with his family. You can reach with at dienaya@gmail.com

Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


- 2 submitted: last submission 09 Jan 2012

Errata type: typo| Page number: 71

The code for getting the id of the workflow identification has a little typo (Capital "W" instead of "w"): Long id = wf.initialize("holiday", 1, null);


Errata type:typo | Page number:37

The text states the figure showing a transition from Step 1 to Step 2, but the figure shows a transition from Step 1 to Step 1.


Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management +    IBM Lotus Domino: Classic Web Application Development Techniques =
50% Off
the second eBook
Price for both: $45.60

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

In this book we will:

  • Understand basics of BPM technology.
  • See how to create workflows with the help of an examples workflow.
  • Integrate Drools open source engine in our workflow engine.
  • Integrate Quartz task scheduler along with the Workflow.

Chapter 1 gives an overview of the BPM technology and the workflow engine, along with an analysis of the different type of BPMS.

Chapter 2 introduces OSWorkflow and teaches the basics of the workflow engine along with a real life example.

Chapter 3 introduces several key features of OSWorkflow like handling persistent and transient variables, variable interpolation, built in OSWorkflow functions, Conditions, BeanShell scripting.

Chapter 4 covers Persistence of variables across invocations, and the FunctionProviders along with integrating OSWorkflow with Spring.

Chapter 5 introduces and integrates Rules engine and Drools open source rule engine.

Chapter 6 we explore the Quartz task scheduler, its integration with OSWorkflow and we give a tutorial with Quartz sending events and actions to OSWorkflow.

Chapter 7 introduces Event Stream Processing and Complex Event Processing. We give an OSWorkflow function provider that interfaces with the ESPer CEP engine and allows the monitoring of real time process information and events.

Chapter 8 gives OSWorkflow visualization of its business process information with the Pentaho Open source BI solution. Using the charting capabilities of Pentaho we build an enterprise process dashboard to monitor and analyze the processes.

In Detail

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.

This book covers all aspects related to OSWorkflow. No prior knowledge about OSWorkflow is needed. You will learn everything from the basics of Business Process Management (BPM) technology and installing OSWorkflow to integrating the workflow engine with third-party components like Drools, Quartz, and Pentaho.


This book gives step-by-step instructions on how to do things. The basics are explained first and then examples help to clarify and reinforce the principles.

Who this book is for

The book is aimed at experienced Java developers and system architects who want to develop complex Java applications using the OSWorkflow workflow engine. OSWorkflow is a flexible low-level workflow implementation for developers and architects; it is not a quick "plug-and-play" solution for non-technical end users.

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


Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software