Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootSundhedsvæsenets Nationale Erstatnings-CPR (Nationalt eCPR) - Leverancebeskrivelse
includeroottrue

Følgende punkter er valgt ud fra FSK - installationsvejledning

Overblik

Skal indeholde en introduktion til siden. Derduover kunne det også indeholde en introduktion tik hvilke dependencies der er til systemet. Måske også antallet af komponenter systemet består af? 

Ændringslog

Dette er en versionshistorik

Byggevejledning

  1. Beskriv hvordan projektet bygges uden test (Vi er nede i mvn kommandoer)
  2. Beskriv hvor deployables ender efter build (Target folder?).

Afvikling af tests

  1. Beskriv hvordan test afvikles (Måske en adskillelse mellem integrationstests og unittest?) 

Krav til database

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

Bemærk, ved unittest anvendes en in-memory H2 database, som automatisk startes op, når unittests køres.

Krav til hardware

Oprettelse af databaser og tabeller

Herunder beskrives servicens tilgang til database samt oprettelse af tabeller og views.

Tilgang til database

Oprettelse af database og tabeller

Deployment

Konfiguration af servicen

Herunder beskrives properties i eCPR komponentens konfigurationsfiler.

application.properties

Tabel med properties?

Overblik over komponenter

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

...

Filnavn på deployet

...

Beskrivelse

...

Kilde

...

fsk-service.war

...

FSK servicen

...

fsk-service-<version>.war


Indholdsfortegnelse:

Table of Contents

Introduktion

!!! — NAS — !!!

Introduktion

Formål

Dette dokument indeholder en beskrivelse af hvordan National Adviseringsservice 2 Nationalt eCPR (herefter NAS2eCPR) installeres på et NSP Backend miljø.

Læsevejledning

Læseren forventes at have kendskab til Sundhedsdatastyrelsens platform NSP, samt generelt kendskab til WildFly applikation server, Docker, Docker Compose samt Ubuntu Linux operativ system.

Dokument Historik

...

Definitioner og referencer

Installation

eCPR anvender NSP's Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.

Jenkins

...

eCPR bygges med NSP's Jenkins server via følgende jobs: registry registry.nspop.dk/platform/nsp

Bygget er defineret i Jenkinsfile i rodmappen af eCPR, hvor indholdet af docker containeren er defineret. NSP Leverandøren er selv ansvarlige for at pushe release versioner af eCPR til NSP Docker Registry gennem Jenkins.

Docker

eCPR består af en service og dermed også et docker image som pushes til NSP Docker Registry. Det hedder registry.nspop.dk/fmkcomponents/ecpr2:´

Docker Compose

eCPR leveres samtidig som et sæt af Docker Compose filer, der findes i folderen https://git.nspop.dk/projects/COM/repos/erstatnings-cpr-numre/browse/composeFor release x.y.z af NAS2 findes Docker

Compose filerne i folderen https://svn.nspop.dk/svn/components/nas/tags/release-x.y.z/compose

En leverance af NAS2 består af en compose folder som beskrevet ovenfor samt tilhørende tags af de fem Docker images.

Compose folderen indeholder 5 underfoldere:

indeholder 4 underfoldere, hvor database ligger under configuration:

Udviklere.release
Folder navnBeskrivelse
configuration/
configurationOBS!! Database ligger under configuration folderen??
databaseHer ligger alle de databasefiler som det forventes at driften lægger på en NSP database
developmentHer ligger en Docker Compose fil til brug for udvikling. SeeCPR - Guide til testudviklere
releaseHer ligger en Docker Compose fil til brug i produktion

eCPR leveres via en github branch, navngivet efter den aktuelle version. 

Krav til miljø

Krav til applikationsservere

...

Komponenternes konfiguration er tilpasset deployering på WildFly ?? applikationsservere deployement på WildFly applikationsservere med OpenJDK 8

Krav til operativsystem

...

Der stilles ingen krav til operativsystemet udover, at det skal være Linux, og docker skal være installeret.

Krav til database

(Generelt om dette afsnit: Vi venter med at opdatere det til vi kender formatet af databaserne mm)

(Vi kommer til at have 1 database og et view op mod KRS og måske en test database med stamdata til at køre integrationstests.)

(Vi skal have en selvstædig database og en adgang til database view ned til stamdata) Databasen til NAS2 systemet er en selvstændig database og selvstændige tabeller i forhold til NAS1. NAS2 deler derfor ikke database med NAS1. 

Der er krav til at eCPR har adgang til en MySQL database. 

Databasen (Lige nu vedligeholdes databasen ikke af liquidbase så denne linje bliver ikke færdig) Databasen den vedligeholdes ved hjælp af Liquibase. Liquibase forventer at database samt bruger allerede er oprettet. Som standard forventes det at databasen den hedder nasecpr2, men dette kan ændres i nas-ds.xml.Hvis der skal afvikles integrationstest mod det mijlø der installeres skal changelog filen , ved at ændre i følgende to property filer: 

  • liquibase.test.properties placeret i compose/configuration/database 
  • ecpr2.properties, som er placeret i compose/configuration

For begge filer gælder, at url'en skal tilpasses hvor databasenavnet (originalt ecpr2) ændres. 

Hvis integrationstestene skal afvikles skal propertien "changelogFile" ændres til liquibase-changelog-test.xml

...

(standard) i filen liquidbase.test.properties. Hvis integrationstestene ikke skal afvikles, ændres propertien "changelogFile" til at pege på liquibase-changelog-master.xml.

Krav til adgang til andre services

...

og views

eCPR kræver adgang til NSP STD gennem 3 forskellige views:

  • Authorization View fra autorisationsregisteret
  • Bemyndigelse View fra bemyndigelsesservice
  • Person View fra cpr registeret

