Arkitektur

För utvecklare

Dataverk är en DSL-driven plattform: en deklarativ YAML-modell kompileras vid körning till ett live REST-API, automatiserade arbetsflöden och inbäddningsbara portaler — utan kodgenerering. Här är pipelinen, arkitekturen och hela förmågelistan.

Så fungerar plattformen

Från deklarativ modell till körande system — vid körning

En YAML-modell parsas, valideras, transformeras till en intern representation och körs. Ingen kodgenerering, inget mellansteg — modellen är sanningen.

Deklarativ modell

Ett system beskrivs i en YAML-DSL: entiteter, fält, relationer, tillståndsmaskiner, arbetsflöden, åtkomstregler och portaler.

Kompileras vid körning

Modellen parsas, valideras och transformeras till en intern representation som exekveras direkt. Ingen genererad kod att granska eller driva.

Live REST-API

Varje entitet blir ett versionsprefixat REST-API med validering, filtrering, aggregat och strömmande uppdateringar.

Inbäddningsbara portaler

Portaler och komponenter renderas som webbkomponenter — dashboard, tabell, detalj, kanban, kalender, gantt — inbäddningsbara var som helst.

Arkitektur

Hur plattformen är byggd

En Clean Architecture-backend i .NET, en DSL-runtime-pipeline, fem utbrutna mikrotjänster bakom en gateway, PostgreSQL med JSONB-lagring — i drift på Azure.

  • Clean Architecture-backend: Api → Application → Domain, med DSL-lagren och feature-assemblies som separata moduler.
  • DSL-runtime-pipeline: YAML → AST → transformer → IR → runtime, med cachad kompilering och konfig-överlägg.
  • Mikrotjänster bakom en gateway: Fem utbrutna tjänster (AI, billing, telemetri, entiteter, embed) proxas genom en YARP-gateway.
  • PostgreSQL med JSONB: DSL-definierad data lagras i en JSONB-tabell — inga typade kolumner per system, partiella unika index skapas vid aktivering.
  • Drift på Azure: Container Apps, Blob Storage, Key Vault, provisionerat som infrastruktur som kod.
Vad ni kan bygga

Kapabiliteter

Plattformens fulla förmågeyta, grupperad efter hur den byggs ut. Vissa förmågor är i drift idag, andra är planerade — men alla är en del av plattformens design.

Grundstenar

Uttrycksmotor

Total, sandlådad motor för härledda fält, villkor och åtkomstpredikat — samma motor på klient och server.

Konfig-överlägg

Tenant-scopad runtime-konfiguration som smälts in i den kompilerade modellen — versionerad, RBAC-grindad, revisionsloggad.

Enhetlig revisionsbuss

Append-only, hash-kedjad händelselogg med dagliga signeringar, retention och konsol i admin- och kundportalen.

Durabel jobbinfra

Köade jobb med retry/backoff, dead-letter, kraschåterhämtning, leader election och en ops-vy.

Leverantörsgränssnitt

Enhetlig gränssnittskonvention med katalog och namn-bindning för utbytbara externa system.

Deploy-pipeline

Durabel flerstegsdeploy med idempotenta, kraschbara steg, rollback, godkännandegrind för produktion och realtidsprogress.

Kör hos kund

Federerad identitet

SAML 2.0 / OIDC / SCIM / MFA per portal, med provider-konfiguration, administrations-CRUD och revisionslogg.

Finkornig åtkomst

Åtkomstblock per entitet: radpredikat för läs/skriv/radera, fältmaskering, PII-fält, delegerad admin — default-deny, en policymotor över alla dataendpoints.

Egen domän

Verifierade portaldomäner med DNS-verifiering, automatisk TLS och periodisk anti-hijack-omkontroll.

Bredaste avkastningen

Formulärbyggare

Dynamisk, versionerad fältdesigner med villkorlighet och förifyllning.

Regelmotor

Versionerade regeltabeller med effektiv-datering och "förklara beslut"-spårning.

Dokumentgenerering

PDF/A-rendering från mallar med nummerserier.

Utkast & återuppta

Serverpersisterade påbörjade arbetsflöden — stäng fliken och fortsätt senare.

Meddelandecenter

Kanal-abstraktion, versionerade mallar, segment och inkorg.

Domänspåren

Bokningsmotor

Tillgänglighetsmotor, RRULE-serier, väntelista, dubbelbokningsspärr.

Betalningar

Betalbara entiteter, betalningsavsikter och återbetalningar, Swish / kort / faktura, per-leverantör webhook-signaturverifiering.

Ekonomikonnektor

Kanonisk ekonomimodell, konteringsmotor, SIE / Peppol / ERP-adaptrar, avstämning.

GDPR-verktyg

Datakarta, flöde för registrerades rättigheter, äkta hård radering, gallringsmotor, samtyckesliggare.

Analys

Rapportdefinitioner, beräknade mått, materialiserade aggregat, BI-feed.

Offentlig sektor & skala

Öppna data

Kurerad projektion, DCAT / CSV / RDF, katalog, samtyckesgrind — och passersystem-koppling.

Tillgänglighet

Systematisk WCAG 2.1 AA i renderaren, CI-grind, redogörelsegenerator.

Flerspråkigt innehåll

Innehållsöversättning, nyckling, lokalmedveten formatering.

Organisationsenheter

Enhetsträd inom en tenant, per-enhet-partitionering, delade register.

Integrationskonsol

Runtime-instanser, test, på/av, importpipeline, autopublicerad OpenAPI.

Geospatialt

Geopunkt-fälttyp, geopredikat, kartkomponent, geokodare.

iCalendar-feeds

Signerade .ics-feeds för extern prenumeration.

Statussida

Komponentnivå-status, historik, incidenter, release notes.

E-arkiv-export

SIP-generering, FGS / METS / PREMIS, arkiv-först-gallring.

Grunden — deklarativ datamodell, arbetsflöden, portaler och multi-tenancy — är alltid närvarande. Förmågorna ovan bygger på den.