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.
...
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 |
...
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
...
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
Diagram til overblik
I forbindelse med udvikling af notifiationsjobbet til afsendelse af digital post, er følgende diagram udarbejdet. Det er sat ind her, da det kan bidrage til en forståelse af, hvordan logikken fungerer på tværs af de forskellige operationer jobbet har.
| Gliffy Diagram | ||||||
|---|---|---|---|---|---|---|
|