Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootMinLog2 - Leverancebeskrivelse
firsttabMinLog2
includeroottrue


Indhold


Table of Contents

Indledning

Minlog2 Opslag leveres som et projekt bestående af 3 webservice løsninger. JEE løsningerne bygges som ear filer og deployes til JBoss WildFly 8.2.1.Final.

Opslag

Opslagsdelen afvikles hos cNSP og kræver adgang til MariaDB med database "minlog2" og "stamdata".

I det følgende beskrives forudsætninger, samt skridt ved første installation og efterfølgende installationer.

Læsevejledning

Læseren forventes at have kendskab til National Sundheds-IT's platform NSP, samt generelt kendskab til Docker, WildFly applikation server, MariaDB og java.

Dokumenthistorik

Definitioner og forkortelser

Definition

Version

Dato

Ansvarlig

Beskrivelse

1.704-06-2019OpenmindsYderligere specifikation af installationer
1.620-09-2018OpenmindsYderligere specifikation som følge af ny borgerservice og Kafka

1.5

21-11-2017

Openminds

Ny webservice til borger

1.4

17-10-2017

Openminds

Tilføjet kommune data

1.3

28-09-2017

Openminds

Properties til OrganisationJob – kommunetabel fjernet.

1.2

06-09-2017

Openminds

Ehcache setup

1.1

10-08-2017

Openminds

Properties til CleanUp job. Kommunetabel.

1.0

15-06-2017

Openminds

Definitioner og forkortelser

...

Definition

...

Beskrivelse

...

NSP

...

Den nationale service platform (inden for sundheds-IT)

Krav til miljø

Platform

Den primære del af løsningen afvikles på JBoss WildFly 8.2.1.Final med nedenstående konfiguration. 

Løsningen er udviklet med JDK 1.8 og er testet mod MariaDB version 10.x.

OBS ! CRL foretages af platformen – er slået fra i lookupid !!

Tilføjelser

Nedenstående konfigurationsfiler skal tilføjes manuelt til jBoss. 

...

Applikations-, SLA- og auditlog

Opret folder
<JBoss>/modules/nsi/minlog2/lookup/config/main/log4j

...

main/log4j indeholder

  • log4j.properties, der indeholder konfiguration af applikationsloggen, auditloggen og SLA-log - herunder angivelse af, hvor der logges til.
  • nspslalog-minlog2.properties

Se konfigurationsfiler for dannelse af disse tre filer.

...

Filen kommuner.json

Gemmes i
<JBoss>/standalone/configuration/minlog2

