Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Indhold

Table of Contents

Indledning

Dette dokument beskriver, hvordan MinLog2-løsningen bygges og hvad de forskellige moduler indeholder.

Dokumentet kan med fordel læses sammen med dokumentet "arkitektur_design" for overordnet forståelse. Desuden henvises der undervejs til "testvejledning" og "installationsvejledning".

Læsevejledning

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.220-09-2018OpenmindsYderligere specifikation i forbindelse med borgerservice

1.1

12-12-2017

Openminds

Ny borgerservice

1.0

15-06-2017

Openminds



Definitioner og forkortelser

Definition

Beskrivelse

NSP

Den nationale service platform (inden for sundheds-IT)


Forudsætninger

Udover java (JDK 1.8) og WildFly, så kræver MinLog2 2 databaser for at kunne afvikles lokalt

  1. MinLog2
  2. Stamdata

MinLog2 databasen kan oprettes via script fra sql/initial_schema.sql fra modulet shared-configuration.

Stamdata databasen kan oprettes via script fra sql/stamdata_tables.sql som dog kun opretter de tabeller som er relevant for MinLog2. Det anbefales at importere et databasedump fra feks. et testmiljø.

Byg

MinLog2 er et standard maven projekt og bygges med


mvn clean install


Helt som det er standard fører det til et byg af alle moduler, herunder ear-filer som indeholder den kode, der skal deployes.

Projektet er delt i 2:

├── jee
└── kafka

Maven kan afvikles i de respektive foldere. Som en del af bygget afvikles alle unit-tests. Der er ingen af disse unit-tests, der har afhængigheder til netværk, database eller lignende.

Kafka moduler

Der findes 1 modul - consumer. Dette modul lytter på et kafka topic efter entries til MinLog2. Ved modtagelse indsættes de i databasen.

Modulet er en SpringBoot applikation som bygges på standard maven måden

mvn clean install

Jee moduler

Her er det muligt at få dannet en projektrapport i targetfolderen – herunder coverage (folderen site) – ved at køre

mvn site
mvn site:stage

Der findes 3 undermoduler
├── lookup
│   ├── lookup-core
│   ├── lookup-ear
│   └── lookup-ws
├── registration
│   ├── registration-core
│   ├── registration-ear
│   └── registration-ws
└── shared
├── shared-configuration
├── shared-core
└── shared-test

Registration

Dette modul håndterer registrering af log hændelser udstillet som webservice, overvågningservices til rådighed.

Webservicen er beskrevet i en wsdl fil (contract first) og på baggrund af denne dannes java klasser med CXF.

Core

Indeholder service (forretningskode) og domain delene.

Databasekonfiguration er angivet i en persistence unit, der peger på datasource. Det skal nævnes at registreringer på nuværende tidspunkt udelukkende foretages direkte til den centrale MinLog2 database.

WS

Indeholder webservice implementeringen.

Ear

Artifaktet som kan deployes til JBoss. Find ear-filen i target/.

Databasekonfiguration er angivet i en persistence unit, der peger på datasource.

Shared

Disse moduler er fælles moduler og ikke nødvendigvis en del af den deployede kode.

Shared-configuration

Dette modul gør det muligt at få dannet de filer, der skal være på JBoss serveren. Indeholder primært filer til opsætning af logning og datasources.

Folderen src/main/environments indeholder miljøspecifik konfiguration af disse filer.

Ved at udpege en af disse, når man bygger, kan man på den måde få danne konfigurationsfiler til et givet miljø.
Eksempel:

Byg til test

Tilret /src/main/environments/test.properties
Kør: mvn clean install –Ptest


Ønsker man at føje yderligere miljøer til, skal man blot lave en propertyfil hørende til miljøet og udpege den i pom.xml.

De genererede filer kan efterfølgende findes i target/classes.

Dokumentet installationsvejledning indeholder yderligere information om brugen af disse.

Shared-core

Fælles kode til blandt andet håndtering af sikkerhed, audit, SLA logning og en del utility klasser.

Shared-test

Dette modul anvendes i forbindelse med afviklingen af integrationtests: Dels kode til dannelse af IDCard (wsse header), dels kode til dannelse og eksekvering af webservicerequests.

Anvendelsen af dette er beskrevet i dokumentet "testvejledning".

Shared-test-idws

Dette modul anvendes i forbindelse med afviklingen af integrationtests: Dels til generering af klient kode og eksekvering af webservicerequests.

Anvendelsen af dette er beskrevet i dokumentet "testvejledning.