JBoss Community

BPMN2.0 compliance evaluation (JBPM vs. Activiti)

created by Jörg E in jBPM - View the full discussion

Hello,

 

I try to evaluate JBPM and Activiti. One of my points is to evaluate the BPM2.0 support and compliance.

 

In general there should be a fast roundtrip between business analysts and developers and BPMN2.0 should be used to support this. But BPMN2.0 supports also extensions and these extensions are used by the BPMN engine vendors to customize BPMN2.0 to their engines.

 

So in practice, I have to develop the basic BPMN2.0 diagram together with the business analyst. Afterwards I have to extend this BPMN2.0 diagram and customize it to the BPMN engine that I use. I must know which BPMN2.0 elements are supported and I must know the engine specific extensions. This is usually supported by the engine vendor specific BPMN2.0 tools. I assume also the business analyst should work with the BPMN2.0 tools that come from the BPMN engine vendors, otherwise these roundtrip concepts will not be so easy. If I change the engine later, I must change all my diagrams because of the extensions.

 

Now my questions:

 

1. Based on the documentation comparison (see below), JBPM and Activiti have nearly the same "BPMN2.0 expressiveness" und element support. For me it seems that Activiti uses BPMN2 extensions to make everything more comfortable and easy, but this results in the aspect that I also have to use their roundtrips tools to have the best results. In the JBPMN documentation (chapter 7.1), it is written that JBPM uses a subset of BPMN2.0. I didn't see an extensive usage of extensions. This makes JBPMN less depended from specialized tools. Is this right and is this a strategy of JBPM (easy and lightweight, preventing extensions)?

 

2. Is this table below, nearly correct (for JBPM) ?

 

I hope a can get some statements about these aspects from you.

 

Thanks in advance.

 

Jörg

 

 

ActivitiURLJBPMURL
Events



None Start Eventxhttp://www.activiti.org/userguide/index.html#bpmnNoneStartEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Timer Start Eventxhttp://www.activiti.org/userguide/index.html#bpmnTimerStartEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Message Start Eventxhttp://www.activiti.org/userguide/index.html#bpmnMessageStartEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Error Start Eventxhttp://www.activiti.org/userguide/index.html#bpmnErrorStartEventxhttps://issues.jboss.org/browse/JBPM-3183?_sscc=t
Conditional Start Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Signal Start Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
None End Eventxhttp://www.activiti.org/userguide/index.html#bpmnNoneEndEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Error End Eventxhttp://www.activiti.org/userguide/index.html#bpmnErrorEndEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Cancel End Eventxhttp://www.activiti.org/userguide/index.html#bpmnCancelEndEvent

Terminate End Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Escalation End Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Signal End Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Message End Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Compensation End Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Timer Boundary Eventxhttp://www.activiti.org/userguide/index.html#bpmnTimerBoundaryEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Error Boundary Eventxhttp://www.activiti.org/userguide/index.html#bpmnBoundaryErrorEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Signal Boundary Eventxhttp://www.activiti.org/userguide/index.html#bpmnBoundarySignalEventxhttps://community.jboss.org/thread/200299
Message Boundary Eventxhttp://www.activiti.org/userguide/index.html#bpmnBoundaryMessageEvent

Cancel Boundary Eventxhttp://www.activiti.org/userguide/index.html#bpmnBoundaryCancelEvent

Compensation Boundary Eventxhttp://www.activiti.org/userguide/index.html#bpmnBoundaryCompensationEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Escalation Boundary Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Timer Intermediate Catching Eventxhttp://www.activiti.org/userguide/index.html#bpmnTimerIntermediateEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Signal Intermediate Catching Eventxhttp://www.activiti.org/userguide/index.html#bpmnIntermediateSignalEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Message Intermediate Catching Eventxhttp://www.activiti.org/userguide/index.html#bpmnIntermediateMessageEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Conditional Intermediate Catching Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Intermediate Throwing None Eventxhttp://www.activiti.org/userguide/index.html#bpmnIntermediateThrowNoneEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Escalation Intermediate Throw Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Message Intermediate Throw Event

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Signal Intermediate Throwing Eventxhttp://www.activiti.org/userguide/index.html#bpmnIntermediateThrowSignalEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Compensation Intermediate Throwing Eventxhttp://www.activiti.org/userguide/index.html#bpmnIntermediateThrowCompensationEventxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Sequence Flow



