Dette dokument beskriver projektstrukturen i Organdonorregister-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:
odr-schemas
JAX-WS-artifakt generator genererer Java-klasser ud fra projektets WSDL-filer.
odr-service
Selve servicens funktionalitet.
odr-datagenerator
Datageneratorkomponent til brug ifm. migrering.
Version | Dato | Ændring | Ansvarlig |
---|---|---|---|
1.0.0 | 2018-08-30 | Initialt dokument | Trifork |
1.0.13 | 2019-25-09 | Ajourført | Trifork |
1.0.16 | 2020-05-25 | Tilføjet byg vha. Docker | KIT |
Projektet bygges og unit tests afvikles med følgende Maven kommando:
mvn clean install
Der genereres desuden en testrapport.
Ved afvikling af unit-tests, anvendes en in-memory database, som automatisk startes op, når unit-tests køres. Det er derfor ikke nødvendigt at starte en ekstern database op ifm. unit-test.
I application.properties-filen i projektet er datasources som default sat til at anvende root-user med tomt password. Database-strukturen bliver automatisk oprettet vha. Flyway SQL-scripter, når unit-testene afvikles.
Servicen benytter i udviklingssammenhæng Flyway, hvilket gør at databasen i udviklingsmiljøet automatisk opdateres til gældende version.
XSDerne der eksporteres og benyttes i servicen ligger i modulet organdonor-schema. Der genereres JAXB-klasser som defineret i modulets pom.xml
Der er behov for adgange til følgende systemer:
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
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
Opret database via førnævnte SQL-script
For at bygge projektet, foretage unittests samt at bygge war-filer foretages kommandoen: mvn clean install
Et alternativ måde at bygge war filerne på, hvor kan man bl.a. bruger Docker-compose setup.
Følgende software er nødvendigt for at bygge projektet:
Java 8
Maven
Gennemfør følgende steps for at bygge WAR filer:
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