Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootAntigen Indlæser - Leverancebeskrivelse
firsttabYder Indlæser - Leverancebeskrivelse
includeroottrue


Indledning

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

Antigentest indlæseren består af komponenten antigentestindlaeser.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

Datamodellen styres vha. de SQL-scripts, der findes under src/main/resources/db/migration.

Scriptene er udformet til at blive kørt med databasemigreringsværktøjet Flyway. Scriptene er designet til at kunne blive brugt i både test- og produktions-miljø.

Ved initial installation af servicen vil Flyway håndtere at køre scriptene i den korrekte rækkefølge:

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 i antigentestindlaeser-komponentens konfigurationsfiler.

yder.properties

Property

Beskrivelse

Default

Property

Beskrivelse

Default

datasource.
PBE.
jndi
Angiver navnet på den datasource der er konfigureret på Wildfly'en og som anvendes til stamdata.
java:jboss/datasources/
proevebestilling
datasource.RO.jndi
Angiver navnet på den datasource der giver adgang til Person og Sikrede registret
java:jboss/datasources/readonly
keep_backup_days

Antal dage hvor backup af leverede filer gemmes

28
batch_problem_cutoff_hours
Antal timer inden et ikke-færdigbehandlet job rapporteres som en fejl12
fixed_ydernr
Fast ydernummer for gr2+ personer
905429
send_ssi_alert
Skal der leveres en alarm til SSI ved fejl i modtaget batch.true
send_ssi_alert_protocol
Protokol for alarmSFTP (det er den eneste mulig protokol)
ssi_batch_camelUrl
Camel udtryk for CPR batch*)
ssi_skabelon_camelUrl
Camel udtryk for indlæsning af brevskabeloner**)
ssi_statistik_camelUrl
Camel udtryk for levering af statistik***)
synlab_rekv_camelUrl
Camel udtryk for levering af rekvisitioner til Synlab****)
synlab_kvit_camelUrl
Camel udtryk for indlæsning af kvittering fra Synlab*****)
stralfors_brev_camelUrl
Camel udtryk for levering af breve til Strålfors******)
stralfors_kvit_camelUrl
Camel udtryk for indlæsning af kvittering fra Strålfors*******)

...

antigentest
batchSize

Data persisteres i databasen i batches og størrelsen på disse angives i denne property.

100
batchTimeout
Hvis der ikke er flere data at persistere, og det igangværende batch derfor ikke kan nå batchSize, angiver denne tiden i millisekunder der ventes på yderligere data før et batch anses for at være komplet.500
inputDeviceUrl
Camel udtryk for hentning af data
*)
monitorDeviceUrl
Camel udtryk for monitorering af data kilden**)
fetch.cron

Cron job der angiver hvornår data hentes

Default værdien angiver hentning af data hver dag kl 01:00

0+0+1+?+*+*


Camel udtryk er meget lange så defaultværdierne står her:

...

De angivne passwords herunder er udelukkende til illustration og de er ikke gyldige passwords

*) 

sftp:ssi@proevebestillingsftp:22/ssi/batch?password=pass&readLock=rename&antInclude=*.xlsx&delete=true&disconnect=true&stepwise=false&initialDelay=5s&delay=5s&knownHostsFile=/pack/wildfly8/modules/dk/nsi/sdm/proevebestilling/known_hosts

**) 

sftp:ssi@proevebestillingsftp:22/ssi/skabelon?password=pass&readLock=rename&antInclude=*.docx&noop=true&disconnect=true&stepwise=false&initialDelay=5s&delay=5s&knownHostsFile=/pack/wildfly8/modules/dk/nsi/sdm/proevebestilling/known_hosts

***) 

sftp:ssi@proevebestillingsftp:22/ssi/statistik?password=pass&tempFileName=${file:name.noext}.tmp&knownHostsFile=/pack/wildfly8/modules/dk/nsi/sdm/proevebestilling/known_hosts

****) 

sftp:synlab@proevebestillingsftp:22/synlab?password=pass&tempFileName=${file:name.noext}.tmp&knownHostsFile=/pack/wildfly8/modules/dk/nsi/sdm/proevebestilling/known_hosts

*****) 

sftp:synlab@proevebestillingsftp:22/synlab?password=pass&readLock=rename&antInclude=*.kvit&delete=true&disconnect=true&stepwise=false&initialDelay=5s&delay=5s&knownHostsFile=/pack/wildfly8/modules/dk/nsi/sdm/proevebestilling/known_hosts

******) 

sftp:stralfors@proevebestillingsftp:22/stralfors?password=pass&tempFileName=${file:name.noext}.tmp&knownHostsFile=/pack/wildfly8/modules/dk/nsi/sdm/proevebestilling/known_hosts

*******) 

https:covid-19-diagnostics.jrc.ec.europa.eu/devices/export/csv?manufacturer=&text_name=&marking=Yes&method=&rapid_diag=1&target_type=6&search_method=AND

**) 

https://covid-19-diagnostics.jrc.ec.europa.eu/devicessftp:stralfors@proevebestillingsftp:22/stralfors?password=pass&readLock=rename&antInclude=*.csv&delete=true&disconnect=true&stepwise=false&initialDelay=5s&delay=5s&knownHostsFile=/pack/wildfly8/modules/dk/nsi/sdm/proevebestilling/known_hosts