Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootOrgandonorregister-service (ODR)


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-migration
      Migreringskomponent.test-data-creatorodr-datagenerator
      Datageneratorkomponent til brug ifm. migreringperformancetesting.
    • odr-
    • test-data-creator
      Datageneratorkomponent til brug ifm. performancetesting.

...

    • common
      Indeholder fælles funktionalitet der deles af de øvrige maven moduler.
    • odr-operations
      Indeholder de indbyggede baggrundsjobs
    • odr-integrations
      Indeholder funktionalitet til at kalde de services der benyttes af servicen.


Æ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

...

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.

Datasourcen i testafviklingen auto-konfigureres vha. Spring Boot som anvender database-credentials fra odr-service/src/test/resources/application.properties.

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.Git: https://git.nspop.dk/scm/com/organdonorregister-service.git

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

  • MariaDB

Gennemfør følgende steps for at bygge WAR filer:

  1. Installér og start MariaDB

  2. Klon projektet fra SVN

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

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

...

:

  • Git
  • Java 8

  • Maven

...

Gennemfør følgende steps for at bygge WAR filer:

  1. Klon projektet fra

...

  1. Git

    ...

    ...

    ...

    ...

    1. 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.

    Code Block
    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
    displayNamenotificationjob structure
    namenotificationjob structure
    pagePin4