Totgesagte leben länger: Warum ich den „Dinosaurier“ Domino als perfektes Backend für Vue 3 nutze
Jörg Reck May 1 2026 09:12:36 AM
In der IT-Welt jagen wir oft dem neuesten Framework-Hype hinterher. Doch im Mittelstand zählt für mich eine andere Währung: Verlässlichkeit und Effizienz. In einem aktuellen Projekt habe ich eine verstaubte Excel-Fahrzeugverwaltung in eine moderne Web-App transformiert – und das auf einer Infrastruktur, die viele bereits auf dem Schrotthaufen der Geschichte wähnten.Meine Botschaft ist klar: Der Dinosaurier lebt, er ist hungrig und er ist verdammt effizient!
Die Ausgangslage: Mein Kampf gegen das Excel-Chaos
- Der Bestand: 20–30 Fahrzeuge, mühsam verwaltet in einer überladenen Excel-Tabelle.
- Mein Schmerzpunkt: Keine Echtzeit-Auswertungen, keine saubere Historie, mühsame Kollaboration.
- Die Hürde: Das Budget für neue Server oder Cloud-Infrastruktur lag bei exakt 0 €.
- Meine Ressource: Ein bereits vorhandener, stabil laufender HCL Domino Server.
Meine Architektur: Der „Single File Stack“
Anstatt ein komplexes Geflecht aus Docker-Containern, Reverse Proxies und Datenbanken hochzuziehen, nutze ich die Domino-Datenbank (.nsf) als mein Schweizer Taschenmesser. Eine einzige Datei übernimmt hier für mich alle Rollen:
- NoSQL-Datenspeicher: Dokumentenorientierte Speicherung (Notes-Dokumente).
- Webserver: Der bewährte Domino HTTP-Task.
- Frontend-Hosting: File Resources für die Web-Assets.
- API-Gateway: Native JSON-Schnittstellen über Views.
Der technische Deep-Dive
1. Frontend: Wie ich Vue 3 & Vite in Domino integriere
Ich nutze ein modernes Vue 3 (Composition API) Frontend, gebaut mit Vite. Da Domino von Haus aus keine URL-Rewrite-Rules für das moderne HTML5-History-Routing mitbringt, habe ich mich für den Hash-Mode entschieden.
- Mein Vorteil: Die App ist unter einer festen URL (z.B. /apps/fleet.nsf/index.html) erreichbar.
- Mein Deployment: Ein einfaches Script schiebt meinen dist-Ordner per DXL oder Designer-Import direkt in die File Resources der NSF.
Hier kommt der Clou: Ich klicke mir die Datenbankstruktur nicht mühsam im Designer zusammen. Ich nutze DXL (Domino XML Language), um die gesamte App programmatisch aufzubauen:
- Provisioning: Ich erstelle die notwendigen Forms (Masken) für die Datenvalidierung und die Views (Ansichten) für die API-Endpunkte direkt via DXL-Import.
- Datenmigration: Die Altdaten aus Excel werden per SheetJS geparst, in das Domino-XML-Schema transformiert und dann samt Design-Elementen in die NSF importiert.
- Vorteil: Das gesamte Backend ist somit quasi "Infrastructure as Code" – versionierbar, reproduzierbar und sauber dokumentiert.
Sobald die Views via DXL erstellt sind, lässt der Dinosaurier die Muskeln spielen. Ich schreibe keine REST-Endpunkte in Java oder LotusScript, sondern nutze die Native ReadViewEntries API:
GET /fleet.nsf/api_v1_vehicles?ReadViewEntries&OutputFormat=JSON&Count=1000
- Performance: Domino serialisiert die C-API-Daten direkt in JSON. Das ist nach meiner Erfahrung schneller als jeder interpretierte Code.
- Abfrage-Logik: Die Selektionsformel der View fungiert als meine Query. Den Rest erledigt der Server-Index in Millisekunden.
Sicherheit: Fort Knox inklusive
Während ich bei modernen Stacks oft an der Integration von OAuth2 oder LDAP-Handshakes verzweifle, nutze ich hier einfach das, was da ist:
- Authentifizierung: Bestehende Domino-Web-Anmeldung (Session-Cookie).
- Autorisierung: Die knallharte Access Control List (ACL) der NSF.
Warum ich das „hervorragend“ finde
Manche nennen es "Legacy", ich nenne es "Ultimate Stability".
- Zero Footprint: Keine neue VM, keine neue IP-Adresse, kein Patch-Management für neue Linux-Distributionen.
- Modern UX: Mein Endanwender sieht ein reaktives Dashboard mit PrimeVue-Komponenten, KPIs und flüssigen Übergängen. Dass im Hintergrund ein System aus den 90ern atmet, merkt man nur an der extremen Stabilität.
- Wartungsarm: Während Node.js-Projekte nach zwei Jahren oft in der "Dependency Hell" landen, läuft mein Domino-Kern einfach weiter.
Mein Fazit
Lotus Domino als Plattform für eine Vue-SPA zu nutzen, wirkt 2026 vielleicht wie ein Anachronismus. Doch architektonisch ist es für mich in bestehenden Domino-Landschaften ein Geniestreich.
Es ist der Beweis: Ich muss das Rad nicht neu erfinden, wenn der alte Wagen noch 200 km/h fährt. Der Dinosaurier lebt – und er sieht mit Vue 3 verdammt gut aus!
- Comments [0]
