Page History
Navitabs | ||
---|---|---|
| ||
Overblik
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-parent
odr-schemas
JAX-WS-artifakt generator genererer Java-klasser ud fra projektets WSDL-filer.odr-service
Selve servicens funktionalitet.- odr-service-wildfly
Wildfly-specifik funktionalitet. odr-datagenerator
Datageneratorkomponent til brug ifm. migrering.- odr-test-data-creator
Datageneratorkomponent til brug ifm. performancetesting.
Ændringslog
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 |
Afvikling af unit-tests
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.
Databasevedligehold
Servicen benytter i udviklingssammenhæng Flyway, hvilket gør at databasen i udviklingsmiljøet automatisk opdateres til gældende version.
XSD-vedligehold
XSDerne der eksporteres og benyttes i servicen ligger i modulet organdonor-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
Opret database via førnævnte SQL-script
For at bygge projektet, foretage unittests samt at bygge war-filer foretages kommandoen: mvn clean install
Bygge WAR filer (Docker)
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:
- En Subversion-klient
Java 8
Maven
- Docker
Gennemfør følgende steps for at bygge WAR filer:
- Klon projektet fra SVN
- Start MariaDB vha. Docker-compose
- docker-compose -f compose/development/docker-compose.yml up odrdb
- Byg projektet
- 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