Workflows Service
This article explains creating a workflow framework using the microservice pattern that enables implementing workflows of multiple types through the “Workflows” microservice that runs the embedded Camunda engine. Camunda is a popular open-source workflow and decision automation platform. Camunda Business Process Management (Camunda BPM) is a lightweight Java-based framework. It can be embedded inside a Java server application using Camunda Maven dependency and Spring Boot.
Design considerations
Workflows service should
- be able to be plugged to any workflow engine
- provide easy onboarding of new workflows
- provide an easy way to resolve the workflow incidents
- provide clear onboarding visibility to the expert onboarding team
- provide UI which is intuitive enough for non-technical admins to use (self-serve)
- be highly available
- be reliable
Architecture
Three key pillars of the architecture are
- Event-driven architecture
- Configuration-driven architecture
- External tasks