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 leveres som et projekt bestående af 2 webservice løsninger. Jee løsningerne bygges som ear fil og deployes til JBoss WildFly 8.2.1. Registreringsdelen afvikles hos dNSP med adgang til MariaDB som skal indeholde databasen "stamdata".

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

...

1.1

...

10-08-2017

...

Openminds

...

Properties til CleanUp job. Kommunetabel.

Kafka og java.

...

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.

Ændringer

Nedenstående skal ændres i konfiguration

...

MariaDB driver

...

Docker

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

registration

 Docker Compose

Minlog2 Registrering 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 Registrering 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

registration, Her laves konfigugration til Minlog2 Registrering

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.

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

Konfiguration

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

FilIndhold
minlog2/minlog2-register.propertiesKonfiguration af Minlog2 Registrering servicen
log4j/log4j.propertiesLog opsætning af Minlog2 Registrering 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.

Konfiguration

Nedenstående er en beskrivelse afminlog2/minlog2-register.properties . 

Filen indeholder følgende konfigurationer af hhv Kafka og NSP:

Tilføjelser

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

...

PropertyBeskrivelse
Opret folder
<JBoss>/modules/nsi/minlog2/registration/config/main/log4j
Hvor main indeholder filen module.xml med følgende indhold:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="nsi.minlog2.registration.config">
<resources>
<resource-root path="log4j"/>
<resource-root path="."/>
</resources>
</module>
Og log4j indeholder filen log4j.properties, der indeholder konfiguration af applikationsloggen og auditloggen herunder angivelse af, hvor der logges til. Se konfigurationsfiler.

Inklusiv 

  • nspslalog-minlog2.properties

Disse indeholder konfiguration af NSPUtil log frameworket. Bemærk, at filernes navne ikke må ændres: NSPUtil filteret er i applikationen konfigureret til at benytte filen nspslalog-minlog2.properties.

Filerne

  • minlog2-ds.xml
  • minlog2-stam-ds.xml
    gemmes i <JBoss>/standalone/deployments.
    De beskriver konfiguration af database til hhv. applikationen og adgange på virksomhedsniveau.

    federation=test

    sql.delete.batch.size=10000

    kafka.producer.

    enable=false
    kafka.producer.

    bootstrap.servers=localhost:9092

    Registrering
    applikations-, SLA- og auditlog

    Database

    Applikations properties

    Opret folder
    <Jboss>/standalone/configuration/minlog2/

    Filen kommune.json indlæses når applikationen starter. Filen er hentet fra dawa.aws.dk.
    Filen minlog2.properties flyttes til ovenstående folder.
    Filen 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

    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

    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]

    true vil registreringer blive publiceret til kafka
    false vil registreringer blive indsat direkte i databasen 

    Se https://kafka.apache.org/documentation/#producerconfigs

    kafka.producer.client.id=MinLog2-producer

    Se https://kafka.apache.org/documentation/#producerconfigs

    kafka.producer.key.serializer=org.apache.kafka.common.serialization.StringSerializer

    Se https://kafka.apache.org/documentation/#producerconfigs

    kafka.producer.value.serializer=org.apache.kafka.common.serialization.StringSerializer

    Se https://kafka.apache.org/documentation/#producerconfigs

    kafka.producer.request.required.acks=1

    Se https://kafka.apache.org/documentation/#producerconfigs

    kafka.producer.topic=MinLog2-Topic

    Se https://kafka.apache.org/documentation/#producerconfigs

    kafka.topic=MinLog2-Topic

    Se https://kafka.apache.org/documentation/#producerconfigs

    nsp.kafka.producer.component.name=MinLog2-registration-producer

    Se Den Gode Brug af Kafka

    nsp.kafka.producer.component.abbreviation=MinLog2-producer

    Se Den Gode Brug af Kafka

    nsp.kafka.producer.component.version=1.0.0

    Se Den Gode Brug af Kafka

    nsp.kafka.producer.service.name=produce

    Se Den Gode Brug af Kafka

    Konfigurationsfiler

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

    ...

    producer.pool.count

    Antal objekter i Kafka Producer poolen.

    parentalCustody.age.limit=15

    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. 

    minlog2.endpoint.register=http://localhost:8080/minlog2-registration

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

    Afvikling

    Minlog2 Registrering startes og stoppes med Docker Compose kommandoer.

    Standalone test

    For en standalone test af Minlog2 Registrering  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:

    ...

    Registrering applikation

    ...

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

    ...

    Opslag applikation

    ...

    Kontrol

    Installationen kan kontrolleres ved at kalde den indbyggede monitor del i de enkelte løsninger:

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

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

    http://<server>:<port>

    /

    minlog2-lookupid/

    monitor?details

    ...

    http://<server>:<port>/monitor


    Status bør være ok.

    Afvikling af Kafka consumer

    Afvikling kan ske således (her RC8)

    ...

    java -jar consumer-2.0.0RC8.jar

    Se i src/main/resources/application.properties for de mest anvendte konfigurationer.