Gå til hovedinnhold

NVDB - Elveg (Backend)

NVDB - Elveg (Backend) er et distribuert baksystem som følger mikrotjeneste arkitektur. Med dette er det avgrensede områder som er tildelt til tjenestene. Dette betyr at navnet på tjenesten skal 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

TjenesteBeskrivelseDokumentasjon
BestillingstjenesteBestillingstjenesten håndterer lagring og behandling av bestillinger, maler og transaksjoner.https://git.vegvesen.no/projects/NVDBDATA/repos/nvdb-elveg/browse/elveg.backend/order-service
UttakstjenesteUttakstjenesten 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

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

Moduler

ModulBeskrivelseDokumentasjon
FellesFellesmodul som inneholder delte ressurser og hjelpefunksjonalitet blant tjenstene.https://git.vegvesen.no/projects/NVDBDATA/repos/nvdb-elveg/browse/elveg.backend/common
GML SkjemaGenererer 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øBeskrivelseDokumentasjon
RabbitMQFellesmodul som inneholder delte ressurser og hjelpefunksjonalitet blant tjenstene.https://www.rabbitmq.com/
RabbitMQ Docker ImageBenytt Docker Image for å kjøre opp en instans av RabbitMQdocker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management

Databaser

DatabaseBeskrivelseDokumentasjon
Elveg DBElveg DB inneholder data om bestillinger og maler.https://git.vegvesen.no/projects/NVDBDATA/repos/nvdb-elveg/browse/elveg.backend/common
NVDBNVDB 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