Input

Multi-module Spring Boot projects providing REST API gateway for receiving ERP integration data and publishing to different messaging/storage systems.

Purpose

Input layer for the comerzzia ERP integration ecosystem:

  • Receives data from external ERP systems via REST endpoints (XML or JSON format)

  • Validates and serializes incoming data

  • Publishes messages using multiple transport strategies (Kafka, Pub/Sub)

  • Provides consistent API across all implementations

Integration Flow

External ERP systems send data via HTTP POST to REST endpoints. The API validates incoming JSON or XML and publishes messages to the configured transport (Kafka or Pub/Sub topics) for downstream processing.

Diagram

Technologies

  • Java 8+

  • Maven 3.6+

  • Spring Boot 2.7.18

REST Applications implementations

Kafka Input

Spring boot application. Asynchronous publishing via Apache Kafka topics.

Pub/Sub Input

Spring boot application. Asynchronous publishing via Google Cloud Pub/Sub topics.

Common library for REST controllers

Java JAR library. Shared REST controllers and publishing abstractions. Input Resources

OpenAPI REST API Documentation

Observability / health check

  • Spring Boot Actuator

    • Health checks, metrics, and application info endpoints

    • Prometheus metrics export

    • management port/base path :8081/manage

    • json logs using "jsonlogs" spring profile