Indholdsfortegnelse
Introduktion
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.
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.
Læsevejledning
Læser forventes at have kendskab til Java, Maven, Wildfly, Spring og NSP Access Handler.
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
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
Krav til software
MHD deployeres vha. ...
Derudover er der krav til de anvendte udviklingsværktøjer:
- Maven 3.6.3 eller højere anvendes.
Bygge komponeten
Man skal bruge Maven til at bygge MHD, hvilket gøres ved at køre kommandoen
|
Efter byg kan WAR filer findes her:
|
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 |
Beskrivelse af systemdesign
Systemdesign er beskrevet i MHD - Design- og arkitekturbeskrivelse.
Beskrivelse af kildekodens strukturering og design
Kode strukturering
Kildekoden bygges vha Maven, og kildekoden er struktureret som Maven moduler. MHD består af følgende moduler:
| conf | Indeholder kode relateret til konfiguration af komponenten |
| schemas | Indeholder snitfladen til dokument delings service (dds) |
| 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 |
Beskrivelse af testsetup
Unittests
JUnit anvendes til implementering af unit tests og kan afvikles som følger:
|
Integrationstests
Integrationstests afvikles med:
|
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
Dokument Historik
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 27/6 2025 | Thomas Glæsner | Udfyldt |