I’ve developed a plugin called bpmn-to-code that generates what I call “Process-APIs” from your BPMN process models. After discussing this with @Julian , he recommended me to share it here to get your thoughts.
What it does:
The purpose of the plugin is to simplify process automation through automated code generation from BPMN models. It extracts key details like element IDs, messages, and worker types from your BPMN processes and generates lightweight “Process APIs” that keep your process models and code in perfect sync. This eliminates the tedious task of manually referencing BPMN elements and provides type-safe, ready-to-use API definitions for Java and Kotlin. The tool is engine-agnostic and extensible, currently supporting both Camunda 7 and Zeebe. You can check out the project here:
Do you think this type of plugin could be useful for Operaton users? I’d love to hear your thoughts about the concept and whether you see value in this approach.
b) BPMN Metamodel Compatibility
I’m also particularly interested in Operaton’s roadmap regarding the BPMN metamodel. Are you planning to keep it compatible with Camunda 7’s metamodel, or do you have plans to modify it?
I’ve built the plugin to be adaptable to different engines, so I’m wondering if I’ll need to make changes to support Operaton - or if it’ll keep using keys like camunda:inputOutput
great that you found the way into our forum. Operaton currently support 100% of the Camunda 7 metamodel. We have backward compatibility with the camunda namespace. Would be also great if your tool could support the operaton namespace. (Just replace camunda in the namespace declaration with operaton, but both namespaces should be supported).
When your tool is Operaton ready, we can list it at our new hub page, so it can get some visibility → Hub - Operaton
Hey @marco ! Some years ago I pitched something like this on a Camunda Community Day. In the past, I developed many code generators and when I used Camunda, I realized that exactly something like this is missing. Because a typical source of errors is a mismatch between code and the BPMN models accessing them.
So yes, I deeply believe that a tool like yours is helpful.
If you support Operaton with the tool, it should just be using different namespaces. We will be very careful with the extension of the BPMN model.
If your tool supports Operaton, please add this to our new Hub page. You can request it by the link on the page.
thank you for your answer’s and the links to the hub as well as your talk. I’ll take a look at it sometime.
Regarding making the tool compatible:
If its only the namespace, i think this should be no problem. However, do you maybe already have some example models or a modeler i can use to build models with the operaton-namespace myself?
thank you for your answer and linking the repo. I was able to find the models in there & i think they will be sufficient enough to extend the library. I will write again as soon as i have any updates on that.
However, i was asking myself, whether you already provide a modeler (or planing to do so) that allows me to create bpmn-models with the operaton namespace - since your documentation is just linking to the plain camunda-modeler (if i did not miss some other reference).
The development of a modeler within the Operaton project is not yet planned. We rely here at the moment on 3rd party. For example Flowset.io is offering one. Of course it is logical to have a modeler Part of Operaton. As an Open Source project this means that one has to be contributed and backed by enough resources to maintain it. We are only adding to the core what can be thoroughly maintained.
All the models, i tried it with, created an expected processApi output. However, i would still appreciate feedback. So feel free to test it out & provide feedback, in case there are still some issues.