NVDB - Elveg (Backend) er et distribuert baksystem som følger mikrotjeneste arkitektur. Med dette er det avgrensede områder som er tildelt til tjenestene, og defor vil navnet på tjenesten være tilstrekkelig for å vite hva den jobber med.

I tillegg er alle tjenestene enkeltstående, som betyr at funksjonalitet kan gjennomføres enkeltvis. Derimot blir RabbitMQ benyttet som en meldingskø som håndterer kommunikasjon mellom tjenestene. Denne kommunikasjonen er event basert og flere side effects kan forekomme av en event.

Tjenester

Tjeneste Beskrivelse Dokumentasjon
Bestillingstjeneste Bestillingstjenesten håndterer lagring og behandling av bestillinger, maler og transaksjoner. https://git.vegvesen.no/projects/NVDBDATA/repos/nvdb-elveg/browse/elveg.backend/order-service
Uttakstjeneste Uttakstjenesten håndterer behandlingen av bestillingen og serialiserer rådata til SOSI eller GML. https://git.vegvesen.no/projects/NVDBDATA/repos/nvdb-elveg/browse/elveg.backend/extraction-service

Biblioteker

Biblioteker Beskrivelse Dokumentasjon
Les klient Les klient er en enkeltstående klient med integrasjon mot Les tjenesten sin REST API. https://github.com/nvdb-vegdata/nvdb-api-client

Moduler

Modul Beskrivelse Dokumentasjon
Felles Fellesmodul som inneholder delte ressurser og hjelpefunksjonalitet blant tjenstene. https://git.vegvesen.no/projects/NVDBDATA/repos/nvdb-elveg/browse/elveg.backend/common
GML Skjema Genererer Java klasser basert på XML skjema med JAXB for GML eksport. https://git.vegvesen.no/projects/NVDBDATA/repos/nvdb-elveg/browse/elveg.backend/gml-schema

Meldingskø

Meldingskø Beskrivelse Dokumentasjon
RabbitMQ Fellesmodul som inneholder delte ressurser og hjelpefunksjonalitet blant tjenstene. https://www.rabbitmq.com/
RabbitMQ Docker Image Benytt Docker Image for å kjøre opp en instans av RabbitMQ docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management

Databaser

Database Beskrivelse Dokumentasjon
Elveg DB Elveg DB inneholder data om bestillinger og maler. https://git.vegvesen.no/projects/NVDBDATA/repos/nvdb-elveg/browse/elveg.backend/common
NVDB NVDB gir grunnlaget for data som blir indeksert og gjort tilgjengelig av Lestjenesten. https://git.vegvesen.no/projects/NVDBDATA/repos/nvdb-elveg/browse/elveg.backend/common