3 ms·
I've heard of Camunda from reading this excellent article [1], but I havent' looked too deeply into it yet. BPMN vs code is something we have considered. Our w
by acjohnson55 6y ago
I've heard of Camunda from reading this excellent article [1], but I havent' looked too deeply into it yet.
BPMN vs code is something we have considered. Our workflow engine works more like state machines as code, which is kind of the worst of both worlds. The business processes get fragmented into logic for each state, and mixed with imperative effects, so its neither easy to see the process nor maintain the code.
The nice thing about BPMN is that it's probably a bit more learnable by the subject matter experts who ultimately determine what the correct business process should be. However, having seen some pretty monstrous process flowcharts, my guess is that it probably doesn't scale past a certain level of process complexity. I suspect that workflow-as-code is ultimately the more scalable option.
[1] https://www.infoq.com/articles/events-workflow-automation/ https://www.infoq.com/articles/events-workflow-automation/
- mfateev 6y agoLook at how Temporal represents workflows as code. It doesn't use any intermediate representation like DAG or state machine. It executes your code directly as a synchronous program with blocking operations taking as long as necessary to execute. For example the following code would be absolutely valid as a Temporal workflow: waitForApproval(purchase); sleep(Duration.ofDays(30)); sendEmail(email);
- acjohnson55 6y agoYep. This is why I'm so interested in it!