Monday, February 27, 2017

Event sub processes in Flowable 6

With the release of Flowable 6, we improved the support for event sub processes. In Flowable 5, the support for event sub processes is limited to the interrupting type. This means that if a signal event is triggered for an event sub process, the executions on the same scope are terminated. Let's look at a simple example process definition.

When a process instance is started, "Task 1" will be the active state of the process instance. When the signal start event of the event sub process is triggered, "Task 1" will be terminated and the event sub process is started and the current state of the process instance is "Additional task".

With Flowable 6 there's now also support for non-interrupting event sub processes. The only difference when designing the process definition is configuring the signal start event as not interrupting.
A non-interrupting start event is visually shown as a circle with a dashed line. If you would start a process instance for this process definition, again "Task 1" will be the active state of the process instance. But now, when the signal start event is triggered, "Task 1" will remain active, and an additional execution is created for the event sub process. Therefore, two user tasks will be active "Task 1" and "Additional task". 

Let's look at another example, that contains two event sub processes, one on the main process level and one nested inside a sub process.

When we deploy this process definition (as part of an app definition) to the Flowable Task application, we can test the process instance execution by clicking through the task application. Let's start a new process instance in the Flowable Task application and see "Task 1" being created. If you now query the REST API for active event subscriptions (on Tomcat with http://localhost:8080/flowable-task/process-api/runtime/event-subscriptions), you'll see the signal event from the event sub process on the main process level being available. 

We could trigger the signal start event, but let's complete "Task 1" first. Now "Sub task 1" is the active task and if you do another event subscription query, you'll see another event subscription has become active. Let's trigger the nested event sub process signal and validate if the non-interrupting behaviour works as expected.

With a REST client like Postman you can do a PUT request to http://localhost:8080/flowable-task/process-api/runtime/executions/{executionId}, with a JSON body defining the signal action and the signal event name.


In this example, the execution id is "12518". But you can look up the execution id in the event subscription query result. When this signal event is triggered, the "Additional sub task" of the event sub process should be created, while keeping the "Sub task 1" task active as well. The process diagram in the Flowable task application should look like this:

Now let's complete the "Sub task 1" task and notice that "Task 2" is not created yet. First we have to complete "Additional sub task". When both tasks have been completed, "Task 2" is created. When executing the event subscription query again, you'll see that there's only the main process level signal event remaining. The nested sub process event subscription is deleted and not available anymore. After "Task 2" is completed, the process instance is also completed and no event subscriptions are available anymore.

Non-interrupting event sub processes provide a great addition to add more flexibility to your process definitions and to be able to create additional user tasks, or execute additional service tasks, in specific use cases. With Flowable 6.0.0, non-interrupting event sub processes on the main process level are support, but with the upcoming 6.0.1 release also nested non-interrupting event sub processes will be supported in the Flowable Engine.



