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

Introduction

OSWorkflow is a Java-based open-source workflow engine. It helps you to focus your work on the business logic and rules rather than working on heavy coding. Integrating OSWorkflow into your application is very easy and fast. OSWorkflow provides all of the workflow constructs that you might come across in real-life processes like steps, conditions, loops, splits, joins, roles, etc. The latest version of OSWorkflow has a GUI for developing workflows, which simplifies creating workflows for simple needs. To get the best out of it, creating workflows by XML coding is recommended. OSWorkflow takes advantage of many existing Java open-source projects, including:

  • BeanShell: For workflow scripting

  • OpenForBusiness: Entity engine persistence support

  • GLUE: For a SOAP interface

  • Quartz: For job scheduling

OSWorkflow can work in any J2EE container, including servlet containers (EJB support does not work here). OSWorkflow was designed to be as flexible as possible to fit the needs of many unique requirements.

This book explains OSWorkflow, without assuming any prior knowledge of Business Process Management. Real-life examples are used to clarify concepts. It 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.

What This Book Covers

Chapter 1 gives an overview of the BPM technology and the workflow engine, along with an analysis of the different types 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, and 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.

In Chapter 6 we explore the Quartz task scheduler and 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.

Who is This Book 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.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

There are three styles for code. Code words in text are shown as follows: "The OSWorkflow descriptor XML must have a root element of workflow and obligatory child elements named steps and initial-actions."

A block of code will be set as follows:

…
<steps>
<step id="1" name="Employee request">
<actions>
<action id="1" name="Request holidays">
<results>
<unconditional-result old-status="Finished" step="2"
status="Requested"/>
</results>
</action>
</actions>
</step>
…

When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be made bold:

<actions>
<action id="1" name="Action 1">
<results>
<unconditional-result old-status="Finished" status= "Pending" split="1"/>
</results>
</action>
</actions>

New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: "You can simply click on the Authors link located on the books listing page in your browser."

Note

Important notes appear in a box like this.

Note

Tips and tricks appear like this.

Reader Feedback

Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply drop an email to , making sure to mention the book title in the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email .

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code for the book

Visit http://www.packtpub.com/files/code/9546_Code.zipand select this book from the list of titles to download any example code or extra resources for this book. The files available for download will then be displayed.

The downloadable files contain instructions on how to use them.

Errata

Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration, and help us to improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the Submit Errata link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to any list of existing errata. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Questions

You can contact us at if you are having a problem with any aspect of the book, and we will do our best to address it.