Versions Compared

Key

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

...

Dette dokument beskriver installation og konfiguration af Det Fælles Stamkort-servicen (FSK) samt den tilhørende konfiguration af dokumentdelingsservicen (DDS).

FSK-servicen består af én komponent to komponenter (war-arkivarkiver), der skal konfigureres og deployes på en applikationsserver:

  • fsk-web: War-arkiv . Servlet(servlet-baseret webservice pakket specifikt til Wildfly): Indeholder FSK forretningsservices, der kan kaldes af samarbejdende services.

  • fsk-operations: War-arkiv (servlet-baseret webservice pakket specifikt til Wildfly): Indeholder FSK vedligeholdelsesjobs, der kan kaldes af driften.

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:

  • cprsecurity-subscriber api (Maven identifier: dk.sds:cprsubscriber)security-api (Maven identifier: Maven identifier: dk.sds.nsp.security:security-api)

...

Datamodellen styres vha. inkrementelle SQL-scripts, der kan findes under compose/database/db/migration/fsk og indeholder ddl og indeholder scripts til at køre på servicens database.

Info

Scripterne er udformet til at blive kørt med databasemigreringsværktøjet FlywayLiquibase, og afvikles automatisk under Maven-byg.

I produktion anvendes scripterne manuelt og skal køres på databasen i inkrementel rækkefølge baseret på versionsnummeret i filnavnet (først V1__(...).sql, dernæst V2__(...).sql, osv.). Hvert script må aldrig køres mere end én gang; der gælder dog en undtagelse for ikke-versionerede scripter, hvis filnavne begynder med R, som står for Repeatable. Disse Repeatable scripter skal køres hver gang deres indhold (checksum) er blevet ændret, men de må først køres efter alle versionerede scripter er blevet kørt.

Ved initial installation af servicen vil det således være følgende scripter, der skal køres i den nedenstående rækkefølge:

Servicens database

  • fsk/V2__create_RegistryIndex.sql

(Replikeret) Stamdata-database

  • stm/R__create_v2_Person_Simplified_view.sql
  • stm/R__create_Yderregister_v3_Simplified_view.sql

 

...

:

  • under unit tests (mod h2 database)
  • under afvikling af compose setups (development og test).

Database-ændringer til servicen i produktion køres på med Liquibase. Dette gøres i praksis ved at køre "release/docker-compose-db.yml" med kommandoen:

docker-compose -f compose/release/docker-compose-db.yml up --build

Bemærk, at "compose/configuration/liquibase.properties" skal indeholde de relevante database-credentials

...

.

Deployment

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

...

PropertyBeskrivelseForslået værdiDefault
health.certificate-expires-warningAngiver antal dage, inden anvendte certifikater udløber, hvorfra komponentens statusside vil begynde at vise en advarsel.30
author.institution.rootAngiver author institution root id ved oprettelse af stamkort i fsk.1.2.208.176.1.11.2.208.176.1.1
author.institution.extensionAngiver author institution extension ved oprettelse af stamkort i fsk.11262110000160091126211000016009
author.institution.assigningAuthorityNameAngiver author institution autorityname ved oprettelse af stamkort i fsk.SORSOR
author.institution.nameAngiver navn på author institution ved oprettelse af stamkort i fsk.Fælles Stamkort udstedelseFælles Stamkort udstedelsedatasource-fsk.jndi-nameAngiver navnet på den primære JNDI datasourcejava:jboss/datasources/FSK-DSdatasource-stamdata.jndi-nameAngiver navnet på den JNDI datasource der giver adgang til en (replikeret) stamdata-databasejava:jboss/datasources/STM-DSspring.flyway.enabledAngiver om servicen selv sørger for opgradering af databasen (hvilket kræver at “fsk-service”-brugeren har privilegier til DDL, samt at inkrementelle SQL-scripts er tilgængelige i WAR-filen). Bør være false.falseudstedelse
datasource-fsk.jndi-nameAngiver navnet på den primære JNDI datasourcejava:jboss/datasources/FSK-DS
sts.endpointAdresse på NSP'ens SecurityTokenService.http://test1.ekstern-test.nspop.dk:8080/sts/services/NewSecurityTokenService
sts.connect.timeout.millisConnect-timeout mod STS (ms) 
sts.read.timeout.millisRead-timeout mod STS (ms) 
sts.keystoreAngiver hvilken keystore, ser anvendes til at trække systemidkort (til anvendelse ved DGWS kald til samarbejdende services).NSP_Service_Consumer_sds.p12
sts.keystore.passwordPassword til ovennævnte keystore.Test1234
sts.idcard.subject.idOrganisationsid i form af CVR-nummer.33257872
sts.idcard.subject.nameOrganisationsnavn. Dette skal være navnet på den organisation, der matcher CVR nummeret angivet i sts.idcard.subject.idSundhedsdatastyrelsen
sts.idcard.system.nameSystemnavn til indlejring i systemidkortFSK
dgwsclient.pool.sizeAntal parallelle kald, der kan maksimalt anvendes til kald til de underliggende services SCES, SKR, LTR, BTR og ODR.50
dgwsclient.timeout.millisTimeout (ms) for tråde, der anvendes til kald til de underliggende services SCES, SKR, LTR, BTR og ODR.
Bør være større end de read-timeout-millis, der kan angives for de enkelte services.
10000
sces.enableEnable/disable SCES integrationtruetrue
sces.endpointEndpoint til CPR-Enkeltopslaghttp://test1.ekstern-test.nspop.dk:8080/stamdata-cpr-ws/service/DetGodeCPROpslag-1.0.4
sces.connect.timeout.millisConnect-timeout mod CPR-enkeltopslag (ms)20005000
sces.read.timeout.millisRead-timeout mod CPR-enkeltopslag (ms)700010000
odr.enableEnable/disable integration til organdonorregistrettruetrue
odr.endpointEndpoint til organdonorregisterhttp://localhost:8080/odr/odr
odr.connect.timeout.millisConnect-timeout mod organdonorregistret (ms)20005000
odr.read.timeout.millisRead-timeout mod organdonorregistret (ms)700010000
ltr.enableEnable/disable integration til livstestamenteregistrettruetrue
ltr.endpointEndpoint til livstestamenteregisterhttp://localhost:8080/ltr-btr/ltr
ltr.connect.timeout.millisConnect-timeout mod livstestamenteregistret (ms)20005000
ltr.read.timeout.millisRead-timeout mod livstestamenteregistret (ms)700010000
btr.startdatetime

