Zeebe-bpmn-moddle vs camunda-bpmn-moddle

Hi everyone,

I’m a little bit confused about the differences between Zeebe and Camunda. I just want to make sure my thoughts are right about these two. At this moment I locally installed Zeebe as the workflow engine. To be able to create and execute BPMN workflows I also installed the following libs:

  • BPMN-js → ofcourse for the bpmn workflow moddeling
  • zeebe-bpmn-moddle → zeebe-bpmn-moddle
  • bpmn-js-properties-panel → to configure task propperties
  • other dependencies → not important for this post

for the proppertiespanel I used the zeebePropertiesProviderModule instead of the camunda propertiesProviderModule to create a compliant Zeebe (executable) BPMN workflow. furthermore I use the python client “zeebe-grpc” zeebe-grpc · PyPI to handle all tasks

I’ve two questions:

  1. Regarding npm, for bpmn-js-properties-panel (extract-process-variables) the camunda-bpmn-moddle has to be installed. Instead I installed “zeebe-bpmn-moddle” v0.7.0.
    I don’t understand why I should need the camunda-bpmn-moddle if I already installed zeebe-bpmn-moddle? As far as I understand there are three moddle libraries. “camunda-bpmn-moddle”, “zeebe-bpmn-moddle” and “bpmn-moddle”. Are the differents between zeebe and camunda the namespace extensions, meaning that zeebe-bpmn-moddle is used for zeebe and camunda-bpmn-moddle is used for camunda? and is de bpmn-moddle different from zeebe and camunda because of it simply doenst have any namespace extensions what means that it’s not usable for workflow execution?

  2. If the above theory is right, than is it also possible to use camunda-bpmn-moddle with the camunda proppertiesprovider for the proppertiespanel to execute these together in zeebe? In the Camunda Modeler (desktop version) I saw it was also possible to create service tasks as external, meaning that this also should be able to communicate with the python client or maybe Kafka for microservices???

Can somebody tell me more about this?

bpmn-moddle defines the BPMN 2.0 model according to the standard. camunda-bpmn-moddle is an extension of that model adding Camunda-specific extensions. Similarly, zeebe-bpmn-moddle is an extension that adds Zeebe-specific extensions. bpmn-js-properties-panel depends on camunda-bpmn-moddle as it packages a properties panel for Camunda Platform. If you want a properties panel for Camunda Cloud (Zeebe) you can use camunda-bpmn-js, a package that includes a Camunda Cloud properties panel. GitHub - camunda/camunda-bpmn-js: Embeddable Camunda modeling distributions based on bpmn-js

1 Like