bonita BPM and camunda BPM

2,882 views
Skip to first unread message

Klime

unread,
Aug 6, 2013, 11:45:12 AM8/6/13
to camunda-...@googlegroups.com
Hi,

what du you think are the most relevant pros and cons when i compare this two solutions?

regards
Klime

Daniel Meyer

unread,
Aug 7, 2013, 1:25:00 AM8/7/13
to Klime, camunda-...@googlegroups.com

Hi Klime,

 

I do not know Bonita very well so I cannot make an informed comparison.

 

Cheers,

Daniel Meyer

Project Lead

www.camunda.org/community/team.html

--
You received this message because you are subscribed to the Google Groups "camunda BPM users & process application developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to camunda-bpm-us...@googlegroups.com.
To post to this group, send email to camunda-...@googlegroups.com.
 
 

Bernd Rücker (camunda)

unread,
Aug 8, 2013, 9:44:07 AM8/8/13
to Klime, camunda-...@googlegroups.com

Hi Klime.

 

Actually I think we are biased when comparing our stuff to others ;-) So I do not want to go into much details!

Before we started our own engine I wrote an article comparing different engines – unfortunately only available in German: http://www.camunda.com/company/references/publications/ à http://www.camunda.com/wp-content/uploads/2012/01/JM1_12_Ruecker_Open_Source_BPM.pdf. Maybe Google Translate helps ;-)

 

I think the key difference is simply the vision. Where Bonita heads in a “Zero Code Direction” (meaning hiding the Java from you) we try to bring Java developers and BPM together, see http://camundabpm.blogspot.de/2013/04/the-camunda-hypothesis.html. So with Bonita you are often limited in what you are able to do - on the other hand the get started experience may seem to be smoother. But as you can read in our blog post we are convinced of our hypothesis compared to Zero Code tools like Bonita. But of course I am convinced that we have the better stack – hehe :-)

 

One other objective difference which matters a lot is the license  -we are Apache 2 License – Bonita is GPL.

 

Does that help a bit?

Cheers

Bernd

 

Von: camunda-...@googlegroups.com [mailto:camunda-...@googlegroups.com] Im Auftrag von Klime
Gesendet: Dienstag, 6. August 2013 17:45
An: camunda-...@googlegroups.com
Betreff: bonita BPM and camunda BPM

 

Hi,

--

Klime

unread,
Aug 11, 2013, 9:18:21 AM8/11/13
to camunda-...@googlegroups.com, Klime
Hi,

thanks for your feedback. German is not so bad because i'm a german native speaker :)

I' already know the publications (books), at least partly. The article in "Javamagazin" is interesting as the hypothesis and i guess i got the point.
I currently play around with both solutions and try to compare the possibilities for integration into an existing environment (for educational purpose).
I think you are right when you say that the focus is on the tool (bonita studio). And surely you can use it as a "Zero Code" approach for simple use cases.

But i also think that there are developer friendly ways to interact with their solution.
The java connector you mentioned in Javamagazin or the Client API/REST API, for example

At the end, i don't get exactly why you think that the bonita solution is limited compared to camunda BPM.

regards
Klime

Klime

unread,
Aug 11, 2013, 3:46:41 PM8/11/13
to camunda-...@googlegroups.com, Klime
I've done some tests with the bonita java client api. You mentioned in the article (Javamagazin) that the API is not sufficient to search for process instances. But it seams straight forward:

    // get assigned tasks by user id
    List<HumanTaskInstance> humanTaskInstanceList = processAPI.getAssignedHumanTaskInstances(userId, 0, Integer.MAX_VALUE, ActivityInstanceCriterion.DEFAULT);
    long processId = processAPI.getProcessDefinitionId("MyProcess","1.0");

    // execute assigned tasks
    for (final HumanTaskInstance assignedTask : humanTaskInstanceList) {
      long currProcessId = assignedTask.getProcessDefinitionId();
      if(processId==currProcessId) {
        // add comment and execute the task
        processAPI.addComment(assignedTask.getParentProcessInstanceId(), "programmatically updated");
        processAPI.executeFlowNode(assignedTask.getId());  
      }      
    }

But i guess bonita has changed the Client API since the article was written.

Klime

unread,
Aug 11, 2013, 3:57:19 PM8/11/13
to camunda-...@googlegroups.com, Klime
The code above executes assigned tasks.

search capabilities for instances:

