Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which of these technology to use for BPM / Workflow engine? Any comparison of features? [closed]

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.

like image 384
JuliandotNut Avatar asked Feb 15 '23 03:02

JuliandotNut


1 Answers

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.
like image 149
Martin Schimak Avatar answered Apr 09 '23 08:04

Martin Schimak