Blog Posts Decision / Rules Management Process Management

Comments on jBpm

Blog: Business Process Management - JC Reddy

There is a lot of buzz about jBpm since it joined Jboss. It is an exciting news for the workflow/bpm community, especially for those, like myself, who wished they didn’t need to build their own workflow engines in the past. It appears that there is a lot of mometum with 30+ developers (as listed on and some 6500+ messages posted on forums.

I downloaded jBpm2.0 source and spent about 4 hrs browsing the code and understanding the model. My first feelings are mixed.

I was surprised to find that the underlying computational model behind jBpm isn’t Petri Nets. Considering that the design of the core engine is influenced by the workflow patterns work ( conducted by Wil van der Aalst and his group, I’d have expected, naturally, that Petri Nets would have been a natural choice. jBpm adapts more of state-machine approach with special constructs for forks and joins. All those workflow patterns that jBpm attempts to support are naturally supported by a Petri Net model.

The chosen model itself seems unfit to support all intended workflow patterns, unless one writes custom fork handlers, action handlers, and such, in effect leaving modeling constructs in the developer’s hands. I would have liked the model to support all the intended patterns and much more. This model might be better than some others, but far from being complete.

I understand jBpm is still in the initial stages, but I don’t see how BPEL can be translated into jpdl in the future, as promised, even after several iterations on jpdl. jpdl and its underlying model simply don’t have some basic constructs (e.g., messages, message correlations, and compensation scopes/spheres, etc). Introducing them at a later stage isn’t going to be a trivial exercise, at least in a meaningful way. In the absence of a sufficiently capable model, one can always allow custom Java programming to achieve anything one needs to achieve, but that isn’t very valuable.

Leave a Comment

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples