Indledning

Dette dokument beskriver installation og konfiguration af KIDS indlæseren. 

KIDS indlæseren består af komponenten kidsindlaeser.war, der skal konfigureres og deployes på en applikationsserver.

Projektet bygges med Maven og kræver Java 8 samt en MariaDB-installation for at kunne afvikle unit-tests.

Udover normalt tilgængelige Maven dependencies, afhænger projektet også af interne artefakter. Hvis disse artefakter ikke er udgivet (released) i den påkrævede version i NSP's Nexus repository, skal man selv udtjekke og bygge dem fra NSP's Subversion i den pågældende version. Artefakternes forskellige versioner vil være tilgængelige under et Subversion-tag. Disse artefakter er:

  • stamdataindlaeser (Maven identifier:dk.nsi.sdm.stamdataindlaeser:stamdataindlaeser)

For at bygge disse interne artefakter, henvises der til artefakternes dokumentation.

Alle filer der refereres til ligger sammen med projektets kildekode i NSP's Subversion. Referencer til stier er relative med udgangspunkt i projektets rodmappe.

Byggevejledning

For at bygge projektet og dets deployables (war-filen) uden at køre unit-tests og integrationstests, anvendes følgende Maven kommando:

mvn clean install -DskipTests

Projektets deployables ender i target-mappen under de respektive moduler.

Afvikling af unit-tests

Unit-testene i projektet kan afvikles med følgende Maven-kommando:

mvn clean test

Alternativt kan også samtidigt bygge projektet ved at anvende Maven-kommandoen:

mvn clean install

Når unittests afvikles startes en database og SFTP server op vha. TestContainers. Relevante databaseobjekter oprettes automatisk i den forbindelse.

Afvikling af integrationstests

Se testvejledningen.

Krav til miljø

Komponenten er tilpasset at kunne indgå i det aktuelt gældende CI-miljø på NSP. Det tager aktuelt udgangspunkt i version 1 af NSP's platform Docker image.

Krav til database

Servicen er testet mod MariaDB version 10.4, som bliver brugt på NSP platformen.

Krav til hardware

Der stilles ikke nogle særlige minimumskrav til hardware, men man skal forvente at bruge high-end hardware (både cpu, ram, netkort og diske) for at kunne opfylde de gældende svartidskrav på NSP.

Oprettelse af databaser og tabeller

Herunder beskrives servicens tilgang til database samt oprettelse af tabeller.

Tilgang til database

Antigentest indlæseren kræver en enkelt database til at gemme forskellige stamdata under indlæsningen.

Servicen konfigureres med 1 datasource, som tilgår databaserne vha. root brugeren.

Oprettelse af database og tabeller

KIDS indlæseren vil ikke oprette de krævede tabeller, men forventer at de eksisterer i den datasource som indlæseren er konfigureret til at anvende.

Deployment

Komponenten deployes vha. NSP's platform Docker image og konfigurationsfiler mountes i containeren som angivet i projektets Compose-filer.

Alle konfigurerbare properties bør gennemgås inden idriftsættelse, men standardværdierne er tiltænkt anvendelse i produktion medmindre andet er angivet.

Konfiguration

Herunder beskrives de properties der findes ikidsindlaeser-komponentens konfigurationsfiler.

PropertyBetydningDefault værdi
datasource.jndi
Det JNDI navn som indlæseren vil anvende til dens datakilde
java:jboss/datasources/kids
input_camelUrl
Den URL der fortæller indlæseren hvorfra CSV filer skal hentes1)
output_wsUrl
Den URL der peger på NAS2 Notificationbroker2)
notification_topic
Det topic som der notificeres på
http://sundhedsdatastyrelsen.dk/kidsmirror/2021/04/28:Covid19TestResults
batchSize
Batch størrelsen for bundling af testresultater inden de sendes til Notificationbroker100
persist_testresult
Angivelse af om indlæseren skal skrive testresultater til databasenfalse
processing_delay_when_error
Tid i ms som der ventes efter der er optrådt en fejl i processering - f.eks. hvis NSP NAS eller databasen ikke svarer, vil CSV filen blive gen-behandlet efter denne ventetid.10000

1) Denne værdi er angivet som default, men den skal erstattes med værdier der giver mening i det pågældende miljø

sftp:foo@kidssftp:22/kids?password=pass&readLock=rename&antInclude=*.dsv&delete=true&disconnect=true&stepwise=false&initialDelay=5s&delay=5s&knownHostsFile=/pack/wildfly/modules/dk/nsi/sdm/kids/known_hosts

2) Denne værdi er angivet som default, men den skal erstattes med værdier der giver mening i det pågældende mijkø

https://localhost/nas2/notificationbroker


  • No labels