┌──────────────────────────────────────────────────────────────────┐
│ Client Side │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Your Application │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │ │
│ │ │ Next.js │ │ Express │ │ Python/etc │ │ │
│ │ └──────┬──────┘ └──────┬──────┘ └────────┬────────┘ │ │
│ │ │ │ │ │ │
│ │ └────────────────┬┴───────────────────┘ │ │
│ │ │ │ │
│ │ ┌──────▼──────┐ │ │
│ │ │ S4Kit │ │ │
│ │ │ SDK │ │ │
│ │ └──────┬──────┘ │ │
│ └──────────────────────────┼──────────────────────────────────┘ │
└──────────────────────────────┼──────────────────────────────────┘
│
│ HTTPS + API Key
▼
┌──────────────────────────────────────────────────────────────────┐
│ S4Kit Platform │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Proxy Service │ │
│ │ ┌────────────┐ ┌────────────┐ ┌──────────────────┐ │ │
│ │ │ Auth │ │ Rate │ │ Request │ │ │
│ │ │ Middleware │─▶│ Limiter │─▶│ Router │ │ │
│ │ └────────────┘ └────────────┘ └────────┬─────────┘ │ │
│ │ │ │ │
│ │ ┌────────────┐ ┌────────────┐ ┌────────▼─────────┐ │ │
│ │ │ Logger │◀─│ Error │◀─│ SAP Proxy │ │ │
│ │ │ │ │ Handler │ │ │ │ │
│ │ └────────────┘ └────────────┘ └────────┬─────────┘ │ │
│ └───────────────────────────────────────────┼──────────────┘ │
│ │ │
│ ┌────────────┐ ┌────────────┐ ┌───────────▼────────────┐ │
│ │ PostgreSQL │ │ Redis │ │ Credential Store │ │
│ │ (Data) │ │ (Cache) │ │ (Encrypted) │ │
│ └────────────┘ └────────────┘ └───────────┬────────────┘ │
└──────────────────────────────────────────────┼──────────────────┘
│
│ SAP Auth
▼
┌──────────────────────────────────────────────────────────────────┐
│ SAP S/4HANA Systems │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌───────────┐ │
│ │ Sandbox │ │ Dev │ │ Quality │ │Production │ │
│ └────────────┘ └────────────┘ └────────────┘ └───────────┘ │
└──────────────────────────────────────────────────────────────────┘