Running the Application

The application is composed of a collection of microservices, which can be gathered in three layers:

  • Infrastructure services (provided by the Platform)

    • Relational Database: PostgreSQL

    • NoSQL Database: MongoDB

    • Messaging Service: RabbitMQ

    • Authentication Service: Keycloak

  • Optimization Server services (provided by the Platform)

    • Master Service

    • Web Console

    • Documentation

  • Application services (generated above)

    • Data Service

    • Scenario Service

    • Execution Service

    • Backend Service

    • Web Frontend

    • Gateway

    • Engine Worker

    • Checker Worker

The infrastructure and Optimization Server services are generic services that are always run as Docker containers. The Docker images for these services are retrieved from DecisionBrain repositories.

The Application services can be run either as Docker containers or as native processes.