seven forms of bpm – after read
use case 1:bpm as a discipline
refers to the analysis, documentation and improvement of the procedures that
describe how people and systems work together in an organization.
In the context of BPM as a discipline, we believe that a process model
from a non technical business analyst can never be translated into an executable process model by
just adding technical details to it.
Who is going to spend the time to link the
analysis blocks to the executable blocks and then keep that mapping up to date.
jBPM’s jPDL language is designed to facilitate this approach. First of all, it’s based on free graph
modeling. Secondly, it has so called actions, which can be seen as event listeners.
This allows the developer to add programming logic without
changing the diagram structure.
Also super-states are often used in the context of creating better
communication between business analyst and developer.
Use Case 2 : Combining template based and ad hoc task management
is often overlooked is that template based task orchestration only suits for a limited number of
First the process must be relatively stable. And secondly, enough executions of this
process have to happen so that the gain that can be achieved with software support is worth the
In jBPM 4, the task management component will support this ad hoc human tasks. The
combination will be awsome. Human tasks in processes can be specified at a course grained level.
Use case 3 : Transactional asynchronous architectures
BPEL also focuses on asynchronous architectures, but then in a (web) services environment, rather
then a Java environment.
From the history
information it is very easy to collect valuable statistical information like the average time in each
step of the process.
Use case 4 : Service orchestration
Service orchestration is actually a variant of the previous use case ‘transactional asynchronous
Use Case 5 : Visual programming
With visual programming, we will target developers that do not yet have the full skillset to develop
programming can lower the treshold to build applications for developers that have no or limited
Use Case 6 : Thread Control Language
We’ll develop a Thread Control Language which lets you specify a multithreaded Java concurrency
by drawing forks, joins and method activities.
Use Case 7 : Easy creation of DSLs
General purpose process languages are different from domain specific process languages.
There is even an easier way. Instead of creating a full process language for a specific purpose, it is
also possible to leverage jPDL’s capabilities and just add new node types to it.