Filen er hentet fra dawa.aws.dk (i skrivende stund: http://dawa.aws.dk/kommuner).

...

Database

Filerne

  • minlog2-ds.xml
  • minlog2-stam-ds.xml

...

Applikations properties

NSP

Den nationale service platform (inden for sundheds-IT)

Installation

Docker

Minlog2 Opslag består af et Docker images som pushes til NSP Docker Registry under navnet:

lookup

Docker Compose

Minlog2 Opslag leveres samtidig som et sæt af Docker Compose filer i mappenhttps://svn.nspop.dk/svn/components/minlog/trunk/compose.

For release x.y.z af Minlog2 Opslag findes Docker Compose filerne i mappenhttps://svn.nspop.dk/svn/components/minlog/tags/release-x.y.z/compose


Compose mappen  indeholder 5 undermapper:

MappeIndhold
configuration

Her ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø.

Er delt op i 3 undermapper

consumer

lookup, Her laves konfigugration til Minlog2 Opslag

registration

databaseHer ligger databasefiler som det forventes at driften lægger på en NSP database
developmentHer ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere.
testHer ligger en Docker Compose fil der kan starte Minlog2 i en standalone test konfiguration.
releaseHer ligger den Docker Compose fil som det forventes driften anvender på både test og produktionsmiljøerne.

Konfiguration

I mappenhttps://svn.nspop.dk/svn/components/minlog/trunk/compose/configuration/lookup findes følgende konfigurationsfiler:

FilIndhold
minlog2-ds.xmlKonfiguration af datasourses
minlog2-stam-ds.xmlKonfiguration af datasourses mod stamdata
minlog2/minlog2-lookup.propertiesKonfiguration af Minlog2 Opslag servicen
minlog2/idws-keystore.jksKeystore
minlog2/idws.propertiesKonfiguration af idws
minlog2/kommuner.jsonKommune opslysninger
log4j/log4j.propertiesLog opsætning af Minlog2 Opslag servicen
log4j/nspslalog-minlog2.properties

Filerne skal tilrettes til de forskellige miljøer hvorpå de installeres. Filerne indeholder en konfiguration der passer i en standalone test konfiguration.

Tilføjelser

Nedenstående er en yderligere beskrivelse af minlog2/minlog2-lookup.properties og minlog2/idws.properties.

Filen minlog2/minlog2-lookup.properties

...

indeholder følgende indstillinger:

PropertyBeskrivelse

sql.max.logevents.allowed.in.query=10000

angiver det maks antal logevent der kan søges på ved lookup. Overskrides denne, returneres en fejl med besked om at indsnævre søgningen

federation=test

angiver hvilken SOSIFederation der initialiseres. Værdien kan være ”test” eller ”prod”

days.to.remain.persisted=730

angiver hvor mange dage entries findes i DB. Værdien 730 er 2 år herefter slettes de i natlig kørsel

sql.delete.batch.size=10000

angiver størrelse på batch chunks ved sletning. Værdien 10000 angiver LIMIT på delete statement

cleanupjob.start.hour=3
angiver hvilken time-tid jobbet skal starte [1-23]
cleanupjob.start.minute=0

angiver hvilken minut-tid jobbet skal starte [0-59]

IDWS

Tilret idws.properties filen:
org.apache.ws.security.crypto.merlin.file=<Jboss>/standalone/configuration/minlog2/idws-keystore.jks
org.apache.ws.security.crypto.merlin.truststore.file==<Jboss>/standalone/configuration/minlog2/idws-truststore.jks
samt evt. passwords til de 2 keystores.
Filerne

  • idws.properties
  • idws-keystore.jks
  • idws-truststore.jks
    skal kopieres til <Jboss>/standalone/configuration/minlog2/

Konfigurationsfiler

Det er muligt at danne konfigurationsfiler svarende til et bestemt miljø fra maven.

...

sql.stamdata.notfound.error.message="Stamdata kunne ikke fremsøges"

angiver fejlbesked hvis stamdata ikke kan fremsøges

sleep.after.batch=10000

angiver hvor mange ms der skal ventes inden næste "sql.delete.batch.size" slettes. 

cleanupjob.runtime.max=25000

angiver hvor lang tid hvert job må bruge. For at undgå timeout på HTTP-kald, er værdien pt. sat til 25 sekunder (25000 millisekunder)

minutes.to.log.own.data=15

angiver hvor mange minutter der går mellem log af egne data indenfor samme døgn. 

skip.count.remaining=false

angiver om optælling af manglende oprydning skal springes over eller ej. True betyder, at den springer optællingen over.

parentalCustody.age.limit=15

angiver aldersgrænse for hvornår en borger ikke længere kan claime forældremyndighed på et barn

audience=https://minlog

Minlogs audience streng

powerofattorney.privileges=urn:dk:nspop:sts:minlog2:read

Tilladte fuldmagtsstrenge. Hvis flere adskilles de af komma. Eksempel: urn:dk:nspop:sts:minlog2:read,urn:dk:nspop:sts:minlog:read

whitelisting.cache.ttl=PT1M

Time to live for whitelisting-cachen. Default 1 min.

personinformation.url

angiver URL til PersonInformation servicen

personinformation.errorcount.duration

angiver hvor lang tid tilbage der skal tælles fejl fra PersonInformation servicen (ifm. /monitor endpointet). Angives som duration i ISO-8601 formattet. Default er PT10M

personinformation.error.tolerance

Angiver antal fejl der tolereres fra PersonInformation servicen før /monitor endpointet angiver servicen som ikke tilgængelig. Default er 0

personinformation.maxTotalConnections

Angiver totale antal HttpClients forbindelser der kan åbnes

personinformation.defaultMaxConnectionsPerRoute

Angiver antal HttpClients forbindelser der kan åbnes pr. rute

sores.endpoint

angiver endpoint for SORES-servicen

sores.error.tolerance

angiver antal fejl der tolereres fra SORES servicen før status endpointet angiver servicen som ikke tilgængelig.

sores.errorCountDuration

angiver en specificering af hvor lang tid tilbage der skal tælles fejl fra SORES servicen. Angives som duration i ISO-8601 formattet.

sores.maxTotalConnections

Angiver totale antal HttpClients forbindelser der kan åbnes

sores.defaultMaxConnectionsPerRoute

Angiver antal HttpClients forbindelser der kan åbnes pr. rute

yderinformation.endpoint

angiver endpoint for YderInformation-servicen

yderinformation.error.tolerance

angiver antal fejl der tolereres fra servicen før status endpointet angiver servicen som ikke tilgængelig.

yderinformation.errorCountDuration

angiver en specificering af hvor lang tid tilbage der skal tælles fejl fra servicen. Angives som duration i ISO-8601 formattet.

yderinformation.maxTotalConnections

Angiver totale antal HttpClients forbindelser der kan åbnes

yderinformation.defaultMaxConnectionsPerRoute

Angiver antal HttpClients forbindelser der kan åbnes pr. rute

minlog2.endpoint.lookup=http://localhost8081/minlog2-lookup

Endpoint som bruges af DKS at angive Lookup service url, som bruges af DCC.

minlog2.endpoint.lookupid=http:/localhost:8081/minlog2-lookupid

Endpoint som bruges af DKS at angive LookupId service url, som bruges af DCC.


Filen minlog2/idws.properties indeholder nedenstående properties.

PropertyBeskrivelse
org.apache.ws.security.crypto.merlin.keystore.type
Keystore type. Skal være jks.
org.apache.ws.security.crypto.merlin.keystore.password
Password til keystore.
org.apache.ws.security.crypto.merlin.keystore.alias
Keystore alias. Skal typisk være sosi:alias_system.
org.apache.ws.security.crypto.merlin.file
Sti til keystore.
federationHvilket federation der skal anvendes. Skal enten være test eller prod.

Database

Der er kommet en ny tabel ifm. SDS-7688 til whitelisting. Den skal oprettes første gang whitelisting sættes i drift. Script til dette findes i git repository under:

compose/database/07_whitelisting.sql

Afvikling

Minlog2 Opslag startes og stoppes med Docker Compose kommandoer.

Standalone test

For en standalone test af Minlog2 Opslag  hentes "compose" mappen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i mappen "test".

NSP Miljø

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

Database

Der er udarbejdet sqlfiler til blandt andet oprettelse af minlog2 skema – find dem i …/shared/shared-configuration/src/main/resources/sql.

Skemaer

Der skal være adgang til følgende MariaDB skemaer:

  • MinLog2
  • Stamdata

Der skal oprettes brugere med tilstrækkelige privilegier og med adgang til skemaerne.

Tabeller

I MinLog2 kan tabellerne oprettes via "initial_schema.sql".

I stamdata forventes følgende tabeller – med indhold:

  • Autorisation2
  • Organisation
  • v2_Person
  • Yder
  • Apotek

Deployment

Deployment af applikationerne via:

...

Opslag applikation

...

Filen
lookup-ear/target/minlog2-lookup.ear
skal kopieres til
<JBoss>/standalone/deployments

Kontrol

Installationen kan kontrolleres ved at kalde den indbyggede monitor del:

http://<server>:<port>/minlog2-lookup/monitor?details

http://<server>:<port>/minlog2-lookupid/monitor?detailshttp://<server>:<port>/minlog1-lookup/monitor?details

Status bør være ok.

...