Introduktion

Formål

Dette dokument beskriver hvordan man kommer i gang med at tilpasse eller videreudvikle IDSAS.

Læsevejledning

Læser forventes at have kendskab til Java softwareudvikling med anvendelse af Maven og WildFly. Derudover forventes kendskab til docker-compose.

Opsætning af udviklingsmiljø

Projektet ligger som nspop git-repository på følgende adresse: https://git.nspop.dk/projects/COM/repos/identitetsloering-af-ansatte-i-det-danske-sundhedsvaesen/browse

Det er udviklet i Java 8 og bygges med maven.

mvn package

Afvikling

Maven bygger bl.a. en war fil, som kan deployes med docker compose. Dette gøres lokalt med kommandoen:

docker-compose -f compose/development/docker-compose.yml up --build

Herefter vil IDSAS services være tilgængelig på http://localhost:8080/idsas

Det er også muligt at sætte en remote debugger op på port 5050.

Projektstruktur

Projektet består af følgende dele:

composeIndeholder docker-compose setuppet og konfiguration til afvikling
idsas-apiIndeholder definitaioner af service snitflader
idsas-integration-testsIndeholder alle integrationstests
idsas-serviceIndeholder forretningslogikken for IDSAS services
idsas-webIndeholder implementationen af web applikationen

Database

Databasemodellen styres ved hjælp af liquibase. Det betyder at når der skal laves ændringer til databasen, så må man ikke rette i de eksisterende skemafiler. I stedet skal der laves nye filer der beskriver ændringerne.

Skemaændringer

Skal der tilføjes f.eks. en ny kolonne eller en ny tabel, skal nedenstående gøres:

  1. Der oprettes SQL fil(er) i folderen compose/configuration/database/ddl til at foretage ændringerne.
  2. Der oprettes en ny fil i folderen compose/configuration/database/ddl. Filen skal navngives liquibase-changelog-x.y.z.xml hvor x, y og z er det versionsnummer du forventer at release komponenten som. Herfra refereres til de nyoprettede SQL filer.
  3. Filen fra punkt 1 tilføjes compose/configuration/database/liquibase-changelog-master.xml.

Testdata

Opstår der en situation hvor der skal tilføjes yderlige testdata for at integrationstesten kan afvikles skal nedenstående udføres.

  1. Der oprettes SQL fil(er) i folderen compose/configuration/database/ddl til at foretage ændringerne.
  2. Der oprettes en ny fil i folderen compose/configuration/database/test. Filen skal navngives liquibase-changelog-test-x.y.z.xml hvor x, y og z er det versionsnummer du forventer at release komponenten som. Herfra refereres til de nyoprettede SQL filer.
  3. Filen fra punk 1 tilføjes compose/configuration/database/liquibase-changelog-test.xml