Omnium Studio  /  Architectuur  /  Gegenereerd register
★ Kern · de bestaansreden Actief · in ontwikkeling

Van model naar een draaiend bitemporeel register

Hier komt alles samen. Een rebuild genereert vanuit het canonieke model niet alleen een API, maar het register zelf: de Go-code én de database. Modelleren in Omnium Studio is daarmee geen documentatie — het is het bouwen van een werkend, tijdreisbaar register.

Omnium Studio
Canoniek model
entiteiten · relaties · regels
Rebuild
Codegen + DB-bouw
per domein
Resultaat
Draaiend register
API + bitemporele database
Wat een rebuild oplevert

Code én database, niet alleen een API

Een rebuild verwerkt het model per domein en levert een compleet, draaiend register op.

⚙️ Gegenereerde code

Per domein 7 Go-bestanden: structs voor entiteiten, GE's en relaties, methodes, input-types en de registries (Meta/datatype/enum).

🗄️ Bitemporele database

De tabelstructuur volgens het Hub + _Data-patroon, met formele en materiële tijd-plumbing waar nodig.

🔌 Werkende API

REST/OpenAPI en een dynamische GraphQL-laag bovenop het register — meteen bevraagbaar, inclusief tijdreizen.

🔁 Herhaalbaar

Rebuild is herbouwbaar en consistent: hetzelfde model levert hetzelfde register — de basis voor registers on demand.

Het bitemporele fundament (twee tijdsassen, Hub + _Data, tijdreizen) staat beschreven op de data-architectuur-pagina.
Evolueren

Modelhistorie & migraties

Een register leeft: het model verandert in de tijd. Omnium houdt de modelhistorie bij en voorziet — ten dele — in migratie bij wijzigingen. Dit is een gebied dat actief wordt uitgebreid.

  • Modelhistorie wordt bijgehouden per versie.
  • Migratiescripts worden ten dele gegenereerd bij delta's op het model.
  • Roadmap: expliciete delta's tussen versies én de bijbehorende gegenereerde SQL-upgradescripts.
Aandachtspunt

Breaking vs. non-breaking wijzigingen

Niet elke modelwijziging is gelijk. Het verschil bepaalt of bestaande gegevens en API-consumenten ongestoord doorwerken:

🟢 Non-breaking

Een optioneel veld toevoegen verandert niets aan bestaande records of contracten — die blijven geldig.

🔴 Breaking

Een verplicht veld toevoegen breekt bestaande records: ze missen immers die verplichte waarde.

Twee strategieën om daarmee om te gaan — een open ontwerpvraag waar het register naartoe groeit:

Toepassing

Registers on demand & werkmappen

Omdat een register volledig uit het model volgt, kun je gericht registers genereren — niet alleen basisregistraties, maar ook werkmap-registers zoals een zaak, dossier of plan, om informatie registratief en tijdreisbaar vast te leggen.

  • Werkmap-register (zaak/dossier/plan) als eerste-klas modelconcept.
  • Procesdata uit een engine als Operaton landt in zo'n gegenereerd register.
  • Audit-trail gratis door de bitemporele opzet.

Bouw je eigen register

Modelleer in de UML-IDE en rebuild het tot een draaiend bitemporeel register.

Open Omnium Studio →