work/headless-commerce.md
Java · Spring Boot · Reverse Engineering & Security Assessment
Headless E-Commerce Monolith
Ein gewachsener Java-Monolith (5 Maven-Module, 64 REST-Controller, ~186 JPA-Entities) als Headless-Commerce-API ohne verlässliche Architekturdokumentation. Produktionsreife unklar — strategische Entscheidung zwischen Modernisierung und Neuschreibung stand an.
Auslöser: Fehlende Ist-Transparenz, parallele API-Versionen (v0/v1/v2), duplizierte Facade-Implementierungen und unbekannter Security-Status vor einem geplanten Go-Live.
Optionen
- Option A: Evolutionärer Java-Pfad — Spring Boot 2.5 → 3.x, Jakarta-Migration, Facade-Konsolidierung
- Option B: Python-Greenfield — modularer Monolith mit funktionaler API-Äquivalenz, Greenfield-Datenbank
- Dokumentation: arc42 via AGM, 7 Analyse-Workstreams (WRK-001 bis WRK-007)
- Scope bewusst ohne Code-Remediation — Entscheidungsgrundlage, nicht Implementierung
Vorgehen
- Bootstrap + 14 arc42-Phasen in ~15 Sessions (2 Tage) — 35+ verlinkte Architektur-Dokumente
- WRK-001: Refactoring-Analyse — 10 priorisierte Kandidaten (RF-01 bis RF-10)
- WRK-002: Security-Analyse — Spring Security, JWT-Lifecycle, URL-Matcher, Default-Configs
- WRK-003/004: Modernisierungs-Roadmap und Python-Greenfield-Bewertung (Stakeholder-Interview)
- WRK-005/006/007: Cross-Layer-Analyse, DDD Context Map (13 Bounded Contexts), Tech-Debt-Register (30 Items)
- Milestone Review: PASS WITH NOTES — 339/341 Links valide
Ergebnis
- 3 kritische + 7 high-severity Security-Findings — u.a. Default-JWT-Secret, Auth-Bypass via URL-Matcher, unauthentifizierte DELETE-Endpunkte
- 18 Risiken (R-01–R-17) und 30 Tech-Debt-Items (TD-01–TD-30) mit Paydown-Sequenz
- 13 Bounded Contexts mit Integrationsmustern dokumentiert
- Zwei strategische Roadmaps: 6-Phasen-Java-Modernisierung und konditionierter Python-Pfad
- Klare Go/No-Go-Aussage: Default-Config nicht produktionsreif — P0-Security vor Strukturarbeit