Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Stamkortregister-servicen består af et komponent to komponener (war-arkivarkiver), der skal konfigureres og deployes på en applikationsserver:

  • skr-service: Stamkortregister-servicen. War-arkiv. Servlet-baseret webservice pakket specifikt til Wildfly.

  • skr-operations: REST-service til baggrundsjobs, som kaldes af driften.

Projektet bygges med Maven.

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:

...

mvn clean install -DskipTests

...

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

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.

...

  • 01-V1__createdb.sql
  • 02-V2__languagecodes.sql
  • 03-V3__patientlock.sql
  • 04-V4__healthprovider.sql
  • 05-V5__increase_versiondescription_column_size.sql
  • 06-V6__create_Properties.sql

 

Info

Under afvikling af unit-tests bliver test-data automatisk indsat i tabellerne vha. yderligere SQL-scripts i compose/database/db/

...

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

skr-service komponenten Komponenterne konfigureres ved hjælp et Wildfly-modul, der indholder de nødvendige konfigurationsfiler til definering af datasources, brugerdefinerede parametre, logning, mm. Wildfly-modulet er integreret i komponentens Docker image.

...

Info

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


Konfiguration af

...

services

I folderen "compose/configuration" findes følgende konfigurationsfiler:

application.propertiesKonfiguration af skr-service

...

...

operations.properties

Properties er her opdelt i to tabeller. Den første tabel indeholder anvendte Spring Boot-properties. Den anden tabel indeholder properties, der er specifikt defineret til brug i servicen. Begge typer af properties er defineret i samme konfigurationsfil.

Spring Boot-properties

...

JTA transaktioner. Det er påkrævet at denne er false, således at Spring Boot i stedet anvender dens egen håndtering af transaktioner. (true/false)

...

Port som Spring Boot management endpoints bind'er på. Endpoints deaktiveres ved at sættes værdien til -1.

...

Konfiguration af skr-operations
minlogclient.propertiesKonfiguration af minlog integrationen i skr-service
nas.propertiesKonfiguration af nas integrationen i skr-service og skr-operations
log4j-nspslalog.propertiesKonfiguration af sla log i skr-service og skr-operations
log4j.xmlKonfiguration af logning i skr-service og skr-operations

application.properties

Til at styre SKR kan følgende properties sættes:

Komponentspecifikke-properties

PropertyBeskrivelseDefault
datasource.skr.jndi-nameAngiver navnet på en JNDI datasource til Stamkortregister-databasenjava:jboss/datasources/SKR-DS
datasource.stamdata.jndi-nameAngiver navnet på den JNDI datasource der giver adgang til en (replikeret) stamdata-databasejava:jboss/datasources/STM-DS
app.endpointAngiver den location der vises i wsdl.
dcc.endpointAngiver det endpoint, som DCC'en skal kalde. Dette kommer til at fremgå af den XML, der returneres i /dksconfig. Bør ændres før produktion.http://test1.fsk.netic.dk:8080/fsk/services/fsk
minlog.read-activity-textAngiver den tekst der registreres i MinLog, når der bliver læst Stamkortregister-data for et CPR-nummerOpslag i Stamkort
minlog.write-activity-textAngiver den tekst der registreres i MinLog, når der bliver læst Stamkortregister-data for et CPR-nummerOpdatering af Stamkortregister
schemavalidation.validate-requestsAngiver om requests skal schema-valideres (true/false)true
schemavalidation.validate-responses

Angiver om responses skal schema-valideres (true/false)

true
schemavalidation.fail-on-response-error

Angiver om en kald skal returnere fejl, hvis response ikke er schema-valid (true/false)

true
whitelist.careprovideridAngiver en komma-separeret liste af whitelistede CVR-numre fra medcom:CareProviderID-attributten fra en DGWS header. Denne whitelisting medfører, at anvenderen kan redigere data ud fra et DGWS niveau 3 kald. Standard-værdien er Sundhed.dk's CVR-nummer.31908574
jobs.delete.cpr-max-resultsSlettejob: Angiver maksimum antal rækker med opdateringer i cpr-registry der skal læses ad gangen25
jobs.delete.cpr-max-loopsSlettejob: Angiver maksimum antal batches der skal behandles pr. jobeksekvering2
skr.codesystem.legalRelationshipTypesHer kan mulige værdier af "RelationType" angives. uspec_paaroerende,
ingen_relationer,
barn,
mor,
far,
forælder,
søskende,
aegtefaelle,
barnebarn,
svigerbarn,
øvrig_familie,
nabo,
samboende,
registreret_partner,
anden,
søn,
datter
cprexists.validationlevel

Valideringsniveau for CPR validering

Eksempel: WARNING, REJECT, OFF


personinformation.url

URL for PersonInformation service

Eksempel: http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation

http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/v1
personinformation.maxTotalConnections

Konfiguration af client pool til kald af PersonInformation service

200
personinformation.defaultMaxConnectionsPerRoute

Konfiguration af client pool til kald af PersonInformation service

20
allowed.idws.audienceDet tilladte audience på indkommende idws requestshttps://fsk
skr.citizen.powerofattorney.privilegesFuldmagts-streng<TBD>
skr.phonenumber.validation

Validering af telefonnummer kan man slå til/fra med denne property.

Mulige værdier: ON/OFF

OFF

operations.properties

PropertyBeskrivelse
datasource.skr.jndi-nameAngiver navnet på en JNDI datasource til Stamkortregister-databasen
cleanup.batchsizeAngiver antal person id'er der skal tjekkes cpr numre for af gangen.
desired.execution.duration

Ønsket udførselstid for kørsler af cpr oprydningsjobbet. Angives i ISO-8601 formattet. Fx 'PT20S' (20 sekunder)

