Input Async

Multi-module Spring Boot projects providing REST API gateway for receiving ERP integration data and publishing to messaging queues for asynchronous processing.

Purpose

Async 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 to a queue (Kafka, Pub/Sub) — processing happens downstream, decoupled from the HTTP request

  • 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 queue (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