Is there a way to use the class "org.kie.dmn.feel.runtime.decisiontables.DecisionTableImpl" without using the entire library set? I would like to load the rules using my database, due to some security policy restrictions.
Asked
Active
Viewed 222 times
0
-
the question is more along the lines of -- _why_ are you using decision tables in this case instead of just DRL? rule templates would probably be a lot easier to leverage if you're using values out of a database. – Roddy of the Frozen Peas May 19 '21 at 20:29
-
The rules must be updated at runtime using a custom ui by business operators...the database used is a nosql db – user1800752 May 19 '21 at 20:35
-
1@RoddyoftheFrozenPeas this is not about Excel at all, DMN has a different decision table implementation not based on XLS files – Luca Molteni May 20 '21 at 07:31
-
@LucaMolteni could you please provide me an example that loads the rules without the DMN interchange file (.xml)? – user1800752 May 20 '21 at 08:07
1 Answers
1
Please do not use internal implementation classes directly, as that is not a supported solution.
You could consider generating from the DB table the DMN interchange file (.xml) directly accordingly to your needs. We had some other users in the past which adopted a similar strategy. As the DMN is an open-standard, you can transform your source-of-knowledge into the DMN model, and then use the Drools DMN Engine to evaluate the DMN model itself.
Naturally, this is a less-than-ideal solution, since the whole purpose of describing the DMN model with an editor is to use the visual notation of the standard, which are more easily consumable by Business Analyst and Stakeholder, than some db tables.

tarilabs
- 2,178
- 2
- 15
- 23
-
I totally agree with you, but I need a mechanism to update the rule engine decision table at runtime. Moreover, the business analyst has to updates the rules using a custom UI. – user1800752 May 20 '21 at 08:03
-
I would like to implement one of these use cases: a) 1. The business operator using a custom UI generates/updates the ruleset. 2. The backend application generates the DMN interchange file (.xml) and updates the runtime engine without restart the application. b) 1. The business operator using a custom UI generates/updates the ruleset. 2. The backend application generates and saves in a NoSQL DB the JSON file. 3. The backend application using the new configuration, updates the runtime engine without restart the application. – user1800752 May 20 '21 at 08:03
-
I don't think it is possible to update the runtime engine without losing software availability. Am I right? – user1800752 May 20 '21 at 08:03
-
1This is a broader discussion moving beyond the original answer :) I believe the original question is properly addressed in my answer. . If you want to discuss technical architectures you can check out the Drools mailing lists https://drools.org/community/getHelp.html and you can also always design your application in a "continous roll-out" even with Kogito https://kogito.kie.org It depends on your definition of CI and Service you want to offer. – tarilabs May 20 '21 at 08:56