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.
Dette dokument er en del af den samlede dokumentation for MHD.
Dokumentets relation til de øvrige dokumenter er beskrevet i dokumentationsoversigten for MHD.
Læser forventes at have kendskab til Java, Maven, Wildfly, Spring og NSP Access Handler.
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
I det følgende antages at koden er hentet fra git: https://git.nspop.dk/scm/com/mobile-access-to-health-documents.git
MHD deployeres vha. ...
Derudover er der krav til de anvendte udviklingsværktøjer:
Man skal bruge Maven til at bygge MHD, hvilket gøres ved at køre kommandoen
|
Efter byg kan WAR filer findes her:
|
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 |
Systemdesign er beskrevet i MHD - Design- og arkitekturbeskrivelse.
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 |
JUnit anvendes til implementering af unit tests og kan afvikles som følger:
|
IntegrationstestsIntegrationstests 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
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |
| 27/6 2025 | Thomas Glæsner | Udfyldt |