Hi, how are you?
In my team we are implementing Camunda in a new project. We want to use BPM and DMNs.
The business has many processes and decisions.
We divide the project in two. One as an API to use DMN to make decisions and another for processes.
We see that the process calls the DMN API and with the result makes a decision.
Now we want to give end users the ability to only modify DMN files and deploy them.
So we thought about bringing the Camunda Modeler to the end user. Where you can modify the DMN files and test them.
They would then be deployed to the API Project DMN project. (Via Camunda REST)
(Sorry i can’t embbed more than 1 image.)
Business Actor → Uses Camunda Modeler to edit and test DMN File → Deploy DMN File vía Camunda Rest to Api Project DMN.
(Clarification: It is a simplified version. There would be a review stage before deployment.)
Now, the question is, what about the testing of the project?
For example, we have a decision table with two lines:
Age >= 18 => Adult
Age <18 => Minor
And in the API DMN Project we have the JUnit tests of this DMN.
Age = 12 => Minor
Age = 20 => Adult
And the end user wants to modify these rules. Use the Camunda Modeler and modify:
Age >= 21 => Adult
Age < 21 => Minor
Create the tests in the camunda modeler, they work and deploy to Api Project DMN.
Now the DMN is updated.
But what about the tests previously defined in the project?
Does it make sense to have tests integrated into the project in such a case?
It may be that we are wrong in how to use these tools.
Finally, an alternative that we think is:
Business Actor → Uses Camunda Modeler to edit and test DMN File → Send file to Development TEAM → Team add file and changes tests and deploy vía CI/CD.
But it is not agile / fast.
Recommendations / opinions?
Thanks a lot!