Conditional sequence flowxhttp://www.activiti.org/userguide/index.html#bpmnConditionalSequenceFlowxhttps://bugzilla.redhat.com/show_bug.cgi?id=807640
Default sequence flowxhttp://www.activiti.org/userguide/index.html#bpmnDefaultSequenceFlow

Gateways



Exclusive Gatewayxhttp://www.activiti.org/userguide/index.html#bpmnExclusiveGatewayxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Parallel Gatewayxhttp://www.activiti.org/userguide/index.html#bpmnParallelGatewayxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Inclusive Gatewayxhttp://www.activiti.org/userguide/index.html#bpmnInclusiveGatewayxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Event-based Gatewayxhttp://www.activiti.org/userguide/index.html#bpmnEventbasedGatewayxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Tasks



User Taskxhttp://www.activiti.org/userguide/index.html#bpmnUserTaskxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Script Taskxhttp://www.activiti.org/userguide/index.html#bpmnScriptTaskxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Java Service Taskxhttp://www.activiti.org/userguide/index.html#bpmnJavaServiceTaskxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Web Service Taskxhttp://www.activiti.org/userguide/index.html#bpmnWebserviceTask

Business Rule Taskxhttp://www.activiti.org/userguide/index.html#bpmnBusinessRuleTaskxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Email Taskxhttp://www.activiti.org/userguide/index.html#bpmnEmailTask

Mule Taskxhttp://www.activiti.org/userguide/index.html#bpmnMuleTask

Camel Taskxhttp://www.activiti.org/userguide/index.html#bpmnCamelTask

Manual Taskxhttp://www.activiti.org/userguide/index.html#bpmnManualTaskxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Shell Taskxhttp://www.activiti.org/userguide/index.html#bpmnShellTask

Execution listenerxhttp://www.activiti.org/userguide/index.html#executionListeners(x)http://docs.jboss.org/jbpm/v5.4/javadocs/org/drools/event/process/DefaultProcessEventListener.html
Task listenerxhttp://www.activiti.org/userguide/index.html#taskListeners(x)http://docs.jboss.org/jbpm/v5.4/javadocs/org/jbpm/task/event/DefaultTaskEventListener.html
Multi-instance (for each)xhttp://www.activiti.org/userguide/index.html#bpmnMultiInstancexhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Compensation Handlersxhttp://www.activiti.org/userguide/index.html#bpmnCompensationHandlers

Send Taskxhttp://forums.activiti.org/content/send-task-not-recognized-designerxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Receive Taskxhttp://www.activiti.org/userguide/index.html#bpmnReceiveTaskxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Sub-Processes and Call Activities



Sub-Processxhttp://www.activiti.org/userguide/index.html#bpmnSubProcessxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Event Sub-Processxhttp://www.activiti.org/userguide/index.html#bpmnEventSubprocess

Transaction subprocessxhttp://www.activiti.org/userguide/index.html#bpmnTransactionSubprocess

Call activity (subprocess)xhttp://www.activiti.org/userguide/index.html#bpmnCallActivityxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Ad-Hoc Sub-Processxhttp://www.jorambarrez.be/blog/2011/01/05/adhoc-workflow-with-activiti-kickstart/xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Data



Data-Object

xhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Transactions and Concurrency



Asynchronous Continuationsxhttp://www.activiti.org/userguide/index.html#asyncContinuationsxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-basics.html#d0e2358
Exclusive Jobsxhttp://www.activiti.org/userguide/index.html#exclusiveJobsxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-basics.html#d0e2358
Other



Lanesxhttp://forums.activiti.org/content/pools-and-lanesxhttp://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html
Process Initiation Authorizationxhttp://activiti.org/userguide/index.html#security

Reply to this message by going to Community

Start a new discussion in jBPM at Community