Event Driven Process execution


I have the requirement to create an event-driven workflow. Since now, in my team we are using at 100% the Flowable Process Engine in order to create and manage processes based on the process definition diagrams.

Regarding the event-driven, I do not think that the process definition diagrams will be effective enough to accomplish the desired event-driven workflow.

Here is explanation what need to be done:
First, I want to have a “task” which could be executed based on signalling of some event - for example when some event is triggered, the “task” needs to be executed based on the event.
Second, each “task” in the process have to be executed either on parallel with other tasks or sequentially.
Third, I do not want to follow the process definition as the event-driven mechanism should be able to execute the tasks in an order, determined by the process input parameters.

These are the 3 most important boundaries which I need to accomplish and using Flowable I cannot do that, as far as I know.

Could someone give me an example of such event-driven workflow using the Flowable Process engine? Or at least give me some approach that could handle the boundaries using the Flowable elements?

Best regards,

1 Like

Hi Encho,

I am not sure whether I understood what event driven process means.

Did you have a look on https://www.flowable.org/docs/userguide/index.html#bpmnSignalStartEvent

It depends on your process model.

As I understand based on the input params path in the process definition should be chosen. Make rules to help you with decisions and design a process model.


Hello Martin,

Thanks for the response.
Actually, the things which you described are already adopted in my team and we are using them in order to process some collections. However, we are not happy from the “static” execution of the process. For example, we want to jump from step to step not following correct order and the jump should be based on some events. Unfortunately, using Flowable, I cannot achieve that unless I model a lot of Events which will be triggered after the completion of a step and determine the next step which need to be executed.

Also, I have another question, is there some modelling preposition for processing collections either on parallel or in sequence? For example, if I have a collection which need to be processed, I want to do 2 things:

  1. If the collection contains 0 or 1 item, I want to process using the current step.
  2. If the collection contains > 1 element, I want to start N parallel sub-processes which could process each item in parallel of the others.
    Note the first point, I do not want to start a sub-process for it.

Thanks and best regards,

Hi Encho,

This interface was meant for admin purposes, but it allows “jumping”.

Yes, if you really need concurrent execution, I would use asynchronous multiinstance with the job executor configured in the way to allow multiple executions.