1. Indholdsfortegnelse

2. Introduktion

2.1. Formål

Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af DPA, 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 DPA.

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

2.3. Læsevejledning

Læser forventes at have kendskab til Java, Maven og Spring.

2.4. Introduktion til DPA

DPA Snitfladen er defineret i en wsdl-fil og tilhørende xsd-filer i /schemas/src/main/resources/wsdl.

DPA er Java baserede komponenter, der baserer sig på Java 21 og Spring frameworket.

Design og arkitektur er beskrevet i DPA - 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/digital-post-adapter.git

3.1. Krav til software

DPA deployeres vha. Docker.

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 DPA, hvilket gøres ved at køre kommandoen

mvn package


Efter byg kan WAR filer findes her:

./service/target/digital-post-adapter.war

4. Afvikling

Efter byg kan DPA afvikles vha. Docker.

For at starte DPA afvikles følgende kommando:

cd compose/development
docker compose up -d 


Når DPA er startet, svarer den på:

4.1. Beskrivelse af systemdesign

Systemdesign er beskrevet i DPA - 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. DPA består af følgende moduler:

integrationtest Indeholder integrationstest af servicen
schemas Indeholder snitfladen
service Indeholder selve servicen

5.2. Beskrivelse af testsetup

5.3. Unittests

JUnit anvendes til implementering af unit tests. Der er kontinuert gennemført unit tests på alle komponenter i projektet.

Unit tests afvikling under byg vha Maven, og kan afvikles ved at køre:

mvn test

Hvis der derimod laves en verify, så vil der også blive genereret code coverage, hvor fremkommende rapport kan ses i testreport/target/site/jacoco-aggregate/index.html

5.4. Integrationstests

Integrationstests ligger i modulet integrationtest og kan afvikles med:

mvn verify -pl integrationtest -Pintegration-test

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 henvises til DPA - Testvejledning.

6. Dokument Historik

3/4 2025 Martin Henriksen/SDS Etablering af dokumentation
6/6 2025 Markus Andreassen/Trifork Udfyldelse af dokumentation
  • No labels