31 comments:

  1. Thanks you for sharing this unique useful information content with us. Really awesome work. keep on blogging
    Oracle training in btm
    Oracle Online Training
    Oracle training in chennai
    Oracle training in Bangalore

    ReplyDelete
  2. Thanks for sharing this valuable information for us!!
    Keep up the good work
    Apponix Technologies

    ReplyDelete
  3. Your website is very beautiful or Articles. I love it thank you for sharing for everyone. BPMN

    ReplyDelete
  4. Can you please provide example of event sub-process with message start event?
    sub-process should be triggered on message start event.

    ReplyDelete
  5. This post is so useful and informative.Keep updating with more information.....
    Best Python Training In Bangalore
    Python Classes In Bangalore

    ReplyDelete
  6. Thanks for sharing. I found a lot of interesting information here. A really good post, very thankful and hopeful that you will write many more posts like this one.
    Digital Marketing Company in Delhi
    digital marketing company in jaipur

    ReplyDelete
  7. This is a great post. I like this topic.This site has lots of advantage.I found many interesting things from this site. It helps me in many ways.Thanks for posting.our sclinbio.com

    ReplyDelete
  8. I thoroughly enjoyed reading your article on event sub-processes in Flowable 6. Your insightful exploration of this topic provided me with valuable insights into optimizing business processes with Flowable. The clear explanations and examples made the complex concepts more accessible.

    Moreover, while delving into the world of business process management, I couldn't help but think about the significance of upskilling in today's data-driven landscape. Imarticus Learning's Data Science Course comes to mind as an excellent opportunity for professionals looking to enhance their skills. The program's comprehensive curriculum, hands-on projects, and industry-relevant approach make it a standout choice. In an era where data science is at the forefront of innovation, Imarticus Learning seems to be paving the way for individuals to thrive in the evolving job market. Kudos to your blog for shedding light on both Flowable and valuable educational resources like Imarticus Learning's Data Science Course!

    ReplyDelete
  9. Flowable 6 introduces non-interrupting event sub processes, allowing events to trigger additional tasks without interrupting ongoing ones. This adds flexibility to process design, as demonstrated by the ability to run two tasks simultaneously. You can also query event subscriptions using the REST API for better workflow management. With the upcoming 6.0.1 release, nested non-interrupting event sub processes will be supported, enhancing the feature further.

    For those interested in expanding their skill set, data Science courses in Delhi offer great opportunities to learn about AI, machine learning, and data analysis, which can complement BPM systems like Flowable for more intelligent process automation.

    ReplyDelete
  10. This is an excellent and detailed explanation of event sub processes in Flowable 6, especially highlighting the key improvements over Flowable 5. The distinction between interrupting and non-interrupting event sub processes is made clear through practical examples. I particularly appreciate the step-by-step walkthrough of how the Flowable Task application and REST API can be used to test and validate these processes.

    The support for non-interrupting event sub processes definitely adds a new level of flexibility, allowing for more dynamic workflows where multiple user tasks can run concurrently without terminating the main task. This feature can significantly benefit complex business process scenarios.

    Interestingly, just as Flowable 6 brings flexibility to process automation, data Science courses in Delhi are empowering professionals to analyze and optimize such processes using data-driven insights. Combining BPM tools like Flowable with data science skills can lead to more efficient, intelligent workflow management solutions.

    Looking forward to the 6.0.1 release and the added support for nested non-interrupting event sub processes in the Flowable Engine. This will surely open up even more possibilities for designing robust and adaptable workflows.

    ReplyDelete
  11. This is a great explanation of event sub processes in Flowable 6, especially highlighting the new support for non-interrupting event sub processes. The ability to trigger a signal event without terminating the ongoing tasks, such as keeping both "Task 1" and "Additional task" active, definitely adds more flexibility to process definitions. It’s impressive how Flowable 6 now supports nested non-interrupting event sub processes as well, providing more granular control over complex workflows.

    On a related note, for professionals looking to enhance their skills in process automation and data-driven decision-making, data Science courses in Delhi can be an excellent addition.

    ReplyDelete
  12. This is an excellent breakdown of event sub processes in Flowable 6 and how they have evolved from Flowable 5. The introduction of non-interrupting event sub processes adds significant flexibility, allowing parallel execution of tasks without terminating existing ones. The detailed examples make it easier to grasp the practical impact of these enhancements, especially when working with nested event sub processes.

    It's great to see how REST API queries and tools like Postman can help validate the process execution, making debugging and monitoring more efficient. The ability to trigger event subscriptions dynamically while keeping tasks active is a game-changer for complex workflows.

    On a different note, if you're exploring career growth opportunities, Medical Coding Courses in Delhi can be a great option. These courses provide in-depth training in healthcare documentation and classification systems, helping professionals secure roles in hospitals, insurance companies, and healthcare IT firms.

    Looking forward to the Flowable 6.0.1 release, which will bring even more improvements to nested event sub processes!

    ReplyDelete

  13. The Process Editor is the primary means to create BPMN diagrams. It allows you to visually model them using simple drag-and-drop commands.
    Medical Coding Course in Hyderabad

    ReplyDelete