[jboss-user] [jBPM] - BPMN2.0 compliance evaluation (JBPM vs. Activiti)

Jörg E do-not-reply at jboss.com
Wed Jun 5 05:35:49 EDT 2013


Jörg E [https://community.jboss.org/people/jeisen] created the discussion

"BPMN2.0 compliance evaluation (JBPM vs. Activiti)"

To view the discussion, visit: https://community.jboss.org/message/821482#821482

--------------------------------------------------------------
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


|
||  || *Activiti* || *URL* || *JBPM* || *URL* ||
| *Events* | 
 | 
 | 
 | 
 |
| None Start Event | x | http://www.activiti.org/userguide/index.html#bpmnNoneStartEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Timer Start Event | x | http://www.activiti.org/userguide/index.html#bpmnTimerStartEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Message Start Event | x | http://www.activiti.org/userguide/index.html#bpmnMessageStartEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Error Start Event | x | http://www.activiti.org/userguide/index.html#bpmnErrorStartEvent | x | https://issues.jboss.org/browse/JBPM-3183?_sscc=t |
| Conditional Start Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Signal Start Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| None End Event | x | http://www.activiti.org/userguide/index.html#bpmnNoneEndEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Error End Event | x | http://www.activiti.org/userguide/index.html#bpmnErrorEndEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Cancel End Event | x | http://www.activiti.org/userguide/index.html#bpmnCancelEndEvent | 
 | 
 |
| Terminate End Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Escalation End Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Signal End Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Message End Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Compensation End Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Timer Boundary Event | x | http://www.activiti.org/userguide/index.html#bpmnTimerBoundaryEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Error Boundary Event | x | http://www.activiti.org/userguide/index.html#bpmnBoundaryErrorEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Signal Boundary Event | x | http://www.activiti.org/userguide/index.html#bpmnBoundarySignalEvent | x | https://community.jboss.org/thread/200299 |
| Message Boundary Event | x | http://www.activiti.org/userguide/index.html#bpmnBoundaryMessageEvent | 
 | 
 |
| Cancel Boundary Event | x | http://www.activiti.org/userguide/index.html#bpmnBoundaryCancelEvent | 
 | 
 |
| Compensation Boundary Event | x | http://www.activiti.org/userguide/index.html#bpmnBoundaryCompensationEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Escalation Boundary Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Timer Intermediate Catching Event | x | http://www.activiti.org/userguide/index.html#bpmnTimerIntermediateEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Signal Intermediate Catching Event | x | http://www.activiti.org/userguide/index.html#bpmnIntermediateSignalEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Message Intermediate Catching Event | x | http://www.activiti.org/userguide/index.html#bpmnIntermediateMessageEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Conditional Intermediate Catching Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Intermediate Throwing None Event | x | http://www.activiti.org/userguide/index.html#bpmnIntermediateThrowNoneEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Escalation Intermediate Throw Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Message Intermediate Throw Event | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Signal Intermediate Throwing Event | x | http://www.activiti.org/userguide/index.html#bpmnIntermediateThrowSignalEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Compensation Intermediate Throwing Event | x | http://www.activiti.org/userguide/index.html#bpmnIntermediateThrowCompensationEvent | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| *Sequence Flow* | 
 | 
 | 
 | 
 |
| Conditional sequence flow | x | http://www.activiti.org/userguide/index.html#bpmnConditionalSequenceFlow | x | https://bugzilla.redhat.com/show_bug.cgi?id=807640 |
| Default sequence flow | x | http://www.activiti.org/userguide/index.html#bpmnDefaultSequenceFlow | 
 | 
 |
| *Gateways* | 
 | 
 | 
 | 
 |
| Exclusive Gateway | x | http://www.activiti.org/userguide/index.html#bpmnExclusiveGateway | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Parallel Gateway | x | http://www.activiti.org/userguide/index.html#bpmnParallelGateway | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Inclusive Gateway | x | http://www.activiti.org/userguide/index.html#bpmnInclusiveGateway | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Event-based Gateway | x | http://www.activiti.org/userguide/index.html#bpmnEventbasedGateway | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| *Tasks* | 
 | 
 | 
 | 
 |
| User Task | x | http://www.activiti.org/userguide/index.html#bpmnUserTask | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Script Task | x | http://www.activiti.org/userguide/index.html#bpmnScriptTask | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Java Service Task | x | http://www.activiti.org/userguide/index.html#bpmnJavaServiceTask | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Web Service Task | x | http://www.activiti.org/userguide/index.html#bpmnWebserviceTask | 
 | 
 |
| Business Rule Task | x | http://www.activiti.org/userguide/index.html#bpmnBusinessRuleTask | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Email Task | x | http://www.activiti.org/userguide/index.html#bpmnEmailTask | 
 | 
 |
| Mule Task | x | http://www.activiti.org/userguide/index.html#bpmnMuleTask | 
 | 
 |
| Camel Task | x | http://www.activiti.org/userguide/index.html#bpmnCamelTask | 
 | 
 |
| Manual Task | x | http://www.activiti.org/userguide/index.html#bpmnManualTask | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Shell Task | x | http://www.activiti.org/userguide/index.html#bpmnShellTask | 
 | 
 |
| Execution listener | x | http://www.activiti.org/userguide/index.html#executionListeners | (x) | http://docs.jboss.org/jbpm/v5.4/javadocs/org/drools/event/process/DefaultProcessEventListener.html |
| Task listener | x | http://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) | x | http://www.activiti.org/userguide/index.html#bpmnMultiInstance | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Compensation Handlers | x | http://www.activiti.org/userguide/index.html#bpmnCompensationHandlers | 
 | 
 |
| Send Task | x | http://forums.activiti.org/content/send-task-not-recognized-designer | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Receive Task | x | http://www.activiti.org/userguide/index.html#bpmnReceiveTask | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| *Sub-Processes and Call Activities* | 
 | 
 | 
 | 
 |
| Sub-Process | x | http://www.activiti.org/userguide/index.html#bpmnSubProcess | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Event Sub-Process | x | http://www.activiti.org/userguide/index.html#bpmnEventSubprocess | 
 | 
 |
| Transaction subprocess | x | http://www.activiti.org/userguide/index.html#bpmnTransactionSubprocess | 
 | 
 |
| Call activity (subprocess) | x | http://www.activiti.org/userguide/index.html#bpmnCallActivity | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Ad-Hoc Sub-Process | x | http://www.jorambarrez.be/blog/2011/01/05/adhoc-workflow-with-activiti-kickstart/ | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| *Data* | 
 | 
 | 
 | 
 |
| Data-Object | 
 | 
 | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| *Transactions and Concurrency* | 
 | 
 | 
 | 
 |
| Asynchronous Continuations | x | http://www.activiti.org/userguide/index.html#asyncContinuations | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-basics.html#d0e2358 |
| Exclusive Jobs | x | http://www.activiti.org/userguide/index.html#exclusiveJobs | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-basics.html#d0e2358 |
| *Other* | 
 | 
 | 
 | 
 |
| Lanes | x | http://forums.activiti.org/content/pools-and-lanes | x | http://docs.jboss.org/jbpm/v5.4/userguide/ch.core-bpmn.html |
| Process Initiation Authorization | x | http://activiti.org/userguide/index.html#security | 
 | 
 |
--------------------------------------------------------------

Reply to this message by going to Community
[https://community.jboss.org/message/821482#821482]

Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20130605/524476be/attachment-0001.html 


More information about the jboss-user mailing list