Page History
Navitabs | ||||
---|---|---|---|---|
|
Version 0.13, 2019-07-12
Table of Contents |
---|
Formål
Dette dokument beskriver installation og konfiguration af Behandlingsrelations-servicen (BRS).
...
Krav til applikationsservere
Komponenterne er udviklet og testet
...
i Docker ved anvendelse af et base-image for NSP platformen.
Komponenternes konfiguration er således tilpasset deployering på WildFly 8.2 applikationsservere med OpenJDK 8.
Krav til operativsystem
Der stilles ingen krav til operativsystemet udover, ud over det åbenlyse krav om at Java er understøttet på operativsystemet. Ubuntu Linux bruges som operativsystem på NSP’en, men udviklingen af komponenten er foretaget på hhv. OS X og Windows 10, og disse platforme kan ligeledes afvikle komponenterneat det skal være Linux, og docker skal være installeret.
Krav til database
Komponenten er testet mod MariaDB version 10.1.
...
Herunder beskrives opsætningen af databaserne, samt oprettelsen af tabellerne. Alle filer der refereres til kommer fra et SVN checkout. Den seneste version samt tidligere releases kan findes på på https://svn.nspop.dk/svnsrc/components/brs
Tilgang til Stamdataudstillet database
...
- compose/database/brs/database/04-create-treatmentrelationfollowup-tables.sql
- compose/database/brs/database/05-mysql-treatmentrelationfollowup-alter-tables.sql
NB: followup-databasen kan slettes, når migrering til Kafka er gennemført (se driftsvejledning for detaljer om migrering).
Oprettelse af database og tabeller i dNSP/cNSP-miljøer
...
- compose/database/brs/database/06-create-followup-tables.sql
- compose/database/brs/database/07-mysql-followup-alter-tables.sql
...
NB: followup-databasen kan slettes, når migrering til Kafka er gennemført (se driftsvejledning for detaljer om migrering).
Deployment
Denne sektion beskriver deployment processen.
Konfiguration af properties
Der kræves forskellige property-filer afhængigt af om der er tale om deployment på dNSP/cNSP eller Backoffice. Hvis der deployes på NSP, skal der være en brs-frontend.properties til rådighed, og hvis der deployes til Backoffice, skal der være en brs-backend.properties til rådighed.
I Backoffice-miljøet placeres brs-backend.properties i Wildfly 8’s standalone/configuration folderen til Wildfly. Tilsvarende placeres brs-frontend.properties i samme folder i NSP-miljøerne.
Konfiguration af logging
I filen standalone/configuration/standalone.xml indsættes en logging-profil.
På NSP/frontend indsættes følgende under ”logging-profiles”
Code Block |
---|
<logging-profile name="brs-frontend">
<size-rotating-file-handler name="METRICS-FILE">
<formatter>
<pattern-formatter pattern="%d{dd MMM yyyy HH:mm:ss:SSS} app=%c, logLevel=%p, thread=%t, %m%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="metrics.log"/>
<rotate-size value="10M"/>
<max-backup-index value="5"/>
<append value="true"/>
</size-rotating-file-handler>
<size-rotating-file-handler name="FRONTEND-FILE">
<level name="DEBUG"/>
<formatter>
<pattern-formatter pattern="%d{dd MMM yyyy HH:mm:ss:SSS} app=%c, logLevel=%p, thread=%t, %m%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="brs-frontend.log"/>
<rotate-size value="10M"/>
<max-backup-index value="5"/>
<append value="true"/>
</size-rotating-file-handler>
<size-rotating-file-handler name="FRONTEND-AUDIT-FILE">
<formatter>
<pattern-formatter pattern="%d{dd MMM yyyy HH:mm:ss:SSS} app=%c, logLevel=%p, thread=%t, %m%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="brs-frontend-audit.log"/>
<rotate-size value="10M"/>
<max-backup-index value="5"/>
<append value="true"/>
</size-rotating-file-handler>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="FRONTEND-FILE"/>
</handlers>
</root-logger>
<logger category="audit.dk.nsi.brs" use-parent-handlers="false">
<level name="INFO"/>
<handlers>
<handler name="FRONTEND-AUDIT-FILE"/>
</handlers>
</logger>
<logger category="dk.nsi.brs.common.metrics" use-parent-handlers="false">
<level name="DEBUG"/>
<handlers>
<handler name="METRICS-FILE"/>
</handlers>
</logger>
<logger category="org.hibernate">
<level name="WARN"/>
</logger>
<logger category="org.springframework">
<level name="WARN"/>
</logger>
<logger category="httpclient.wire">
<level name="WARN"/>
</logger>
<logger category="org.apache">
<level name="WARN"/>
</logger>
<logger category="com.sun">
<level name="WARN"/>
</logger>
</logging-profile>
|
På Backoffice/backend laves samme konfiguration, blot angives “backend” i stedet for “frontend”.
Eksempel på opsætning af logning findes i integration/src/test/resources/standalone.xml
Deployment af komponenter
Alle komponenter der skal deployes til Wildfly, skal kopieres til mappen ”standalone/deployments”.
...
hvordan komponenten deployes.
Jenkins
BRS bygges med NSP's Jenkins server via følgende jobs:
- BRS_build - Bygger koden (sker automatisk ved commits)
- BRS_push_snapshot - Pusher det nyeste snapshot image til NSP Docker Registry
NSP er selv ansvarlige for at pushe release versioner af BRS til NSP Docker Registry gennem Jenkins.
Docker
BRS består af to docker images som pushes til NSP Docker Registry under navnene:
- registry.nspop.dk/components/brs/brs-frontend:snapshot
- registry.nspop.dk/components/brs/brs-backend:snapshot
Docker-compose
BRS leveres samtidig som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/src/components/brs/trunk/compose.
Compose folderen indeholder 5 underfoldere:
configuration | Her ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. |
database | Her ville alle de databasefiler som det forventes at driften lægger på en NSP database ligge, hvis der var nogen |
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 BRS 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 af properties
I folderen https://svn.nspop.dk/src/components/brs/trunk/compose/configuration findes følgende konfigurationsfiler:
backend/brs-backend.dev.properties | Konfiguration af brs-backend til udviklingsbrug. |
backend/brs-backend-log4j.xml | Logopsætning af brs-backend. |
backend/brs-backend.properties | Konfiguration af brs-backend. |
backend/crl.skip | Skipliste til certificate revocation tjek. |
backend/properties/Capgemini_Sogeti_Danmark_AS_SOR_FOCES.jks | Keystore til SOR kald. |
backend/properties/module.xml | Module-fil. |
frontend/brs-frontend.dev.properties | Konfiguration af brs-frontend til udviklingsbrug. |
frontend/brs-frontend-log4j.xml | Logopsætning af brs-frontend. |
frontend/brs-frontend.properties | Konfiguration af brs-frontend. |
frontend/crl.skip | Skipliste til certificate revocation tjek. |
frontend/properties/Capgemini_Sogeti_Danmark_AS_SOR_FOCES.jks | Keystore til SOR kald. |
frontend/properties/module.xml | Module-fil. |
sores/* | Konfiguration til brug i udviklersetup. |
Filerne brs-backend.properties og brs-frontend.properties skal tilrettes til de forskellige miljøer hvorpå de installeres. Filerne indeholder en konfiguration der passer i en standalone test konfiguration. Se driftsvejledningen for en beskrivelse af indholdet af filerne.
Konfiguration af logning
Logning konfigureres i log4j-filerne nævnt ovenfor. Se driftsvejledningen for en mere detaljeret beskrivelse af hvad der logges.
Der benyttes en rolling file appender, hvor størrelsen af log filerne og antallet af gemte log filer konfigureres med de to environment variable: LOG_MAX_FILE_SIZE og LOG_MAX_BACKUP_INDEX.
Deployment af komponenter
...
Herunder følger en tabel over komponenter, samt en kort beskrivelse af deres formål.
Komponent | Komponent(er) | Beskrivelse | |||
---|---|---|---|---|---|
brs-backend | replicationservice | Opsamling af behandlingsrelationer til opfølgning fra frontend. | followupservlet | followupjob | Kontrol af opfølgninger til sletning eller oprettelse af alarm-notifikationer. |
Cleanupjob | Sletning af gamle notifikationer. | ||||
brs-frontend | behandlingsrelationsservice | Service til forespørgsel på behandlingsrelationer. | |||
notifikationsservice | Service til hent af notifikationer.Replicationjob | Job til overførsel af behandlingsrelationer til opfølgning til backend. |
Der henvises til driftsvejledningen for yderligere information
...
Når der kommer opgraderinger til en komponent, vil der medfølge releasenotes, der beskriver opgradering, fallback, osv. for den enkelte komponent.
...
Al konfiguration på NSP og Backoffice foregår ved redigering af hhv. brs-frontend.properties og brs-backend.properties, der placeres i standalone/configuration folderen under Wildfly. En skabelon til disse filer findes i integration/src/test/resources. Filerne konfigureres og placeres i standalone/configuration biblioteket på Wildfly.
Bemærk at brs-frontend.properties og brs-backend.properties i visse situationer ”overlapper”, dvs. indeholder ens properties. Dette skyldes bl.a. at funktionalitet til opslag af evidens for en behandlingsrelation findes i både frontend og backend.
For en oversigt over de enkelte properties og deres default-værdier henvises til driftsvejledningen, som også findes under ”docs”.
Whitelisting af services
Adgang til BRS services styres på CVR niveau. Adgang til services kan styres enten via property filen, eller via en lignende konfiguration i whitelist_config tabellen.
...
Start/genstart af komponenterne
Alle komponenter kan genstartes ved ”touch” af de enkelte war filer på Wildfly. Alternativt kan Wildfly genstartes ved at køre kommandoen
...
BRS backend og frontend startes og stoppes med Docker Compose kommandoer.
Standalone test
For en standalone test af BivWSP hentes "compose" folderen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i folderen "test".
NSP Miljø
På et NSP miljø hentes "compose" folderen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i folderen "release".
Ændringslog
Version | Dato | Ændring | Ansvarlig |
---|---|---|---|
0.1 | 2011-06-15 | Initielt dokument | Trifork |
0.2 | 2011-06-21 | Opdatering af databaseoprettelser på NSP og DoDis opfølgningstabeller | Trifork |
0.3 | 2011-07-27 | Opdateret jf. ny struktur med generel notificationsservice. | Trifork |
0.4 | 2011-08-10 | Opdateret dokumentation med GOS services | Trifork |
0.5 | 2011-10-05 | Opdateres dokumentation med CPRABBS service | Trifork |
0.6 | 2011-11-28 | Dokumentation opdateret med whitelist_config tabeloprettelse | Trifork |
0.7 | 2013-10-21 | Opdateret kilde | Trifork |
0.8 | 2014-03-12 | Opdateret med beskrivelse af propertyfil, og detaljer for hver property | Trifork |
0.9 | 2016-09-01 | Opdateret til Wildfly 8 | Trifork |
0.10 | 2016-11-11 | Opdateret logning til profiler | Trifork |
0.11 | 2017-03-09 | Tilrettet BRS2 | Trifork |
0.12 | 2017-03-14 | Rettet betegnelse på NSP-miljøer | Trifork |
0.13 | 2019-07-12 | Dokument fra repository lagt i confluence. Tidligere dokuments indhold var - forkert - arkitektur dokumentet | KvalitetsIT |
0.14 | 2020-07-23 | Opdateret med beskrivelse af docker-setup. | KvalitetsIT |
0.15 | 2020-11-23 | Gennemlæst og foretaget smårettelser (i krav til applikationsserver og operativsystem, hvor Docker er sat som krav) | KvalitetsIT |