Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootStamdatamodul (SDM)
firsttabRegisterudtrækservices (SDM)
includeroottrue


Table of Contents

...

Formål

Nærværende dokument er en guide til nye udviklere af stamdataservicen på NSP. Guiden gennemgår på overordnet plan de aktiviteter, der er nødvendige for at kunne videreudvikle stamdataservicen.

     Metode Metode og rapportens opbygning

Efter nærværende introduktion vil dokumentet gennemgå de væsentligste dele af opsætningen af et lokalt udviklingsmiljø og afvikling af test.

...

Markering af referencer til filer.

     Målgruppe Målgruppe og læsevejledning

Den primære målgruppe for dokumentet er systemudviklere.

...


System design

Hver NSP komponent er designet som en Servlet 2.4 web-applikation og benytter Guice til dependency injection.

...

Hvert modul indeholder en ApplicationContextListener.java fil der fungerer som entry-point til applikationen. Det anbefales, at man som ny udvikler på projektet kigger koden igennem med denne fil som udgangspunkt.

     SealSeal

Stamdataservicen benytter Seal.java til håndtering af forespørgsler og svar i webservice snitfladen.

Derudover er XercesImpl også fjernet, da den på tilsvarende måde konflikter med Wildfly[1].

     PropertiesProperties

Stamdataservicen benytter Guice til konfigurationsstyring. Konfiguration styres via filen config.properties, der pakkes sammen med WAR-filen.

Importeren styres af historiske årsager stadig via en statisk klasse (Configuration.java).

...

Opsætning af udviklingsmiljø

Opsætningen af udviklingsmiljøet for stamdataservicen forudsætter, at følgende elementer allerede er installeret på udviklerens maskine:

...

  • Java Developer Kit (JDK 8)
  • Et passende udviklingsmiljø
  • Maven 3.x
  • Docker 18.x (testet med 18.09.7)

     KildekodeKildekode

Kildekoden er placeret i SVN:

https://svn.nspop.dk/svn/components/sdm/


     Byggemiljø

Stamdataprojektet anvender Maven som byggesystem [MAVEN]. Strukturen følger de generelle anbefalinger for Maven projekter, og er struktureret med en parent pom.xml og en projekt pom.xml fil for hvert underprojekt.

...

Projektet bygges (og tests afvikles) med følgende kommando:

mvn clean install

    Database setup

Som en del af docker-compose setuppet for projektet, startes en MariaDB container op, og en database initialiseres.

...

Bemærk at der ved afvikling af tests anvendes en in-memory H2-database, og til dette er det derfor ikke nødvendigt at starte en lokal database op. 

     Autogenereret Autogenereret kode

Start med at køre følgende:

...

<CPR-modul>/…/WEB-INF/sun-jaxws.properties


    Unit Tests

Installationen kan verificeres ved at eksekvere stamdataservicens test suite.

...

Kode konventionerne følger reglerne defineret i filen:

config/checkstyle.xml


   IDE

Stamdataservicen kan principielt udvikles i enhver Java IDE, der forstår Maven projekters opbygning.

...

Obs! Denne metode kræver dog, at kommandoen udføres hver gang man ændrer i pom filerne.

     DistributionDistribution

Mavens release plugin anvendes til at lave releases:

mvn org.apache.maven.plugins:maven-release-plugin:2.5.3:prepare

...

Referencer og kilder

Reference-id

Indhold / Overskrift

Henvisning

[MAVEN]

Welcome to Apache Maven

http://maven.apache.org/

[BRS-guide til anvendere]

Guide til anvendere

Ligger i doc bibliotek i en BRS release

[BRS-driftvejledning]

Driftvejledning

Ligger i doc bibliotek i en BRS release

...