There are a number of businesses and business tasks when it is necessary to visually design, change and control the execution of business processes.
Large companies like SAP, IBM, Oracle play in this market and offer their heavy and expensive solutions.
But there is also a lighter and cheaper solution in this field.
It’s about Camunda Community Edition
I recently got acquainted with this system. I didn’t used it in PROD yet, but I have seen very positive feedbacks. Therefore, I studied it, made several tests on it, and I really liked it.
This is how the processes look visually (BPMN notation):
What is especially cool about Camunda:
- The engine itself is open source and free (if you take the community edition, which, judging by the reviews, is enough).
- The engine allows you to visually design processes in a special editor, change them, deploy them, and monitor their execution.
- The implementation of the processes themselves can be done in any programming language and on any technology.
- I.e. you draw rectangles of processes, link them, and then each rectangle is a simple code that you create in any programming language.
- At the same time, the whole development process is standard: you can use git, docker, CI/CD - everything that you usually use, without in-house repositories and domain-specific-language perversions from a large vendor who wants to drag you into their vendor-lock.
- At the same time, rectangles can be made using different technologies. For example, one where data processing is needed can be done in Golang or Python. And the other, where you need a user interface for entering or editing requests, can be done in Reactjs / Vuejs.
In total, I would now classify workflow tools in this way:
- If you need workflow with batch data processing WITHOUT HUMAN PARTICIPATION(!) - then the best engine is Airflow (if you want something simpler and lighter, then there are alternatives, but most likely, in the end, you will come to Airflow)
- If you need a workflow with data processing WITH THE PARTICIPATION OF A HUMAN(!) - then the best engine is Camunda.
- Comparison of Front-end frameworks: Angular, React, Vue
- Building Event-Driven Microservices - Chapter 5 - Event-Driven Processing Basics
- Building Event-Driven Microservices - Chapter 2 - Event Driven Microservice Fundamentals
- Building Event-Driven Microservices - Chapter 1 - Why Event-Driven Microservices
- Designing Data-Intensive Applications - Chapter 10 - Batch Processing