Et kald vil køre oprydninger indtil den konfigurerede tid er gået, eller der ikke er flere opgaver på stakken.

personinformation.url

URL for PersonInformation service

minlogclient.properties

SKR anvender MinLogProvider til at registrere logninger i MinLog2, og i den forbindelse skal Kafka properties for Min Log 2 konfigureres. 

Property

Beskrivelse

kafka.producer.bootstrap.serversKafka endpoint, som anvendes i forbindelse med kald til MinLog2
kafka.producer.client.idNavnet som SKR vil fremgå med i listen af Producers på et Kafka Cluster.
kafka.producer.key.serializerSerializer key for Kafka producer
kafka.producer.key.value.serializerSerializer value for Kafka producer
kafka.topic

Kafka topic som anvendes i forbindelse med kald til MinLog2


nas.properties

PropertyBeskrivelse
nas.app.nameApplikationsnavn til sla-logning ved NAS-kald
stamkortregister
nas.app.shortnameKort applikationsnavn til sla-logning ved NAS-kald.
skr
nas.fail.thesholdGrænse for hvor mange gange NAS-kald må fejle i træk, før NAS opfattes som usund.
1
nas.connect.timeout.millisGrænse for hvor lang tid det må tage at oprette forbindelse til NAS (i ms.).
10000
nas.read.timeout.millisGrænse for hvor lang tid det må tage at modtage svar fra NAS (i ms.).
10000
nas.max.total.connectionsMaksimalt antal samtidige NAS-forbindelser.
200
nas.default.max.connections.per.routeMaksimalt antal NAS-forbindelser per rute.
20
nas.service.urlNAS Endpoint
http://test1.ekstern-test.nspop.dk:8080/nas2/notificationbroker/service
nas.topicNAS topic
TESTNAS-TOPIC1
nas.idcard.subject.id.typeSubjecttype for IDKort til NAS-kald.
medcom:cvrnumber
nas.idcard.subject.idSubjectId for IDKort til NAS-kald.
46837428
nas.idcard.subject.nameSubjectname for IDKort til NAS-kald.
Funktionssignatur til testmiljø (funktionscertifikat)
nas.idcard.levelSikkerhedsniveau for IDKort til NAS-kald.
3
nas.idcard.system.nameSystemnavn i IDKort til NAS-kald.
itsystem
nas.sts.endpointEndpointet, hvor Minspærring skal trække sit SOSI IDkort på baggrund af sts.keystore
http://test2.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService
nas.sts.test.modeBoolsk værdi, der angiver om der anvendes test- eller produktions SOSIFederation
true
nas.sts.keystoresti til keystore, der indeholder certifikat til at trække Idkort til NAS-kald.
Statens_Serum_Institut_FOCES.jks
nas.sts.keystore.passwordPassword til sts.keystore
n/askr.codesystem.legalRelationshipTypesHer kan mulige værdier af "RelationType" angives. uspec_paaroerende,
ingen_relationer,
barn,
mor,
far,
forælder,
søskende,
aegtefaelle,
barnebarn,
svigerbarn,
øvrig_familie,
nabo,
samboende,
registreret_partner,
anden,
søn,
dattercprexists.validationlevel

Valideringsniveau for CPR validering

Eksempel: WARNING, REJECT, OFF

cprexists.url

URL for CPR exist service

Eksempel: http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-cprexists

nullcprexists.maxTotalConnections

Konfiguration af client pool til kald af CPRExists service

200cprexists.defaultMaxConnectionsPerRoute

Konfiguration af client pool til kald af CPRExists service

20allowed.idws.audienceDet tilladte audience på indkommende idws requestshttps://fsk

...

nas.credentialvault.aliasAlias fra certifikatet, der blev brugt til NAS. Bruges til at overskrive systemets egenskab, der er indstillet af Sosi Library.


log4j-nspslalog.properties

Standardværdierne konfigurerer en Log4j-backend der logger med ISO 8601 timestamps.

Se NSP-util - Designdokument.doc eller den officielle Log4j 1 dokumentation for alternativ konfiguration.

log4j.xml

Konfigurerer logning for servicen.

Der benyttes en rolling file appender, hvor størrelsen af log filerne og antallet af gemte log filer konfigureres med de to environment variable: LOG_MAX_FILE_SIZE og LOG_MAX_BACKUP_INDEX.

Standardværdierne angiver nogle brugbare niveauer for anvendelse i produktion. Se Driftsvejledningen for uddybet beskrivelse af logning.

Se den officielle Log4j 2 dokumentation for alternativ konfiguration.

minlogclient.properties

SKR anvender MinLogProvider til at registrere logninger i MinLog2, og i den forbindelse skal Kafka properties for Min Log 2 konfigureres. 

...

Property

...

Beskrivelse

...

Kafka topic som anvendes i forbindelse med kald til MinLog2

log4j-nspslalog.properties

Standardværdierne konfigurerer en Log4j-backend der logger med ISO 8601 timestamps.

Se NSP-util - Designdokument.doc eller den officielle Log4j 1 dokumentation for alternativ konfiguration.

Konfiguration af Accesshandler

security.properties

Konfigurerer security-api'et. Standardværdierne opsætter en keystore til signering af responses. Der henvises til accesshandlerens dokumentation for yderligere detaljer om konfiguration af security-api'et.

security.skip

Der henvises til accesshandlerens dokumentation for yderligere detaljer om konfiguration af security-api'et.

...

Overblik over komponenter

Der følgende Følgende beskriver de forskellige deployables som komponenten indeholder.

Filnavn når deployet

Beskrivelse

Kilde

skr-service.war

SKR servicen

skr-service-<version>.war

skr-operations.war

SKR operations servicen

skr-operations-<version>.war

Se driftsvejledningen for yderligere information.

...