CMMN and DMN Support

Hi, I’m new to Camunda BPM and Zeebe. I see that Camunda BPM supports BPMN, CMMN, and DMN. I also see that Zeebe has BPMN support. When will Zeebe have CMMN and DMN support as well?

Hi @ramin_melikov!

We have no plans to support DMN or CMMN in Zeebe directly. Zeebe has the concept of job workers which means the work is done externally by other applications. Similar to external tasks in Camunda BPM.

It’s easy to write your own job worker using one of the clients and connect an external application, like a DMN or CMMN engine. There are also two community projects which provide job workers for DMN:

Best regards,
Philipp

2 Likes

Thank you, Philipp. Please forgive my ignorance. I’m still trying to understand it all.

So, does this mean that one would have to implement 3 engines separately? (BPMN, CMMN, and DMN)

Yes. Zeebe as an overall solution will probably support DMN as well as Decision Tasks in the future. But, DMN will most probably not be implemented in the Zeebe Broker itself but rather as a standalone external microservice that connects to Zeebe via the Job Worker concept. The link that @philipp.ossler pointed you to is a proof of concept of what that can look like.

Does that make sense to you?

Daniel

I will read that link and will come back later. Thank you.

Hello,
I’ve done an implementation of both DMN scala zorker and rest server (pointed by @philipp.ossler) in Zeebe 0.25.1 that works fine with numbers and strings.
I do have one issue with date types that make it through the DMN activity with no error but leaving the decision result variable null. I couldn’t find any example of this type of DMN on the internet so I opened this issue on purpose.
The decision table works in the Camunda simulator though:


Thanks for your help!

1 Like

Solved: https://github.com/camunda/dmn-scala/issues/18#issuecomment-749237833
Thanks @philipp.ossler

2 Likes