Choreography and orchestration of microservices workflow (achitecture)

Introduction

Workflow automation, mainly in the context of microservices and Java development (eg: with Spring Boot framework).

Bibliography

  • [1] The Microservices Workflow Automation Cheat Sheet

It covers choreograply and orchestration, communication, workflow engine and workflow model:

https://blog.bernd-ruecker.com/the-microservice-workflow-automation-cheat-sheet-fc0a80dc25aa

Samples available in GitHub, using Camunda BPM, Zeebe, Java, Spring Boot or Apache Kafka among other:

https://github.com/berndruecker/flowing-retail


  • [2] Event-Driven Orchestration: Effective Microservices Integration Using BPMN and AMQP

It proposes an event-driven centralized service orchestration using BPMN workflow and an AMQP event bus as message broker to decouple the services:

https://dzone.com/articles/event-driven-orchestration-an-effective-microservi

Sample available in GitHub, using Spring Boot, Camunda BPMN and Rabbit MQ

https://github.com/colinlucs/microservices-orchestration-amqp-example.git


  • [3] Amazon AWS SQS as messaging queue

Using Amazon SQS with Spring Boot and Spring JMS > https://aws.amazon.com/blogs/developer/using-amazon-sqs-with-spring-boot-and-spring-jms/

AWS SQS as Messaging Queue In Spring Boot > https://arupmishra91.medium.com/aws-sqs-as-messaging-queue-in-spring-boot-58c60b9d2fbf

Frameworks and tools

  • Flowable > https://en.wikipedia.org/wiki/Flowable

Flowable is an open-source workflow engine written in Java that can execute business processes described in BPMN 2.0. It is an actively maintained fork of Activiti