Which workflow engine to choose?

36,201

Solution 1

I've just been doing an evaluation of Activiti vs jBPM.

In fact there seems to be very little between the two solutions.

  1. Activiti is Apache V2, jBPM 5.0 is also Apache V2.
  2. We're currently using Activiti, but the project is still in dev, so I can't comment on its robustness in production.
  3. jBPM is beginning the productization process, so support for 5.x will be available in Q1 2012, see slide 32: jBPM demo. jBPM 4 was not supported by Redhat.
  4. jBPM 4.x did not support BPMN 2.0, but 5.x does, Activiti does as well. jBPM 5.0 has just been released, which includes support for BPMN 2.0. So now both solutions support BPMN 2.0.
  5. I'm not quite sure what you mean by this, but you can do a lot through both APIs
  6. Again, not sure what you mean by this, do you mean embedded as part of an application server, in which case, yes for both solutions.

One of our criteria for jBPM was the interaction with Guvnor, and when I downloaded and ran the demo install for jBPM (28/03/2011) and there still seemed to be some major bugs (GUVNOR-1274), so I personally would test a lot more before I chose to pursue this solution.

In fact, we will be recommending one of the above two solutions, but we're not sure which yet, we'll look at it more closely later this year.

Solution 2

Although I have little practical experience I did undertake a research spike into java BPM options recently. I narrowed it down to 3:

The Drools community seems more active, tools are better, the rules engine was very sophisticated (as this was the base of drools) but surrounding business process were well integrated. However jBPM was more focused around business processes and slick as well. They are both managed by JBoss

Further comparisons between Drools and JBPM can be found here:

Drools v jBPM

If you have a confident development team and the requirements aren't too complex it is always worth considering rolling your own. BPMs can lead to anaemic domain models (as described in this post Rules Engine pros and cons about rules engines ) as you try adopt your domain models to fit into such systems, also well built systems customised for your business are always going to be more effective.

As far as your criteria goes:

Open-Source and OEM friendly license - Drools uses a liberal 'ASL/BSD/MIT-esque license', community is active. jBPM uses apache, eclipse and MIT licenses

Production Installations. I understand drools is used by many insurance companies and credit checkers, not sure a jBPM

Commercial Support available for both

Open Standards Support - BPMN - Both implement BPMN and due to the nature of the open source projects are very standards orientated.

Dynamic Creation/Assembly of the Workflow based on input. Both, although is generally easily implemented manually.

Eembeddable - both offer entire systems but are modulated so this should suite embedding into existing systems.

Solution 3

My not use an MS stack? WWF 4.0 for the engine, re-hostable designer. WCF for communication. MS Sql Server for BI. Plenty of .NET devs out there to help build and customise. Other than a Windows target, no dependency on an external supplier.

Share:
36,201
Aravind Yarram
Author by

Aravind Yarram

Winner of Hackathon @ Kafka Summit 2016. 2nd Place, Neo4j Graph Gist Winter Challenge 2014. Data informed over data driven. Datasets over algorithms. Delivery over ceremonies. Metrics over anecdotes. Hypothesis over intuition. Evidence over experience. Trade-offs over trends. https://www.linkedin.com/in/aravindyarram

Updated on January 25, 2020

Comments

  • Aravind Yarram
    Aravind Yarram over 4 years

    We are currently in the process of evaluating a BPM engine and I'd really appreciate the community input. I am doing my own due diligence but would also like to hear on the suggestion based on implementation stories.

    My main evaluation criteria are below

    1. open source and OEM friendly license
    2. production installations (success stories are a great help)
    3. commercial support available
    4. open standards support - BPMN
    5. dynamic creation/assembly of the workflow based on input
    6. embeddable

    Currently I am evaluating Activiti and JBPM. Bonita open BPM seems like a good candidate as well but never used it. Do you guys have any successful deployments on Bonita?

  • Aravind Yarram
    Aravind Yarram over 13 years
    thank you but I can't switch from Java platform
  • Sentinel
    Sentinel about 13 years
    ok - add it to your criteria then
  • Aravind Yarram
    Aravind Yarram over 12 years
    Can you pls let us know which one did you choose. Also did you try for any commercial support for activiti?
  • Matthew Farwell
    Matthew Farwell over 12 years
    In fact, we are using Activiti. We don't have commercial support for Activiti.
  • Matt Friedman
    Matt Friedman over 9 years
    It's quite clear he's looking for a Java solution.