Hvert view vist nedenfor, hvor det ses hvilke informationer, der skal udstedes gennem hvert view.

eCPR kræver derudover adgang til NAS2 for at kunne udføre de relevante adviseringer på det allerede eksisterende topic "http://sds.dk/personid/2018/01/01" , samt adgang til SCES, for at kunne verificere CPR-numre. 

Authorization view

Information
Authorisationsnummer
CPR
Uddannelses Kode
ValidFrom
ValidsTo

Bemyndigelses view

Information
BemyndigelsePID
Rettighed
System
Status
Arbejdsfunktion
Bemyndigede cvr
Bemyndigede cpr
Bemyndigende cpr
Gyldig fra dato
gyldig til dato
ValidFrom
ValidTo

Person View

Information
Status
CPR
ValidFrom
ValidTo

Krav til hardware

Der stilles ikke nogle særlige krav til hardware. Servicen er en Java Spring Boot service, og kan dermed køre på en virtuel maskine

VI ER NÅET HERTIL!!!

NAS2 anvender NSP Kafka installationen på NSP Backend miljøet samt NSP Databasen. Uden adgang til disse kan servicen ikke fungere.

Krav til datahåndtering

Kravet til anvendere af NAS2 er at adviseringer ikke må indeholde personfølsomme data. NAS2 har dog ikke nogen måde at sikre dette, det er derfor op til SDS at sikre anvenderne overholder dette.

Krav til hardware

NAS2's ressourceforbrug vil afhænge af følgende:

  • Antallet og størrelsen af samtidige afleveringer af Adviseringer

  • Antallet af samtidige hentning af Adviseringer.
  • Antallet af ID'er i en ID-liste der aktivt anvendes ifm hentning af Adviseringer.

NAS2 er derimod lavet således at dens ressourceforbrug stort set ikke vil afhænge af følgende:

  • Antallet af Pullpoints
  • Antallet af Abonnementer.
  • Antallet af ID-lister.

NAS2 gennerelle krav til hardware er baseret på NSP Kafka miljøets krav til hardware, da denne står for opbevaring af alle Adviseringer.

Konfiguration

I folderen https://svn.nspop.dk/svn/components/nas/trunk/compose/configuration findes følgende konfigurationsfiler:

ecpr2.properties

Konfiguration af ecpr2 services

kafka-producer properties???

log4j2-ecpr2.xml

Hvad med de .properties der er i ecpr2-service/resources? Hvilke skal med of hvilke udelades?

Fra NAS

. Filen er gennemgået i detaljer i eCPR - Driftsvejledning hvor hver property er beskrevet separat.

ecpr2-ds.xml

Definerer databaseadgangen, herunder URL, Username og password. Filen gennemgås ikke yderligere.
log4j-ecpr2.xmlKonfiguration af Log4J. Log4j følger gængs standard på NSP og er kort beskrevet i eCPR - Driftsvejledning

FMmkVoces.p12

Certifikat til testbrug. Det er konfigureret i ecpr.properties, hvilket certifikat der bruges

notificationbroker.properties

Konfiguration af Notification Broker servicenidlist.propertiesKonfiguration af ID-list servicensubscriptionmanager.propertiesKonfiguration af Subscription Manager servicenpullpointfactory.propertiesKonfiguration af Pullpoint Factory servicenpullpoint.propertiesKonfiguration af Pullpoint servicencleanup.propertiesKonfiguration af Cleanup servicenadministration.propertiesKonfiguration af administrations servicen.nas-ds.xmlDatasource filen der bruges af alle serviceslog4j-notificationbroker.xmlLog opsætning af Notification Broker servicenlog4j-idlist.xmlLog opsætning af ID-list servicenlog4j-subscriptionmanager.xmlLog opsætning af Subscription Manager servicenlog4j-pullpointfactory.xmlLog opsætning af Pullpoint Factory servicenlog4j-pullpoint.xmlLog opsætning af Pullpoint servicenlog4j-cleanup.xmlLog opsætning af Cleanup servicenlog4j-administration.xmlLog opsætning af administrations servicen.

Alle filer skal tilrettes til de forskellige miljøer som NAS2 eCPR installeres på. Filerne indeholder en konfiguration, der passer til NAS2 eCPR2 i en standalone test konfiguration. I Driftvejledningen er hver enkel fil gennemgået i detaljer. ← Skal vi også det? eller rettere, skal det være her eller i driftvejledningen?

SLA logning

Konfigurationsfiler til SLA logning ligger inde i de Docker images som NAS2 producere. De Konfigurationen af SLA logning sker i log4j-nspslalog-ecpr2.properties l i folderen https://svn.nspop.dk/svn/components/nas/trunk/compose/configuration. Knfigurationerne følger standarden for SLA logning og det bør derfor ikke være nødvendigt at ændre i disse.

...

eCPR startes og stoppes med Docker Compose kommandoer. Her indsættes den relevante folder mellem $foldernavn$ alt efter miljø,:

Start: docker-compose -f compose/development$foldernavn$/docker-compose.yml up -d --build

Stop:  docker-compose -f compose/development$foldernavn$/docker-compose.yml down

Specielt for administration servicen

Denne service udstiller kun REST endpoints til anvendelse af administration af NAS2 og skal derfor kun være tilgængelig for driften.

Standalone test

For en standalone test af NAS2 hentes "compose" folderen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i folderen "test".Hvis servicen eks. køres i development miljø bruges docker-compose -f compose/development/docker-compose.yml up for at starte servicen op

NSP Miljø

På et NSP miljø hentes "compose" folderen for den ønskede version med Subversion git og kommandoen "docker-compose up" køres i folderen "release".

...

Ændringslog

VersionDatoÆndringAnsvarlig
1.013-11-2023Initielt dokumentTrifork