1. Indholdsfortegnelse

2. Introduktion

2.1. Formål

Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af MHD, kan sættes op, samt hvordan koden bygges, deployes og testes.

Først beskrives de softwaremæssige krav, der er til miljøet, samt hvordan kode hentes og bygges. Dernæst beskrives deployment-miljøet.

Kodestrukturen, kodemæssige afhængigheder til tredjeparts moduler og de forskellige servicemodulers ansvar og design beskrives sidst i dette dokument sammen med testdesign.

2.2. Sammenhæng med øvrige dokumenter

Dette dokument er en del af den samlede dokumentation for MHD.

Dokumentets relation til de øvrige dokumenter er beskrevet i dokumentationsoversigten for MHD.

2.3. Læsevejledning

Læser forventes at have kendskab til Java, Maven, Wildfly, Spring og NSP Access Handler.

2.4. Introduktion til MHD

MHD Snitfladen er defineret i MHD - Adgang, brug og snitflader

MHD er en Java-baseret komponent, der baserer sig på Java 21, WildFly 34.0.0 som applikationsserver, og anvender Jakarta Web Services (Jakarta WS) til eksponering af webservice-endpoints.

Design og arkitektur er beskrevet i MHD - Design- og arkitekturbeskrivelse

3. Opsætning af udviklingsmiljø

I det følgende antages at koden er hentet fra git: https://git.nspop.dk/scm/com/mobile-access-to-health-documents.git

3.1. Krav til software

MHD deployeres til Docker via docker compose:

Derudover er der krav til de anvendte udviklingsværktøjer:

  • Maven 3.6.3 eller højere anvendes.

3.2. Bygge komponeten

Man skal bruge Maven til at bygge MHD, hvilket gøres ved at køre kommandoen

mvn package


Efter byg kan WAR filer findes her:

./service/target/mhd.war

4. Afvikling

Efter byg kan MHD afvikles vha. Docker. For at starte MHD afvikles følgende kommando:


./docker-compose -f compose/development/docker-compose.yml build --pull

./docker-compose -f compose/development/docker-compose.yml up -d

4.1. Beskrivelse af systemdesign

Systemdesign er beskrevet i MHD - Design- og arkitekturbeskrivelse.

5. Beskrivelse af kildekodens strukturering og design

5.1. Kode strukturering

Kildekoden bygges vha Maven, og kildekoden er struktureret som Maven moduler. MHD består af følgende moduler:

common Indeholder kode fælles for moduler bl.a.  konfiguration og af komponenten  
dds-client Indeholder kode til at tilgå dokument delings service (dds)
service Indeholder kode til udstilling af end points
integration-test Indeholder test der kræver en kørende instans

5.2. Beskrivelse af testsetup

5.3. Unittests

JUnit anvendes til implementering af unit tests og kan afvikles som følger:

mvn test


5.4. Integrationstests

Integrationstests afvikles med:

 mvn verify -P integration-tests -Dtest.url=http://localhost:8084 -Ddros.url=http://test1.ekstern-test.nspop.dk:8080/decoupling/nspservices/gm

Hvor følgende gælder:

test.url Adresse på MHD'en some man ønsker at integrationstests skal udføres mod. 
dros.url Adresse på Dynamisk Request Generator, som benyttes af integrationstesten til at oprette relevante dokumenter i DDS, hvis disse ikke i forvejen eksisterer.

Hvis man ønsker af afvikle testen op mod en andet miljø f.eks. test1 eller test2, kan man angive det ved at ændre test url

6. Dokument Historik

3/4 2025 Martin Henriksen/SDS Etablering af dokumentation
27/6 2025 Thomas Glæsner Udfyldt
  • No labels