4

Which one is the best for BPM/Workflow Engine? YAWL, XPDL, jPDL, BPEL or BPMN (different versions)? Is there any comparison of the technologies so that I can find what best suites my needs? It seems more people suggest BPMN or BPEL, but I don't get why. I found about XPDL and that its features are a superset of BPMN, and also that it can be converted to BPMN and BPEL both without loss (although reverse is possible easily with BPMN only).

Again please, I am asking for technology advantages and features and not tools/softwares available.

JuliandotNut
  • 1,169
  • 1
  • 12
  • 22

1 Answers1

8

The short answer (maybe biased but hopefully helpful in its shortness): the best choice is BPMN 2.0.

The long answer is the following:

  • BPMN is the OMG managed business process model and notation standard and since the adoption of version 2.0 one can safely say is also the de facto standard for process modeling, especially when the ultimate goal is not just visual process modeling but execution of the process definition in a process engine. All the major BPM suite vendors (like Oracle, IBM, SAP) as well as the most important Java Open Source Engines (like camunda - an OSS project I contribute to - or Activiti, jBPM) nowadays support BPMN.
  • XPDL is an effort to make different process definition formats exchangeable. As their website states up to and including version 1.2 of the BPMN standard, BPMN only defined "the look of how the process definition is displayed on the screen. How one stores and interchanges those process definitions was outside the scope of the standard". Since BPMN 2.0 (Business Process Modeling and Notation) this standard introduced a xml based meta model including the ability to serialize process models and diagrams, exchange them in between modeling tools and also execute them in process engines (after having added technical attributes needed for that technical execution).
  • jPDL used to be the process definition language of the jBoss jBPM product until version 4 of it. Since version 5 of that product (which was a reimplementation from ground up) this product also supports BPMN as its process model and notation of choice.
  • BPEL is an OASIS specified XML based Business Process "Execution Language", therefore focused on executing the language in process engines. Until the introduction of the afore mentioned BPMN 2.0 XML meta model, it was the executable language of choice of many process engines (aside e.g. jBPM and others which used their own formats.). It particularly also was the language of choice in case one wanted to transform a BPMN 1.2 visual process diagram into some executable language supported by process engines. Nowadays vendors and open source projects are all moving in the direction of BPMN 2.0 - which is directly executable and therefore does not need a step of translation in between the visualisation and the underlying model. Therefore I'd argue that the BPEL will become less and less important and eventually even completely obsolete one day.
  • YAWL (according to their website) seems to be more a "BPM/Workflow system" than a language, but one that is built upon its own proprietary language. I do not know much more about it.
Martin Schimak
  • 1,343
  • 7
  • 11
  • 2
    Might want to mention that BPEL is an OASIS specification. It is tied to web services and efforces itself to show the ability to orchestrate various web services with correlation capabilities. – Antoine Toulme Jan 10 '14 at 17:23
  • @AntoineToulme right - thx for that addition. I added the OASIS specification to my answer above. – Martin Schimak Jan 10 '14 at 17:43
  • You are very welcome. Happy Friday! – Antoine Toulme Jan 10 '14 at 18:12
  • 1
    You might want to disclose that you contribute to the camunda engine and therefore could be a little bit biased in favour of BPMN. – joergl Jan 13 '14 at 16:07
  • @joergl sure - we all have our biases. and hopefully never stop to learn. it's just my honest answer on the basis of my best knowledge. many greetings! – Martin Schimak Jan 14 '14 at 14:18
  • 1
    I fully understand. The community just sometimes has a harsh view on opinion-based topics (and rightly so, imho). Sometimes the difference between a honest answer and advertisement for a particular technology is hard to draw. If you disclose your interest, everybody can read your answer in the right context and everything's fine. – joergl Jan 14 '14 at 16:09
  • My question was why should I go with more popular BPMN while others like XPDL seem to have a greater set of features. To me, Martin's answer is good enough. – JuliandotNut Jan 18 '14 at 09:47
  • I can't even mark the answer as useful to highlight it :-/ – JuliandotNut Jan 23 '14 at 23:07