1. Indhold

2. 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".

2.1. 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.

2.2. 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



2.3. Definitioner og forkortelser

Definition

Beskrivelse

NSP

Den nationale service platform (inden for sundheds-IT)


3. 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ø.

4. 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.

5. 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 2 undermoduler
├── lookup
│   ├── lookup-core
│   ├── lookup-ear
│   └── lookup-ws
├── registration
│   ├── registration-core
│   ├── registration-war
│   └── registration-ws

5.1. Lookup

Dette modul håndterer opslag udstillet som webservice og der er overvågningservices til rådighed.

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

5.2. Lookup-idws

Dette modul håndterer opslag udstillet som webservice og der er overvågningservices til rådighed.

Webservicen er beskrevet i en wsdl fil (contract first) og på baggrund af denne dannes java klasser med CXF. Vær opmærksom på at sikkerhed på denne service er defineret vha. WS-Policy.

5.2.1. Core

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

Indeholder service (forretningskode) og domain delene.

5.2.2. WS

Indeholder webservice implementeringen.

5.2.3. War

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

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

5.3. Shared

Shared ligger i roden af projektet side om side med jee. Den indeholder komponenter, der på den ene eller anden måde er delt mellem registration, lookup og consumer.

Nedenfor beskrives indholdet af de enkelte komponenter.

5.3.1. 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.

5.3.2. Shared-ws

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

5.3.3. shared-db

Fælles kode til skrivning af log entries til database.

5.3.4. shared-domain-api

Objekter, der udveksles via Kafka.

5.3.5. Shared-test

Dette modul har to formål

  • Benyttes til afvikling af integrationtests
  • Indeholder kode til dannelse af IDCard (wsse header), dels kode til dannelse og eksekvering af webservicerequests.

Anvendelsen af dette er beskrevet i dokumentet "testvejledning".

5.3.6. Shared-test-idws

Som shared-test anvendes dette modul delse i forbindelse med afviklingen af integrationtests, dels til generering af klient kode og eksekvering af webservicerequests.

Anvendelsen af dette er beskrevet i dokumentet "testvejledning".

  • No labels