searchOpenProcessInstances
searchOpenProcessInstancesInvolvingUser

including filter and so on...

Bernd Rücker (camunda)

unread,
Aug 12, 2013, 2:09:43 AM8/12/13
to Klime, camunda-...@googlegroups.com

Hi Klime.

 

The article is based on Bonita 5. And as this leads away from camunda BPM questions I think it is better to do a private mail exchange – as we have the policy to not bash any competition in our forum :-) I will answer you directly later today.

 

Cheers

Bernd

Evangelist & Consultant

www.camunda.org/community/team.html

--

Jan Galinski

unread,
Aug 13, 2013, 1:51:52 PM8/13/13
to camunda-...@googlegroups.com, Klime
> At the end, i don't get exactly why you think that the bonita solution is limited compared to camunda BPM.

We had a project running on Bonita 6.7.x and are migrating to camunda right now after one year. I cannot say anything about version 7 that has been released for some weeks now, so pardon me if my observations are outdated. 

It was not that we could not get our processes running, it was not that the end user could not work with the platform, but bonita lacks most "modern" software development lifecycle features, so it was just not maintainable. Some issues:
  1. in camunda, a bpm project is a war with a bpmn-file. You can build/integrate/package and deploy the war with your regular tools (jenkins, eclipse, wtp). Bonita Studio builds on top of eclipse, hides most of the tools and forces you to do a manual packaging/deployment via export and upload through the admin web-application. This gets really annoying during development and disqualifies for CI and measuring.
  2. Bonita somehow manages to use the "workspace" level of eclipse as project level, with eclipse "projects" being artifacts out of  your control (My processes, My extensions, ...). It is nearly impossible to do version control or distributed collaboration without paying for the SVN extension, because changes are never local but spread over several projects. And even the commercial versioning extension required some "pessimistic locking" strategies so we do not accidentally damage the project.
  3. You cannot freely use custom 3rd party libs in your processes, since all jars are hash-obfuscated on deployment. 
  4. There is no native support for EJB. We faked it, but never got the transaction scopes perfectly running, so in case of an error, the state of the process and the state of the underlying domain entity could get out of sync. With camunda, process engine and domain share an transaction so you dont have to care about side effects.
  5. Since all your functionality is done in "connectors, configured via Wizards,  you don't have a plain java/src directory where you can edit and refactor your code, you have to find and open the corresponding connector every time and refactor isolated. Very error prone ...
  6. No support for testing. With the camunda in memory test engine and Arquillian you can support your processes with tests or even take a TDD approach. With Bonita, we just had manual "integration tests", meaning one of us had to klick a live process to step 17 just to see if the gateway take the right exit.
I could go on, but like Bernd said, we shouldn't bash here ... 

For the record: I don't say that Bonita is per se a bad software. They do have a different focus and a lot of cool features. It certainly has its use when you need quick results, have a small (or even single dev) team, do not expect much change, don't need JEE, and can live with manual lifecycle control without CI and TDD. 
These are harsh restrictions, I know, but still, if you just want to set up a small workflow for your team, load some data from supported (connector exists) systems and track the results, you will get your results within days or even hours.

We decided to drop Bonita, because this is not the kind of BPM-project we do. We prefer full control and full JEE tool support even if that means to do some extra coding ... and camunda is the platform that supports us doing these kind of projects. That's why it is called "developer friendly".

Jan

PS: PM me if need more information on selecting the right BPMS for your project. We published a whitepaper on this topic: http://www.holisticon.de/cms/uploads/Architekturberatung/Whitepaper%20BPM-Toolauswahl.pdf 


Jan Galinski

unread,
Nov 29, 2013, 4:32:16 AM11/29/13
to camunda-...@googlegroups.com, Klime
 
PS: PM me if need more information on selecting the right BPMS for your project. We published a whitepaper on this topic: http://www.holisticon.de/cms/uploads/Architekturberatung/Whitepaper%20BPM-Toolauswahl.pdf 


andres...@gmail.com

unread,
Oct 21, 2015, 7:33:50 AM10/21/15
to camunda BPM users, klime.a...@gmail.com
Hello,
Do you have an english version of Whitepaper-BPM-Toolauswahl?

Thanks in advance.

Jan Galinski

unread,
Oct 21, 2015, 2:30:53 PM10/21/15
to camunda BPM users, klime.a...@gmail.com, andres...@gmail.com
Sorry, just the german version.
Reply all
Reply to author
Forward
0 new messages