Indhold


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 WildFly applikation server, MariaDB og java.

Dokumenthistorik

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.

Ændringer

Nedenstående skal ændres i konfiguration

MariaDB driver

<JBoss>/standalone/configuration/standalone.xml skal indeholde

<driver name="mariadb" module="org.mariadb">
<driver-class>org.mariadb.jdbc.Driver</driver-class>
<xa-datasource-class>org.mariadb.jdbc.MySQLDataSource</xa-datasource-class>
</driver>

<JBoss>/standalone/modules/com/mariadb/main
Skal indeholde
Module.xml bestående af
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.mariadb">
<resources>
<resource-root path="mariadb-java-client-1.5.9.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Samt filen
mariadb-java-client-1.5.9.jar


Tilføjelser

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


Alle de omtalte filer kan dannes af bygget som beskrevet i afsnittet .

Registrering
applikations-, SLA- og auditlog

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.

Database

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.

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

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]

kafka.producer.enable=false

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

kafka.producer.bootstrap.servers=localhost:9092
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.


Byg med: mvn clean install –P <env>

Hvor <env> er dev, niab, test eller prod.

Dette vil danne de fleste af de nødvendige filer i folderen target/classes. Undtagelsen er standalone.xml som findes på JBoss i forvejen.
Filerne skal kontrolleres og evt. tilrettes før anvendelse.


├── datasources
│   ├── minlog2-ds.xml
│   └── minlog2-stam-ds.xml
├── nsi
│   └── minlog2
│   ├── lookup
│   │   └── config
│   │   └── main
│   │   ├── log4j
│   │   │   └── log4j.properties
│   │   └── module.xml
│   └── registration
│   └── config
│   └── main
│   ├── log4j
│   │   └── log4j.properties
│   └── module.xml
└── sla
   ├── log4j-nspslalog-minlog2.properties
    └── nspslalog-minlog2.properties


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:

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:

Deployment

Deployment af applikationerne via:

Registrering applikation

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


Kontrol

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

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


Status bør være ok.