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.132019-25-09AjourførtTrifork
1.0.162020-05-25Tilføjet byg vha. DockerKIT

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:

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:

  1. Klon projektet fra SVN

  2. Opret database via førnævnte SQL-script

  3. 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:

  1. Klon projektet fra SVN
  2. Start MariaDB  vha. Docker-compose
    • docker-compose -f compose/development/docker-compose.yml up odrdb
  3. 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


  • No labels