Overblik
Dette dokument beskriver projektstrukturen i Stamkortregister-servicen og har derudover til formål at gøre det muligt for andre end den oprindelige leverandør at overtage videreudvikling af projektet. Dokumentet bygger videre på informationen beskrevet i de andre dokumenter tilhørende projektet.
Projektet er opbygget som et Maven multi-module project, hvor nogle moduler kompilerer til jar-filer og andre til war-filer. De nævnes her i den rækkefølge de kompileres:
- skr-parent
skr-schemas
JAX-WS-artifakt generator genererer Java-klasser ud fra projektets WSDL-filer.skr-service
Selve servicens funktionalitet.skr-test
Integrationstests.
Ændringslog
Version | Dato | Ændring | Ansvarlig |
---|---|---|---|
1.0.0 | 2018-09-11 | Initialt dokument | Trifork |
1.0.12 | 2019-25-09 | Ajourført | Trifork |
Afvikling af unit-tests
I application.properties-filen i projektet er datasources som default sat til at anvende root-user med tomt password. Database-strukturen bliver automatisk oprettet i en in-memory H2 database, når unit-testene afvikles.
Projektet bygges og unit tests afvikles med følgende Maven kommando:
mvn clean install
Der genereres desuden en testrapport.
XSD-vedligehold
XSDerne der eksporteres og benyttes i servicen ligger i modulet skr-schema. Der genereres JAXB-klasser som defineret i modulets pom.xml
Adgange
Der er behov for adgange til følgende systemer:
- NSP SVN-repository
- Dependencies trækkes fra NSP's Nexus-repository: https://nexus.nspop.dk
Opsætning af udviklingsmiljø
Al kode findes i NSP SVN.
Efter at projektet er checket ud vil man typisk gøre følgende:
Opsætte udviklingsmiljø (her antages IntelliJ)
Bygge war-filen med Maven og køre tests
Bygge WAR filer
Følgende software er nødvendigt for at bygge projektet
En Subversion-klient
Java 8
Maven
Gennemfør følgende steps for at bygge WAR filer:
Klon projektet fra SVN
For at bygge projektet, foretage unittests samt at bygge war-filer foretages kommandoen: mvn clean install
Deployment med Docker
Når man udvikler kan det være praktisk at deploye applikationen lokalt. Dette kan gøres vha. Docker Compose-filen under compose/development/docker-compose.yml.
docker-compose up -d --build