Book Image

Business Process Management with JBoss jBPM

By : Matt Cumberlidge, Tom Baeyens
Book Image

Business Process Management with JBoss jBPM

By: Matt Cumberlidge, Tom Baeyens

Overview of this book

JBoss jBPM is a free, open-source, business process management solution. It enables users to create business processes that coordinate people, applications, and services. A business process is a sequence of activities triggered by a certain input that results in a valuable output. Business Process Management is about analyzing those activities in a structured way and eventually supporting their execution with a workflow application. This allows for the following results: Better management visibility of their business: improved decision making Low cost of inputs: de-skilled labor requirements, less waste, standardized components Better outputs: consistent quality, more customer satisfaction Businesses have always tried to manage their processes, but software such as jBPM brings the methodology and management theory to practical life. JBoss jBPM offers the following key features: Graphical process definition Flexibility to integrate code into the graphical process definition A customizable web-based workflow application that runs the process you’ve defined Easy programming model to extend the graphical process definition A process-oriented programming model (jPDL) that blends the best of process definition languages and Java. Easy to integrate with other systems through the JBoss middleware suite.
Table of Contents (13 chapters)

Ideas for further development

There are many avenues for further development that could be explored with jBPM: in fact, there are as many variations as there are implementation business scenarios. In this section, we will present a few ideas for taking jBPM further, leaving it up to the reader to decide which are worth further investigation and experimentation.

Breaking up the process into phases using superstates

JBoss jBPM supports the notion of process "superstates", which we can use to split up our long process into process phases. This can be very useful when we want to report on the status of a process instance: rather than having to tie down the instance to a single node, we can report back that the instance is in the "such and such phase".

For example, we might want to break up our "Produce music products" process into four phases, such as:

  • Band formation

  • Band development

  • Album recording

  • Album production

In terms of the JPDL syntax we use to achieve this, we define superstate nodes in...