Can I dynamically change a business rule for an instance?

Hi folks,

In the context of a personal survey for BPM tools, I would like to ask if Camunda supports by some way (either in Community or Enterprise edition) the possibility of changing a business rule for a process instance. Without the need for deploying again the same process definition.

Thank you in advance,
Steve

Hi Steve,

There are a number of different scenarios which could meet your requirement…

Deploy DMN
Your process model could use a business rule task bound to a DMN model. You could change the DMN model by deploying just the DMN model.

DMN version
Your process model could dynamically bind to a process model or version based on some logic implemented in the process model.

Regards

Rob

1 Like

Hi @Webcyberrob and thanks for your feedback.

To surely understand, in the first case above, you mean that I have my process model in BPMN 2.0 and with every dynamic change in the DMN model, the “connected” Business Rule Task is automatically updated ?
This case is supported in both of Camunda’s editions ?

Let me tell you that I didn’t understand what you mean in the 2nd case, I got confused :confused:

Please suppose that my process model is designed in BPMN 2.0.

Regards,
Steve

Hi Steve,

Ok for use case 1 lets assume you encapsulate your business rules in a DMN model and you use a business rule task in your BPMN process model. In the process modeler, you can bind the DMN model to the rule task using say ‘latest’. Hence if you redeploy the DMN model, subsequent invocations of the rule task will use the updated DMN model. Note that this applies to all subsequent invocations, not just a specific instance…

If you want much finer grained control, you could set the business rule task binding to use a version tag. Then in your process instance, you could use a process variable to resolve to a specific version tag. So again, you may need to deploy multiple versions of the DMN model, however you can now dynamically resolve which version to use at process instance runtime…

regards

Rob

2 Likes

Hi,

A follow on question on this topic .

Is there any way to update the values in the DMN table at run time in production by business users without the need to redeploy the DMN application .

Can we use cockpit or is there a rest api that can be invoked to update this at run time so that the business have control on any change to the values in the DMN table . Here I am not talking about creating any new rule, just an easy way to manage/update the existing rule table in production

Thanks
S