BPMN : Do your business processes getting hold-up?

Vinod Kavinda
Business Process Management (BPM)
2 min readAug 25, 2016

In the BPMN world user tasks are the only way we can allow an human to control the process. A user may change the process flow, change the variable values or end the process flow at this point. The time taken for the process completion heavily dependant on the time taken for the user tasks.

As a team that is developing an open source BPM platform (WSO2 BPS), we have been asked the question that what if the assignee of the task is not available. In BPMN user tasks, once it is assigned there is no going back. We can’t track the progress of the task, hence it is not correct to reassign the task without the initial user’s consent.

So, what is the solution?

We came up with idea of User Substitution which is an existing notion in process world. Since we cannot take back the tasks once assigned, decided to intercept the task assignment. If the user is not available, then we need to know who is going to do the work. For that, we allowed users to define their substitute.

Now, all we have to do is check whether the user is available (check an active substitution exist) and if not we assign the task to his substitute.

Hola! Here we have our solution!

It’s not that simple, still we have few complications to solve.

What if the substitute user also not available?

What happens to claimable tasks if all the candidates are not available?

We have answered all those questions in our user substitution implementation. I’ll explain those complex bits in the next post.

Until then you can play with it in our latest release WSO2 BPS 3.6.0. Download the product from http://wso2.com/products/business-process-server/ and follow the user substitution documentation at https://docs.wso2.com/display/BPS360/Working+with+BPMN+User+Substitution.

Update: read the part 2 of this story at,

https://medium.com/business-process-management-bpm/https-medium-com-vinok88-wso2-bps-user-substitution-deep-dive-b4552131ff5d#.530wn918a

Thank you.

--

--

Vinod Kavinda
Business Process Management (BPM)

Engineer @WSO2 | Developing the brilliant @ballerinalang | Trying to learn the art of writing here!