Posted by: planetjbpm | 18 September, 2008

First post, expect more

There have been people posting blog entries about jBPM. Mostly interesting articles like the performance showdown by Joram Barrez. Recently, I noticed that one of the active jBPM community members, Mauricio Salatino (Salaboy21), put a wordpress url in his signature when posting on the jBPM users forum. Curious as I am, I followed the url and to my great frustration (ok I exaggerate a little) it was in Spanish. French, German, English and of course Dutch would have been ‘easy’. Spanish… hmm.. I tried reading it, succeded unexpectedly wel, but in the end used the translation plugin in my browser to translate it.

I was impressed… in two ways. First of all, the translation (from google) was great. Secondly, and in fact this impressed me more,  was that Salaboy wrote 14 articles on jBPM the last month. Basic things, conceptual things, more advanced things, a great mixture. When I posted a reference on the jBPM user forum, I got a response from Salaboy that he proposed this blog to JBoss to be included as a community member feed, they turned it down… The reasons were that they only wanted blogs written in the English language and they did not want to use google translation services. Now I’m lost…

Well… creative as I am (my day job contains the word architect in the job description) I thought that a kind of syndicated blog with articles of my own, references to external blogs, with English introductions to e.g. spanish articles and a link via google translation services to these articles would get trough.

Now you know why I started this blog, you are probably curious what will come next. People sometimes ask things like: “Why is x,y,z not possible in jBPM, it is a common requirement”. Most of the time people expect things to work out of the box the way they expect it to. The control-flow workflowpatterns (nice but kind of hyped) are another example. The initial scientific study in 2002 yielded 20 patterns (jBPM can do them all, look in the testcases in the source if you do not believe me) and a revised view 4 years later resulted in 43 patterns… wow… over a 100% increase in 4 years. There has been some discussion on whether jBPM supports them or not. I dare to say jBPM can support most of them.

In the more advanced areas, there is no single way to do things and that is one of the reasons some language constructs are not in JPDL, but are achievable with a combination of JPDL and the usage of the jBPM core api. This is not how the theoretical scientists look at it, but it gives the flexibility to achieve almost everything you want. The first two articles are on some more advanced jBPM usage where this is shown.

The first one will be about milestones. Something that is partly supported directly in the core, just not with persitable JPDL node type. But with some simple reusable java code it is possible without using this milestone node type. A short real live ‘problem solving’ with the people from B2 International resulted in a testcase written by them, which I slightly adapted. This will show how simple it is to achieve milestone functionality

After that, I will post an example on how to achieve ‘escalation’ of tasks. Also something that is not supported out of the box since it (in my opinion) should be something that is modeled into the process and can very easily be.

I hope I’ve made you all curious, so stay tuned



  1. Excelent idea!

  2. You certainly have my curiosity 😉
    I’m looking forward to read tabout the escalation of tasks!

    I also discovered Salabiy21’s blog today .. I was very very impressed with his work… think I’ll also blog about it, he deserves it.

  3. For a strange reason some characters were eaten from my name in the last post … So these are my real coordinates 😉

  4. Joram… it ate some more… The link behind your name is still one character short, but I added your jbpm blog entries to the links section

  5. Strange … perhaps I was already half asleep when I posted it :p

  6. Hello
    I am impressed by the quality of your articles. Thanks you. But my personal advice on jPDL differs from yours on the fact that if all is possible the cost of development is hight. On my firm we spend 10% on the time on designing the workflow and 90% on custom development. The model and the associated designer is not enaught enterprise oriented.
    Hope to read you, (spanish accepted !)

  7. To prevent confusion, there were no articles by me (there is one now) and the first post was accidentally under the blogowners’username (well, that is me to, but kukeltje is more familiar I hope 🙂 )

    If you only spend 10% of your application on workflow and 90% on custom development, workflow is less interesting for you. Heck, it is certainly not the answer to the world, univer… well you get it. In the company I work(ed) for that was different. We had several external parties involveld in processes where we ourselves were not a participant in, we just develop them. b2b message definitions, domainmodels and the corresponding screens, still take a lot of time.

    But by using jBPM and the console, I could get people to agree on a flow much quicker than normally. Including escalations, timers etc. since the could experience it instead of just looking at a picture of a flow and the beauty was, that we could do in in a conference call environment by enabling access via the internet. So 30-70 as opposed to your 10-90 can probably be increased to 50-50

    Still I think we can get even better results by using xsd’s to generate screens (xforms based) and at the same time have the messages ready. In combination with this, I think of just storing the xml messages and extract a limited amount of metadata so our domain model can be kept very simple.
    I’ll blog about this around x-mas I think, since I’m up to speed with my own company in which I’m thinking of using Alfresco ( and go from there.

  8. oops, forgot…. the posts you refer to were by Salaboy

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: