Processors for BPMN 2.0

I am doing a comparison between all existing BPMN 2.0 technology engines, for example. Activiti, jBPM, etc. I have prepared a list of 4 processes that run BPMN 2.0 below:

Popular open source engines compatible with BPMN 2.0:

Activiti: http://www.activiti.org/ jBPM: http://www.jboss.org/jbpm Bonita: http://www.bonitasoft.com/ 

Commercial engine:

 ActiveVOS: http://www.activevos.com/products 

I would be grateful for your help if you improve my research by adding to the existing list of existing existing engines (for BPMN 2.0), as well as a quick comparison among all.

I would prefer that in a very short comparison only important functions are listed (such distinguishing features as what is possible for one and not for others, licensing, dependencies on other products such as tomcat and JBoss and operating systems, etc. .d.)

PS: I found a lot in Activiti vs jBPM, but your answers will be useful.

+6
source share
7 answers

I can’t offer you a complete comparison, but I can give you some pointers that can help you with your assessment:

  • " " Activiti in Action "has just been published (July 2012) and you will see a section in it that discusses another BPMN process (section 1.2.3 - getting to know your competitors).
  • For Activiti, there has also recently been a commercially supported version called camunda fox BPM Platform . They also provide a comparison with the value added that they provide here .
+4
source

I also did this research. Here are the key points that are relevant to our particular use case:

  • Bonita:

Bonita uses a zero-coding approach, which means they provide an easy-to-use IDE to create your processes without the need for coding. To achieve this, Bonita has a connector concept. For example, if you want to use a web service, they provide you with a graphic wizzard. The disadvantage is that you need to write a simple XML-SOAP envelope manually and copy it into a graphic text field. The problem with this approach is that you can implement the use cases that Bonita designed. If you want to integrate a system in which Bonita has not developed a connector, you need to encode such a connector yourself, which is very painful. For example, Bonita offers a SOAP connector for using SOAP web services. This slot only works with SOAP 1.2, but not for SOAP 1.1 ( http://community.bonitasoft.com/answers/consume-soap-11-webservices-bonita-secure-web-service-connector ). If you have an outdated application with SOAP 1.1, you cannot easily integrate this system into your process. The same is true for databases. There are only a few database connectors for dedicated database versions. If you have a version that does not match the connector, you must encode it yourself.

In addition, Bonita does not support LDAP or Active Directory Sync in the free community release, which is a pretty show operator for the production environment. Another thing to keep in mind is that Bonita is licensed under the GPL / LGPL, which can cause problems when you want to integrate Bonita into another enterprise application. In addition, community support is very weak. There are several posts that are more than two years old, and these posts are still not responding.

Another important thing is Business-IT-Alignment. Simulation processes are a collaborative discipline in which IT and business intelligence are tuned. That's why you need adequate tools for both groups of users (for example, Eclipse Plugin for developers and an easy-to-use web designer for business people). Bonita offers only Bonita Studio, which must be installed on your computer. This IDE is quite technical and not suitable for business users. Therefore, it is very difficult to implement Business-IT-Alignment with Bonita.

Bonita is a BPM tool for very simple and simple processes. Because of the zero-coding approach, the search curve is very low, and you can start modeling very quickly. You need less programming skills, and you can implement your processes without the need for coding. But once your processes become very complex, Bonita may not be the best solution due to lack of flexibility. You can implement the use cases that Bonita designed.

jBPM:

jBPM is a very powerful open source BPM engine that has many features. The web designer even supports prefabricated models of some van der Aalst workflow templates (workflowpatterns.com). Business-IT-Alignment is implemented because jBPM offers Eclipse integration as well as a web designer. How complicated you can define forms in a web modeler, but not in the Eclipse plugin, as far as I know. To summarize, jBPM is a good candidate for use in a company. Our showstopper was scalable. jBPM is rule based. This causes all process instances to be stored as BLOBS in the database. This is a critical showstopper when you consider search and scalability.

In addition, the learning curve is very high due to complexity. jBPM does not offer a service task, such as BPMN-Standard. Instead, you must define your own Java service tasks, and you need to register them manually in the engine, which leads to fairly low-level programming.

Activiti:

In the end, we went with Activiti because it is a very easy-to-use framework-based mechanism. It offers an Eclipse plugin as well as a modern AngularJS web model. Thus, you can implement Business-IT-Alignment. The REST API is protected by Spring Security, which means that you can very easily extend the engine using the Single Sign-on features. Because of Apache License 2.0 there is no copyleft, which means that you are completely free in terms of use and extensibility, which is very important in a productive environment.

In addition, BPMN coverage is very good. Not all BPMN elements are implemented, but I do not know a single engine that does this.

Activiti Explorer is a demo interface demonstrating the use of Activiti APIs. Since this interface is based on VAADIN, it can be extended very easily. The community is very active, which means that you can get help very quickly if you have problems.

Activiti offers good integration points for external form technologies, which is very important for productive use. Form technology of all candidates is very limited. Therefore, it makes sense to use a standard form-technology, such as XForms, in combination with the engine. Even such more complex things are implemented through formKey-Attribute.

Activiti does not follow a zero-coding approach, which means that you need a bit of coding if you want to organize services. But even communication with SOAP services can be achieved using the Java Service Task and Apache CXF. Not enough coding effort.

I hope that my key points will help by making a decision. To be clear, this is not an advertisement for Activiti. The right product choice depends on your specific use case. I only want to note the most important points in our project.

Best regards ben

+4
source

I am disappointed with Activiti. It should be called Spring BPM, because without it it does not work. If you don't mind using Spring, then Activiti might be a better fit. If you use JEE / CDI then JBPM is better suited.

+3
source

Nommy, you should take a look at Roubroo, a process engine built to support BPMN 2.0. It does not have an old obsolete processing engine that has been upgraded to support the new standard. It supports BPMN 2.0 execution semantics, including the IOR gateway, which, in my opinion, is a key way to define business processes in a network. jBPM and Activiti are based on the base PVM, which perfectly supports some workflow templates, but not for others. Take a look at this document: http://eprints.qut.edu.au/14320/1/14320.pdf and http://www.workflowpatterns.com/evaluations/opensource/

+2
source

In my opinion, Camunda BPM Platform is now the leader in the field of open source. And did you mention Open Source? So try camunda if you want: - Clear BPMN focused engine (Shared, Embedable or "remote") - Clean and working REST API - Platform with basic administration tools and ready-made APIs for development - Largest open-source community (my persnoal oppinion) - The best breed approach in the java eco-system. - If you like Java. - If you want your processes to be accepted by your IT audience. http://www.camunda.com/fox/product/details/

+1
source

jBPM5 does not depend on the environment, it does not depend on JBoss, you can run it in every application server, servlet container or SE environment. jBPM5 is licensed under the Apache Software V2 license, which I think is a really good idea. You can, of course, find additional information on the official page.

Greetings

0
source

Regarding jBPM: jBPM is an open source Java engine that can run the business processes described in BPMN 2.0 (or its own jPDL process definition language in earlier versions). It is released under ASL (or LGPL in earlier versions) by JBoss. It includes

  • Strong and powerful integration with business rules and event handling.
  • Collaboration, monitoring and management through the Guvnor repository and management consoles.
  • Human interaction using the WS-HT independent human task service.

In essence, jBPM accepts descriptions of the graphics process as input. A process consists of tasks related to sequence threads. Processes are a thread of execution. A graphic diagram (flow chart) of the process is used as the basis for communication between non-technical users and developers.

0
source

Source: https://habr.com/ru/post/920786/


All Articles