Appreciate input on choosing rules engine to support a technical triage scenario

We have been evaluating various rules engines, and I have been focused on Camunda. Was able to follow utube videos for several examples, however I noted fairly significant differences in UI since they were made. Some are great improvements (although look-and-feel of prior UI on utubes was much more rich), others are puzzling:

  1. Where can we add ‘key’ to DMN diagram - not obvious - appears to be generated; also the variable choices are not displayed on the diagram at top as they used to be
  2. Beverage example fails with null response due to stack trace indicating UNIQUE policy is violated - fixed this by removing final ‘Beer’ choice in the table, but that did not make sense to me
  3. Trying to defend choice of Camunda over Open Rules, but not finding much on the web - except a sourceforge comparison that indicates Camunda does not support SaaS; is this true?

I have researched this as much as possible within time limit on the web, and appreciate any quick pointers to potential solutions!

Great software - really enjoying the whole paradigm, and hoping we can continue implementing.

Best Regards,
Gordon

Hello @ggifford ,

thank you for this positive feedback first!

Now for your questions:

  1. The key of a DMN can be set in the DRD view. If you click on the decision there, you will be able to set the Id in the properties panel on the right. This will then be the key.
  2. I know the scenario and for me it always worked. I will investigate it anyway.
  3. Camunda Platform is not generally available as SaaS, this is correct. If you would like to use it, you could set it up in your own (cloud) infrastrucure. In the future, also Camunda Cloud should be capable of DMN, but right now, we focus on BPMN there.

Hope this helps

Jonathan

Thanks so much for such a quick response! I will communicate your insight to our eval team. So far we are feeling very positive about Camunda for our solution fit.

Jonathon, putting aside SaaS for now, my impression is that Camunda core capability now supports the full FEEL syntax (i have a link to that). I am pitching my team that Camunda DPM+FEEL should cover any cases other than extreme edge cases where we can drop down to java server or drools example (also avail. as link on web).

Do you agree in general?

Hi @jonathan.lukas can you let me know please if you discovered similar issue to my second point above, where the final ‘catch all’ entry in the DMN table example causes a java exception, apparently (from sprint boot console log) because it is violating the UNIQUE pattern?

This is as pure a copy of the original @Niall + hawk utube version as I could make, and I can duplicate and fix the error at will be adding or removing row, or simply filling in ‘name’ variable in table as ‘xxxx’. Again, it does not make sense to me, and in theory it should work as the tutorial indicates -

Much appreciated -
Gordon

I can help you out here…
If you use the UNIQUE hit policy you can never really implement a “Catch All” rule. This hit policy states that it evaluates all of the rules and only ONE or NONE can match. If you have a catch all - In a case that one rules matches the “catch all” rule will also always match and then it’ll throw an error because two rules have matched…

You should use a FIRST hit policy as an easy fix for this.

1 Like

Yaay! Thanks Niall for providing me with the solution and a renewed sense of confidence. Brilliant - tested it just now and works great. I guess the default ‘UNIQUE’ policy tripped me up, but hey, I learned a lot about how to debug from within embedded tomcat server of spring boot, so a silver lining!

2 Likes

Never underestimate the value of knowing how to debug :laughing:
Glad you have it working