Architecture
Platform design, components & deployment
Platform Overview
IntegrationOS is a multi-tenant enterprise integration middleware built on Spring Boot, Apache Camel, and PostgreSQL. It handles event-driven flows, data transformation, and connector orchestration at scale.
Clients
🌐
Admin Console
HTML / JS SPA
port 8080 (static)
📱
External Apps
REST / Webhooks
API Key or JWT
🔗
Third-party Systems
Salesforce, SAP, Jira
Kafka, SFTP, SMTP
↓              ↓              ↓
Gateway
🛡
Security & Auth Layer
TenantSecurityFilter · JwtAuthenticationFilter · RateLimitFilter · QuotaFilter
JWT (HttpOnly cookie) · API Key (X-API-Key + X-Tenant-Id) · SSO / Keycloak
Core
⚙️
Flow Engine
Apache Camel
Event-driven routes
🔄
Connector Framework
30+ connectors
Auth, retry, circuit-breaker
✏️
Transformation
JSONata · Field mapper
Schema validation
📊
Observability
Metrics · Traces · Logs
Alerts · RUM · DLQ
↓       ↓       ↓       ↓
Data
🐘
PostgreSQL
Primary store
Flyway migrations
Redis
Cache · Rate limit
Session tokens
📨
RabbitMQ
Message broker
DLQ / retry queues
📈
Prometheus + Jaeger
Metrics scrape
Distributed tracing
Technology Stack
Battle-tested open-source components chosen for reliability and enterprise support.
Spring Boot 3.x
Core framework, auto-configuration, embedded Tomcat
🐪
Apache Camel
EIP-based routing, connector DSL, error handling
🔐
Spring Security
JWT, API Key, CORS, method-level permissions
🐘
PostgreSQL 15
Multi-tenant DB, row-level security, Flyway schema
Redis 7
API key cache, rate limiting, session tokens
📨
RabbitMQ
Async message queuing, DLQ retry strategy
📊
Prometheus
Metrics scraping, Micrometer instrumentation
🔍
OpenTelemetry / Jaeger
Distributed tracing, span correlation, sampling
🧬
Flyway
Versioned DB migrations, rollback support
🛡
Resilience4j
Circuit breaker, retry, rate limiter per connector
✏️
JSONata
Declarative JSON transformation expression language
🐳
Docker / Compose
Containerised deployment, local dev stack
Integration Flow Lifecycle
How a message travels through the platform end-to-end.
1
Inbound Trigger
HTTP webhook, Kafka topic, SFTP poll, CRON schedule, or manual trigger from the console.
Source ConnectorCamel Route
2
Auth & Rate Limit
JWT / API Key validated. Tenant resolved. Per-tenant quota and per-key rate limits checked via Redis.
Security FilterRedis
3
Transformation
JSONata expression applied, field mapping executed, schema validated against JSON Schema.
JSONataValidation
4
Target Delivery
Transformed payload delivered to target connector with retry (Resilience4j) and circuit breaker.
Target ConnectorCircuit Breaker
5
Audit & Metrics
Execution logged to DB. Spans sent to Jaeger. Prometheus counters incremented. Alerts evaluated.
ObservabilityAudit Log
Service Level Objectives
Platform reliability targets measured per rolling 30 days.
MetricTargetAlert at
API Availability99.9 %< 99.5 %
Flow Success Rate99.5 %< 98 %
p95 Latency< 500 ms> 800 ms
p99 Latency< 2 s> 3 s
DLQ Drain Time< 1 h> 4 h
Error Rate< 0.5 %> 1 %
Security Boundaries
🔐
Multi-tenant Isolation
Row-level security in PostgreSQL. TenantContext propagated via ThreadLocal. Cross-tenant access blocked at filter layer.
🛡
Credential Encryption
Connector credentials AES-256 encrypted at rest. Keys managed via environment variable or Vault. Rotation alerting after 90 days.
🔒
API Key Hashing
Raw API keys stored as BCrypt hashes. Prefix cached in Redis for fast lookup. Key never re-shown after generation.
Deployment Options
Choose the deployment model that fits your infrastructure and compliance requirements.
☁️
SaaS / Cloud
Managed deployment on cloud infrastructure. Auto-scaling, automatic updates, and zero-ops.
  • Multi-tenant shared infrastructure
  • Horizontal auto-scaling
  • Managed PostgreSQL + Redis
  • Built-in HA (99.9 % SLA)
  • Rolling blue/green deployments
🏢
On-Premises
Self-hosted in your own datacenter or private cloud. Full control over data residency.
  • Docker Compose or Kubernetes
  • Your own PostgreSQL + Redis
  • Air-gapped network support
  • Bootstrap admin via API
  • Custom SMTP / SSO integration
🔀
Hybrid
Control plane in the cloud, data plane on-premises. Ideal for regulated industries.
  • Separate tenant namespaces
  • Encrypted tunnel to cloud CP
  • Local connector execution
  • Cloud-based observability
  • GDPR / HIPAA compliant
Local Development Quick Start
Get a full stack running locally with Docker Compose in under 5 minutes.
1. Start infrastructure
# Start PostgreSQL, Redis, RabbitMQ docker compose up -d db redis rabbitmq
2. Start backend (local profile)
./mvnw spring-boot:run \ -Dspring-boot.run.profiles=local \ -DENCRYPTION_KEY=local-dev-key-32chars!!
3. Bootstrap first admin
curl -X POST http://localhost:8080/api/v1/auth/bootstrap \ -H "Content-Type: application/json" \ -d '{"adminEmail":"admin@company.com", "adminPassword":"SecurePass123!", "tenantName":"My Company"}'
4. Open the console
# Frontend: http://localhost:8080/pages/login.html # Swagger UI: http://localhost:8080/swagger-ui.html # Health: http://localhost:8080/actuator/health
Available Connectors
30+ production-ready connectors across CRM, ERP, messaging, storage, and databases.
CRM / ERP
☁️ Salesforce🔵 SAP S/4HANA📊 MS Dynamics🟠 HubSpot🟩 Workday🟣 Monday.com
Collaboration
🔵 Microsoft Teams📋 Jira / Confluence🟢 ServiceNow🟡 Zendesk🟦 SharePoint⚡ Slack
Messaging
📨 Apache Kafka🐇 RabbitMQ📧 SMTP / Email📱 Twilio SMS📡 Azure Service Bus🔔 Webhooks
Storage
📁 SFTP / FTP🟠 AWS S3🟦 Azure Blob📄 Google Drive📊 Google Sheets🟦 SharePoint Files
Databases
🐘 PostgreSQL🟠 Oracle DB🟦 SQL Server🐬 MySQL📤 AWS SQS🌐 REST / GraphQL
Protocols
🌐 HTTP / REST🔷 SOAP / XML📡 WebSocket💳 Stripe🧾 Moloni ERP🧩 Custom SDK