Which workflow engine to choose? [closed]

末鹿安然 提交于 2019-12-20 08:29:02

问题


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?


回答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.




回答2:


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

  • jBPM
  • Drools
  • Roll your own

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.




回答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.



来源:https://stackoverflow.com/questions/4940173/which-workflow-engine-to-choose

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!