BEES Micro Services - general information
Description
BEEs microservices are built in Java Spring boot archetype, the platform uses mongodb to store data and Kafka or Rabbitmq as the tool to manage messages.
BEEs has data and business microservices. For each entity, the following steps are performed:
Generic Relay: receives data from ERP Adapter in batches, returns status 202 accepted and send it to Kafka (The zone will call one generic endpoint for all entities)
ETL Consumer: reads message from Kafka, extract, validate, apply cleasing and transform the data respecting BEES structure and load to the Value Stream Relay.
Cleasing: Filter data to avoid duplication sent by the zone, avoiding waste of resources
Feedback Layer: Provide visibility of integrations status and errors.
Value Stream Relay: receives data from ETL Consumer in batches and send it to RabbitMQ.
Value Stream Consumer: reads message from RabbitMQ and send to API to be inserted or updated in database.
API: process data receive (POST/PUT/DELETE) and retrieves data (GET).
For more details in a specific entity check the document referenced to it. This document aims to show the generic workflow and functionality for the great majority of the micro services built in this platform.
Data Ingestion Context

Integration Overview

Architecture Overview

Required attributes in header
In general, all services endpoints require the following attributes in header:
authorization: it is a basic authorization token provided by migration team to access the service methods.
country: the country code that refers the information to.
requestTraceId: send a trace id along with the request to guarantee the traceability of data and the possibility to check errors. For this reason, we recommend that it be unique for each request sent.
Apart those generic parameters every endpoint has specific ones and it could be check accessing the specific APIs documentations.
URLs from Generic-Relay
Global
dev: https://services-dev.bees-platform.dev/api/v1/data-ingestion-relay-service/v1
sit: https://services-sit.bees-platform.dev/api/v1/data-ingestion-relay-service/v1
uat: https://services-uat.bees-platform.dev/api/v1/data-ingestion-relay-service/v1
prod: https://services.bees-platform.com/api/v1/data-ingestion-relay-service/v1
Europe
uat: https://services.eu.uat.restricted.mybees-platform.dev/api/v1/data-ingestion-relay-service/v1
prod: https://services.eu.mybees-platform.com/api/v1/data-ingestion-relay-service/v1
DTC
sit: https://services.dtc.sit.mybees-platform.dev/api/v1/data-ingestion-relay-service/v1
uat: https://services.dtc.uat.mybees-platform.dev/api/v1/data-ingestion-relay-service/v1
prod: https://services.dtc.mybees-platform.com/api/v1/data-ingestion-relay-service/v1
IMPORTANT: Limits of request sizing for all entities
Regardless the robustness infrastructure the Bees platform has, it is necessary to limit the size of payload in 1 Mb per request, related to security and performance reasons. This number could be grater if the payload is compressed.