jBPM5 Workflow Components - jBPM

What are the different workflow components of jBPM5?

Below screenshot displays different workflow components available in jBPM5. These components can be used for creating a workflow to arranging your process.


Custom tasks can also be created but we will discuss about these tasks in later sections. In addition to this, there are service tasks which can be used for arranging a process.

  • Start Event – Start event is the first node executed in every process and there will be only one start node in your process.
  • End Event – End event node signals will end of the process and there will be more than one occurrence of this type of node in a process.
  • Rule Task – Rule task is a node which evaluates a RuleFlow group. This is a group of Drools Rules under the same named scope.
  • Gateway (diverge) aka Split − This node will create a new path/way in the process. It has two or more outgoing connections and you can select between three different types of Splits/Gates available.
    • AND GATE – In this, flow of the process will continue to all outgoing connections at the same time.
    • XOR GATE − Which goes to one only outgoing path based on some predefined constraints defined in the workflow.
    • OR GATE – In this, flow will proceed based on the evaluation of all outgoing constraints and that path will be enabled where the constraint is evaluated to true.
  • Gateway (converge) aka Join − This join is just the reverse of the split and it joins multiple paths into one. There can be four different types of Joins/gates
    • AND − Flow continues when all the branches are complete.
    • XOR − Flow continues when at least one branch is complete.
    • Discriminator − Like XOR, discriminator will continue if one of its branches have been completed. But unlike XOR, it will register completions of other branches till all connections have finished. When this happens, node will reset and you can enter it again when an incoming branch activates and the cycle starts all over again.
    • N-of-M − Flow continues when n number of m branches are completed. You should specify n (number) while configuring the gate, to define how many branches should complete before the flow exits.
  • Reusable Sub-Process – This will call another process and this is very useful for composing many smaller processes into a larger one. This larger one will be a coordinating process. Calling process can be configured to wait for the call to complete and also to have an independent lifecycle of its parent.
    • Script Task − A node which executes a simple piece of code.
    • Timer Event – Timer event node will start a timer and triggers when the timer expires. This will enable time-related process and repetitive tasks.
    • Error Event – Error event node indicates an error condition in the process and it will not have outgoing connections. It will specify a FaultName and a FaultVariable. Engine will search for an exception handler which matches the FaultName and it will store the Fault information in the variable defined by the FaultVariable.
  • Message Event – message event will trigger when an event of a predefined type is released. It can be either an internal event (signaled inside the process) or external (signaled by an external entity other than the process engine).
  • User Task – User task node will create a Human Task and this Human Task is an activity which should be completed by a human actor.
  • Embedded Sub-Process − Embedded Sub-Process allows in creating a sub process within a parent process and it will have its own scope. This will be useful for larger process where you like keeping some complex branches isolated. It will have its own variables and exception handlers.
  • Multiple Instances aka for Each – it helps a collection of elements to be fed into a sub process and is very useful when combined with a Reusable Sub process for composing and coordinating smaller processes.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

jBPM Topics