Tidspunkt for, hvornår FSK servicen begynder at foretage kald til behandlingstestamenteregisterservicen (såfremt integrationen er enabled).

Dette angives som et dato/klokkeslæt i lokal tid på format yyyy-MM-dd HH:mm:ss.

2019-01-01 00:00:002019-01-01 00:00:00
btr.enableEnable/disable integration til behandlingstestamenteregistrettruetrue
btr.endpointEndpoint til behandlingstestamenteregisterhttp://localhost:8080/ltr-btr/btr
btr.connect.timeout.millisConnect-timeout mod behandlingstestamenteregistret (ms)20005000
btr.read.timeout.millisRead-timeout mod behandlingstestamenteregister (ms)700010000
skr.enableEnable/disable integration til stamkortregistrettruetrue
skr.endpointEndpoint til stamkortregisterhttp://localhost:8080/skr/skr
skr.connect.timeout.millisConnect-timeout mod stamkortregistret (ms)20005000
skr.read.timeout.millisRead-timeout mod stamkortregistret (ms)700010000
syes.endpointEndpoint til Stamdata Yder EnkeltopslagsServicehttp://localhost:8080/syes/syes
syes.connect.timeout.millisConnect-timeout mod Stamdata Yder EnkeltopslagsService (ms)20005000
syes.read.timeout.millisRead-timeout mod Stamdata Yder EnkeltopslagsService (ms)700010000
call.sces.status.30Fejl der returneres når CPR-nummeret har status 30Det er ikke muligt at hente stamkortet, da CPR-nummeret er inaktivt
call.sces.status.50Fejl der returneres når CPR-nummeret har status 50Det er ikke muligt at hente stamkortet, da CPR-nummeret er inaktivt
call.sces.status.60Fejl der returneres når CPR-nummeret har status 60Det er ikke muligt at hente stamkortet, da CPR-nummeret er inaktivt
call.sces.status.90Fejl der returneres når CPR-nummeret har status 90Det er ikke muligt at hente stamkortet, da borgeren er afgået ved døden for mere end 1 år siden
deletion.fsk.batchsizeAngiver den maksimale antal cpr numre, som behandles per gang

desired.execution.durationAngiver den maksimale udførelsestid for baggrundsjobbet. Angives som Duration i ISO-8601 formattet. 

deletion.save.deceasedAngiver period på, hvor længe en person minimum skal være død for at blive slettet af slettet jobbet. 
Formatet er D for dage, M for måneder og Y for år.
Nogle eksempler: 2Y er 2 år, 12M er 12 måneder og 60D er 60 dage. 


personinformation.url

URL for PersonInformation service

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



personinformation.errorcount.durationSpecificering af hvor lang tid tilbage der skal tælles fejl fra PersonInformation servicen (ifm. /health endpointet for slettejobbet). Angives som duration i ISO-8601 formattet. Default værdi er PT10M (10 minutter).PT10M
personinformation.error.tolerance

Antal fejl der tolereres fra PersonInformation servicen før /health endpointet for slettejobbet angiver servicen som ikke tilgængelig. Default værdi er 0.

0
fsk.httpclient.pooling.totalconnectionsKonfiguration af client pool til kald af samarbejdende services. Eksempel på værdi: 200

fsk.httpclient.pooling.maxconnections.pr.route

Konfiguration af client pool til kald af samarbejdende services. Eksempel på værdi: 20



...

Konfiguration af datasources

fsk-service komponenten komponenten kræver adgang til 2 JNDI datasources. Disse en JNDI datasource mod FSKs databse. Denne skal opsættes i Wildfly og refereres til i servicens application.properties.

...

Filnavn når deployet

Beskrivelse

Kilde

fsk-service.war

FSK servicen

fsk-service-<version>.war

fsk-operations.war

Oprydningsjobs til FSK (kaldes af driften efter behov)

fsk-operations-<version>.war

Se driftsvejledningen for yderligere information.

...