Developing Order Management System (OMS) Using Spring, Apache Camel and Saga Pattern | Part 2

Alammar
JavaToDev
Published in
9 min readMay 19, 2024

--

Introduction:

In the previous article, we walked through the basic principles of building a full order management system. We discussed the importance of Saga for orchestrating the transaction journey, CQRS for separating read and write commands, and Apache Camel for integrating between the microservices’ routes. In this article, we will focus more on the step-by-step implementation for building an OMS system using Spring.

But before we start with the implementation, let’s briefly understand a few technical concepts that will be used in this implementation.

System Architecture:

OMS System Architecture

Technical Concepts:

  • Commands and Queries (CQRS):
    as implementation of CQRS pattern we will be using commands to communicate between the services, for example:
CQRS patterns in OMS
  • Kafka Server:
    we will use Kafka server as a broker for sending commands between microservices.

--

--