The AS7 book!

JBoss Tuning

JBoss 5 book

No Registration required. Use your FB account to add comments to articles.

Twitter Button

Poll

Which is your favourite JSF library?
 
Top Programming Sites
Home JBpm BPMN tutorial for beginners

BPMN tutorial for beginners

Article Index
BPMN tutorial for beginners
Creating your first BPMN application
Parallel Gateways
All Pages
  

 

bpmn-64x64Business Process Management is a key element in the software industry. Today most people have a clear idea of what a business process is however there's some confusion related to the proliferation of standards used to describe business processes.

jBPM is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers. jBPM is based on a generic process engine, which is our foundation to support multiple process languages natively. At the moment there are at least 3 ways to describe a business process: you can code it using its native JPDL language, you can use BPMN or you can still use BPEL.

 

Let's see a short description of all key aspects of these different formalisms:

 

Key aspects of BPMN

  • Visual notation for Business Process Modeling and thus analyst oriented.
  • Is implementation-unaware. Based on a standard accepted by the BPM industry.
  • Since it's implementation unaware it's harder to integrate with Java.
  • More complex XML construct.
  • Task can be linked in any form (similar way to the old "goto").
  • Can potentially create models with incorrect execution semantics.

 


 

Key aspects of JPDL

  • Analyst and developers oriented
  • Strongly tied with jBPM and Java
  • Allows custom process routing logic and a large set of built-in nodes
  • Intuitive XML language

 


 

Key aspects of BPEL

  • Text-based (XML-based) Business Process Modeling language which includes precise execution semantics
  • Used to orchestrate Web services
  • Closer to a real programming language (Structured control structures for loops).
  • Does not allow custom routing logic. In contrast has a fixed set of structured activities represented by XML elements

 

One important thing to note is that, up to the release 1.2, the BPMN standard was limited to the modeling only, and thus was pretty an abstract standard.

With the version 2.0 of the BPMN specification, now uses an XML language to specify the executable semantics of a business process. Thus the BPMN specification has evolved into a language for business processes that can be executed on any BPMN2 compliant process engine - while still having the powerful graphical notation.

 

The upcoming release of JBPM (jBPM5) focusses on BPMN 2.0 as the language for expressing business processes.

 

How is BPMN made of ?

 

BPMN has a relatively simple high-level structure which includes three basic components:

  • An Activity is a piece of work performed in a business process
  • An Event is something which happens to the business
  • A Gateway controls the flow through the business process.

 

However each of these basic components can be split into a myriad of different types. In order to simplify the learning of BPMN, constructs are grouped into three levels of complexity:

  • Basic - Just enough to create some simple models
  • Core - Enough for almost all your modelling needs
  • Extended - Features that are rarely used but can fill the gap


In this tutorial we will show two examples of Basic construct to model two simple business processes. (The examples are a simpler representation of examples which are found in the jBPM example folder)