Indholdsfortegnelse
Introduktion
Formål
Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af GM-Facade, 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 GM-Facade.
Dokumentets relation til de øvrige dokumenter er beskrevet i dokumentationsoversigten for GM-Facade.
Læsevejledning
Læser forventes at have kendskab til Java, Maven og Spring.
Introduktion til GM-Facade
GM-Facade Snitfladen er defineret i GM-Facade - Guide til anvendere#Adgang%2Cbrugogsnitflader
GM-Facade 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 GM-Facade - Design- og arkitekturbeskrivelse
Opsætning af udviklingsmiljø
I det følgende antages at koden er hentet fra git: https://git.nspop.dk/scm/com/graviditetsmappens-app-facade.git
Krav til software
GM-Facade deployeres til Docker vha. docker compose
Derudover er der krav til de anvendte udviklingsværktøjer:
- Maven 3.6.3 eller højere anvendes.
Bygge komponenten
Man skal bruge Maven til at bygge GM-Facade, hvilket gøres ved at køre kommandoen
mvn package |
Efter byg kan WAR filer findes her:
./service/target/gmaf.war |
Afvikling
Efter byg kan GM-Facade afvikles vha. Docker.
For at starte GM-Facade 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 GM-Facade - Design- og arkitekturbeskrivelse.
Beskrivelse af kildekodens strukturering og design
Kode strukturering
Kildekoden bygges vha Maven, og kildekoden er struktureret som Maven moduler. GM-Facade består af følgende moduler:
| cda-parser | Modul er ansvarligt for at parse indholdet af rå cda-dokumenter til HL7 |
| fhir-generator | Modulet er ansvarligt for oversætte hl7 til Fhir |
| service | Modulet udstiller jakarta ws endpoints til med graviditestmappe relevante dokumenter via en fhir-snitflade |
| integration-test | Modulet indeholder test der kører op mod kørende instans |
Beskrivelse af testsetup
Unittests
JUnit anvendes til implementering af unit tests og kan afvikles som følger:
|
Integrationstests
Integrationstests afvikles med:
|
Dette forudsætter at alle services er startet som angivet i Afvikling
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 |
| 26/6 2025 | Thomas Glæsner | Udfyldt |