Page History
| Navitabs | ||||||
|---|---|---|---|---|---|---|
| ||||||
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
...
Version
...
Dato
...
Ansvarlig
...
Beskrivelse
...
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
...
.
...
...
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) |
...
Installation
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 !!
Ændringer
Nedenstående skal ændres i konfiguration
...
MariaDB driver
...
i sektionen subsystem.datasources.drivers
Tilføjelser
Nedenstående konfigurationsfiler skal tilføjes manuelt til jBoss.
...
Opret folder
<JBoss>/standalone/modules/org/mariadb/main
med module.xml bestående af:
...
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:
| Mappe | Indhold |
|---|---|
| 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 |
| database | Her ligger databasefiler som det forventes at driften lægger på en NSP database |
| development | Her ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere. |
| test | Her ligger en Docker Compose fil der kan starte Minlog2 i en standalone test konfiguration. |
| release | Her 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:
| Fil | Indhold |
|---|---|
| minlog2-ds.xml | Konfiguration af datasourses |
| minlog2-stam-ds.xml | Konfiguration af datasourses mod stamdata |
| minlog2/minlog2-lookup.properties | Konfiguration af Minlog2 Opslag servicen |
| minlog2/idws-keystore.jks | Keystore |
| minlog2/idws.properties | Konfiguration af idws |
| minlog2/kommuner.json | Kommune opslysninger |
| log4j/log4j.properties | Log 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
...
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
...
indeholder følgende indstillinger:
| Property | Beskrivelse |
|---|---|
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] |
organisationjob.start.hour=1 | angiver hvilken time-tid jobbet skal starte [1-23] |
organisationjob.start.minute=0 | angiver hvilken minut-tid jobbet skal starte [0-59] |
IDWS | Tilret idws.properties filen:
|
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.
| Property | Beskrivelse |
|---|---|
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. |
| federation | Hvilket 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.sqlAfvikling
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:
- Autorisation
- 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.
...