Page History
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.2 | 20-09-2018 | Openminds | Yderligere 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
- MinLog2
- 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
|
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 |
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 |
Ø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.