Skip to Content
Architecture

Architecture

The current software architecture is build to run asynchronous through events. The application is using Spring Events to propagate events through the system.

The basic communication flow is as follows: The specific APIs and messages will be explained in detail in the respective sections of the modules documentation.

All components can be activated through environment variables, allowing for flexible deployment configurations. This allows the user to configure which modules should be loaded when running Reeve Application multiple times.

Example AWS Architecture

To follow security best practices the Application can be split. The critical parts like the ERP Adapter and the Blockchain publisher can be placed in seperated network zones. Communication between the components is then done through a message broker like RabbitMQ or Kafka, which allows for decoupled and asynchronous communication.

An example how the mapping from Spring Events to Kafka and vise versa can be found here: Reeve Application Different components can be activated through environment variables, allowing for flexible deployment configurations.

This Docker Compose demonstrates how the distributed architecture can run locally.

An example architecture for AWS is shown belown:

Last updated on