Die 3-Schichten-Architektur
Elmar.tax ist als drei Schichten aufgebaut, die aufeinander aufbauen. Jede Schicht ist einzeln nutzbar, aber die meisten Teams brauchen nur die oberste.
Wie es zusammenspielt
-
ERiC (unten) ist die offizielle C-Bibliothek der Finanzverwaltung. Sie übernimmt Verschlüsselung, TLS und die Kommunikation mit den ELSTER-Servern. Sie ist Single-Threaded und erwartet Aufrufe von einem einzelnen Thread.
-
eric-wrapper-sdk kapselt ERiC mittels
jextract-generierter Panama-Bindings. Es stelltEricFacadebereit — eine Java-idiomatische Schnittstelle, die parallele Zugriffe serialisiert, Zertifikate verwaltet und native Fehlercodes auf Java-Exceptions abbildet. -
elster-databinding generiert JAXB-Klassen aus offiziellen ELSTER-XSDs und stellt eine Factory pro Formular/Jahr bereit. Jede Factory baut den vollständigen ELSTER-Umschlag:
TransferHeader+NutzdatenHeader+Nutzdatenblock+DatenTeil=ElsterForm. -
Elmar REST (oben) ist eine Spring-Boot-Kotlin-Anwendung, die alles zusammenführt. Sie nimmt
TaxDeclaration-Payloads per HTTP entgegen, wandelt sie in ELSTER-Umschläge um und reicht sie über ERiC ein. Sie gibt ERiCs Antwort transparent zurück — keine zusätzliche Validierungsschicht.
Concurrency-Modell
ERiC ist Single-Threaded. Elmar handhabt dies transparent:
- REST-Aufrufe werden intern serialisiert — parallele Requests warten, bis der aktuelle ERiC-Austausch abgeschlossen ist
- Das ist sicher und korrekt für typische Middleware-Workloads
- Für High-Concurrency-Spitzen (z.B. monatliche UStVA-Fristen) integrieren Sie Elmar hinter einer Work-Queue auf Ihrer Seite
- Asynchrone Verarbeitung und eingebautes Queueing stehen auf der Roadmap
Betriebsmodell
- Ein Zertifikat pro laufender Instanz — jeder Container wird mit einem einzelnen ELSTER-Zertifikat konfiguriert
- Synchrone Verarbeitung — Request rein, Response raus, keine Hintergrund-Jobs
- Keine eingebaute Authentifizierung — Elmar ist als interner Service konzipiert, hinter Ihrem eigenen API-Gateway oder Netzwerkbereich
- Docker-first — Linux und macOS unterstützt; Windows funktioniert über Container
Compliance und Lizenzierung
Aufgrund der ERiC-Lizenzierung und regulatorischer Vorgaben ist Elmar.tax so konzipiert, dass es vollständig innerhalb der Kundeninfrastruktur läuft und nicht als SaaS- oder Portallösung betrieben werden darf.
Dies ist eine fundamentale Designentscheidung, keine Einschränkung — sie stellt sicher, dass Sie die Vorschriften der Finanzverwaltung einhalten und gleichzeitig die volle Kontrolle über Ihre Daten und Zertifikate behalten.