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
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 |