2 Replies Latest reply on Jun 7, 2013 5:29 AM by Maciej Swiderski

    BPMN2.0 compliance evaluation (JBPM vs. Activiti)

    Jörg E Newbie

      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