1       Introduktion

1.1           Formål

Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø, til videreudvikling af registry deletion job (herefter RegJob) , kan sættes op, samt hvordan koden bygges, deployes og testes.


1.3           Læsevejledning

Læser forventes at have kendskab til Java softwareudvikling med anvendelse af Maven.

1.4           Dokumenthistorik

Version

Dato

Ansvarlig

Beskrivelse

0.8

09-01-2018KvalitetsITInitiel udgave

2       Introduktion til RegJob

RegJob er et simpelthen main-program, der kalder to services; en service til at foretage et opslag i XDB-databasen for at finde dokumenter der skal slettes, og en service til at foretage sletningen via ITI-snitfladerne 
RegJob er en Java baseret komponent, der baserer sig på Java 8 og Spring frameworket. Der anvendes Spring Boot som konfiguration og konventionsværktøj omkring Spring Frameworket.

Design og arkitektur er beskrevet: RegJob - Design og arkitektur.

3       Opsætning af udviklingsmiljø

I det følgende antages at koden er hentet ned fra nspop SVN.

3.1           Krav til software

Java 8 og Maven 3.0.3 eller højere anvendes.

3.2      Bygge JAR filen

Man skal bruge Apache Maven til at bygge RegJob, hvilket gøres ved at køre kommandoen
$ mvn clean install
I ”target” folderen vil der efterfølgende ligge en kompileret JAR fil ved navn

registrydeletionjob-0.0.1-SNAPSHOT.jar

5       Beskrivelse af systemdesign

Systemdesign er beskrevet i RegJob - Design og arkitektur.

6        Beskrivelse af kildekodens strukturering og design

6.1           Kode strukturering

Kildekoden bygges vha Apache Maven, og kildekoden er struktureret som Maven moduler, som vist
nedenfor.
├── registrydeletionjob
│   ├── config
│   ├── pom.xml
│   └── src
│   └── dependencies

”dependencies" indeholder her "xhive.jar", som indeholder API til at kommunikere med XDB.

"config" indeholder en eksempel-opsætning på en property fil, som skal være på classpath ved kørsel af den færdigbyggede jar-fil.

6.2      Generelt design af RegJob

RegJob består af følgende centrale klasser:

  • XHiveService: Henter liste af uuid på de dokumenter der skal slettes v.h.a. XQuery på XDB. 
  • AppointmentXdsRequestService : Håndterer kommunikation med ITI-snitfladerne:
    • ITI-18: GetAssocationsQuery - For at hente associationer til dokument, disse er krævet input til ITI-62  
    • ITI-18: GetDocumentsQuery - For at hente metadata om dokument (uniqueID og repositortID), disse skal bruges for at slette dokument fra repository
    • ITI-62: RemoveObjectsRequest - For at slette dokumentet
  • Application: Mainklasse der først foretager opslag vha. XHiveService, derefter sletter dokumenter vha. AppointmentXdsRequestService, og til sidst outputter slettede dokumenter i en fil

7       Beskrivelse af testsetup

7.1      Unittests (JUnit)

JUnit anvendes til implementering af unit tests. Der er kontinuert gennemført unit tests på alle komponenter i projektet.

Unit tests kan afvikles ved at køre:

mvn test

7.2           Integrationstests (Failsafe)

Maven Failsafe plugin anvendes til gennemførelse af integrationstests af samtykkewebservices.

Integrationstestene af samtykkeadministration er afhængige af at Min-log-registreringsservicen er deployet.

Det nødvendige testdata læses automatisk på af maven-scriptet, inden integrationstestene afvikles.

Integrationstests kan afvikles ved at køre:

mvn verify –Pexternal-test


  • No labels