Book Image

Business Process Management with JBoss jBPM

Book Image

Business Process Management with JBoss jBPM

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)

JBoss jBPM concepts


JBoss jBPM is built around the concept of waiting. That may sound strange given that software is usually about getting things done, but in this case there is a very good reason for waiting. Real-life business processes cut across an organization, involve numerous humans and multiple systems, and happen over a period of time. In regular software, the code that makes up the system is normally built to "do all these tasks as soon as possible". This wouldn't work for a business process, as the people who need to take part in the process won't always want or be able to "do their task now".

The software needs some way of waiting, until the process actor is ready to do their activity. Then once they have done their activity, the software needs to know what is the next activity in the chain and then wait for the next process actor to get round to doing their bit.

The orchestration of this sequence of "wait, work, wait, work" is handled by the JBoss jBPM engine. The jBPM engine...