Problem Statement

In this article, we will discuss various process designs with performance and user experience at the back of our minds.

Figure 1: Process Flow with Long Running Tools in Between Activities

In Figure 1, when the user completes Activity 1, it will take 15 seconds long to execute all tools before reaching Activity 2.

Figure 2: User Started a Process Instance

In the eye of the user, the user will be presented with "Please wait..." as shown in Figure 2, and needed to wait for a considerable long time before reaching the next activity assignment, Activity 2.

We will discuss possible solutions to eliminate the need to wait for the users.

Possible Solutions

Solution 1 - Multi Tools with New Thread (No Dependency on Tools)

Use Multi Tools and have all the tools placed under it. It is important to set the Run Mode to Run tools sequentially in a new single thread.

Figure 3: Multi Tools with New Thread

Since the tools will run in a new thread, Joget will not wait for it to complete and move on to Activity 2.

Solution 2 - Use Synchronous Deadline (No Dependency on Tools)

In this solution, we are adding a parallel route and a new activity (Activity 3).

Activity 3 is used as a dummy activity and mapped to a dummy user to serve as a "checkpoint" so that users do not need to wait at the "Please wait..." screen.

Upon completing Activity 1, the user will see Activity 2 immediately without the need to wait for all 3 tools to execute as shown in Figure 4 below.

Figure 4: Process Flow with the Use of Synchronous Deadline

The tools will only be executed upon the maturity of a synchronous deadline. This will not interfere with the end users' screens and they do not need to wait for their executions.

Figure 5: Process Flow with the Use of Synchronous Deadline - Deadlines

This solution is viable if Activity 2 does not have a dependency on the outcome of the tools' executions.

Read on how to handle the use case where executions of tools are needed in order to move to the next activity.

Solution 3 - Use Synchronous Deadline (With Dependency on Tools)

By retaining the synchronous deadline in Solution 1 earlier, upon completing the assignment Activity 1, users will be able to inbox listing or wherever they came from and continue their work as shown in Figure 6 below.

The tools will start executing upon deadline maturity and Activity 2 will only be created after that.

Figure 6: Process Flow with the Use of Synchronous Deadline to Cater to Dependency on Tools' Executions


  • No labels