Komponenter

Dette dokument dækker følgende komponenter på NSP:

Migreringskomponenten, der migrerer opentext data til SQL scripts til indlæsning i nxrg databasen.

Konfiguration

Servicekonfiguration

Grundlæggende konfiguration foregår ved redigering i filen nxrg.properties,  der placeres i følgende WildFly modul:

/pack/wildfly/modules/sds/nxrg/configuration/main/

Moduldefinitionen er at finde i sourcekoden til nxrg under:

/compose/configuration/module.xml

I filen skal følgende properties være definerede:

Property

Beskrivelse

datasource.jndi.name

JNDI navnet på den datasource der giver adgang til NXRG databasen.

liquibase.changelog.fileAngiver den changelog fil som liquibase skal anvende. Property er ikke krævet. Hvis der skal afvikles integrationstest mod det miljø der installeres skal denne sættes til liquibase-changelog-test.xml. Denne kan også sættes via en environmentvariabel i formen liquibase_changelog_file.
nxrg.allowed.mimetypeTilladt MimeType på DocumentEntries i requests til ITI-42, ITI-57 og ITI-61.

log4j konfiguration

Log4j konfiguration findes i samme wildfly modul som servicekonfigurationen

Se yderligere opsætning i installationsvejledningen.

Overvågning

NXRG udstiller en overvågningsside, som findes i listen af komponenter i afsnit 2.

5.1. Fortolkning af HTML overvågningsside

NXRG-overvågningssiden returnerer enten:

5.2. Overvågningstyper

Det overvåges om der kan opnås forbindelse til databasen.

Eksempler på status-sider

200 OK

TODO

203 Non-authoritative Information

TODO

Forretningslogning

NXRG laver forretningslogninger ved hvert kald af de udbudte ITI-services. I det følgende gennemgåes formaterne for hver service.

Alle forretningslogninger ender i en dedikeret logfil nxrg-itiusage.log.

Loglinjen er formatteret som json og alle logninger har følgende indgange:

timestamp: Tidsstempel for loghændelsen

threadId: Trådens navn (hvor iti-servicen blev udført)

category: Hvilken ITI service beskriver linjen?

status: Returstatusværdi for den pågældende service rapporteres i status, mens eventuelle fejl angives i en liste errors.

priority: Loglinjens prioritet (er INFO for forretningslogninger)

Logning for ITI-42

Succesfuldt kald til service iti-42 giver anledning til en logningslinje på følgende format:

{
   "timestamp":"25 Jun 2021 11:58:15,468",
   "threadId":"default task-1",
   "priority":"INFO",
   "category":"ITI-42",
   "status":{
      "errors":null,
      "status":"OK"
   },
   "submissionSet":{
      "uniqueId":"5321688553302212937.6611016525576425327.1624615095422"
   },
   "documentEntries":[
      {
         "entryUUid":"urn:uuid:608ce70e-db4b-4ced-98d6-58cdbba16a14",
         "replacesEntryUuid":null
      }
   ]
}

Iti-42 logninger har følgende egenskaber:

submissionSet: Identifikation (uniqueId) af det submissionset, der indeholder informationen i iti-42 kaldet.

documentEntries: En liste af entryUUid'er, der oprettes. Hvis en documentEntry i kaldet giver anledning til replace på en anden documentEntry, så angives dette uuid i egenskaben replacesEntryUuid.

Logning for ITI-18

Succesfuldt kald til service iti-18 giver anledning til en logningslinje på følgende format:

{
   "timestamp":"25 Jun 2021 12:50:40,929",
   "threadId":"default task-1",
   "priority":"INFO",
   "category":"ITI-18",
   "status":{
      "errors":null,
      "status":"OK"
   },
   "queryType":"urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d",
   "returnType":"LeafClass",
   "numberOfResults":5
}

Iti-18 logninger har følgende egenskaber:

queryType: Identifikation typen af query.

returnType: Definerer, hvilken type af objekter, der returneres fra servicen

numberOfResults: Antallet af documententries i svaret


Logning for ITI-57

Succesfuldt kald til service iti-57 giver anledning til en logningslinje på følgende format:

{
   "timestamp":"11 Aug 2021 13:41:07,202",
   "threadId":"default task-1",
   "priority":"INFO",
   "category":"ITI-57",
   "status":{
      "status":"OK",
      "errors":null
   },
   "updateOperationName":"UpdateDocumentEntryAvailabilityStatus",
   "updatedObjectUuid":"urn:uuid:7a2bf9c1-3603-46fe-9b22-4d25e4c01192"
}

Iti-57 logninger har følgende egenskaber:

updateOperationName: Typen af opdatering

updatedObjectUuid: UUID der er opdateret.

Migreringstool

Migreringstoolet læser opentext data fra en Mariadb og producerer opdateringsscripts til indlæsning i NXRG databasen.

Migreringstoolet leveres som et Docker image og containeren kan startes som følger

docker run --env migrationpath=/migrationoutput/ --volume /mymachine/output/run1:/migrationoutput registry.nspop.dk/components/nxrg-migration:snapshot

Migreringstoolet output'er SQL scripts. Outputsti til scripts kan sættes med en env variabel som vist ovenfor og volume mount til hostmaskinen som vist ovenfor.

Andre env, der kan sættes:

ENVBeskrivelseEksempel
opentext_data_urlURL til databasen med opentext datajdbc:mysql://localhost:3307/opentext
opentext_data_userBruger til opentext databasenopentext
opentext_data_passPassword for brugeropentext
migrationfilesizeAntal inserts statements per migreringsfil100000


Migreringsverifikationstool

Som beskrevet i NXRG - Design- og arkitekturbeskrivelse kan der efter en migrering foretages hhv

Disse to processer er implementeret som en del af NXRG og kan afvikles med følgende kommando

docker run --env filepath=/fileoutput/ --volume /mymachine/output/run1:/fileoutput registry.nspop.dk/components/nxrg-migration-verification:snapshot validation
docker run registry.nspop.dk/components/nxrg-migration-verification:snapshot verification

Env, der kan sættes i forbindelse med validering:

ENVBeskrivelseEksempel
nxrg_data_urlURL til databasen med NXRG datajdbc:mysql://localhost:3307/nxrg
nxrg_data_userBruger til NXRG databasennxrg
nxrg_data_passPassword for brugernxrg
filepathDer, hvor listerne med cpr numre gemmes som .txt/fileoutput/


Env, der kan sættes i forbindelse med verifikation:

ENVBeskrivelseEksempel
nxrg_iti18_urlurl til NXRG iti-18 snitfladehttps://nxrg.nspnxrg.medcom.dk/nxrg/iti18
opentext_iti18_urlurl til OpenText iti-18 snitfladehttps://test1-cnsp.ekstern-test.nspop.dk:8443/registry/services/xds-iti18






Cleanup job

Cleanup job sletter DocumentEntries og tilhørende objekter fra NXRG databasen som er ældre end en specificeret dato.


Servicekonfiguration

Cleanup jobbet har følgende properties der kan sættes:

PropertyBeskrivelseDefault hvis ikke sat
delete.after.daysHvor gamle dokumenter i Registry skal være, før de slettes2 år
delete.type.codeType Code på de dokumenter der slettes (Her er aftale = "39289-4")39289-4
delete.output.dirDirectory hvor output filer placeret/cleanup-output


Brug af service

Servicen udstiller to HTTP endpoints:

som kan interageres med eks. med curl

curl http://localhost:8060/nxrg/cleanup/status


Logning

Cleanup job logger på standardout vha. log4j. Jobbet vil ved kørsel udskrive følgende INFO statements ud:

Konfigurationsparametre:

Søgning:

Sletning


Output

Efter kørsel af jobbet vil der blive placeret filer i det konfigurerede output bibliotek svarende til dokumenter der skal slettes i XDS repository. Der genereres een fil pr Repository der skal slettes dokumenter i.

Navngivningen på filen/filerne vil være:

Hvor "ddMMyyyyHHmm" svarer til det tidspunkt, hvor jobbet blev startet, og repositoryId er OID på det repository der skal slettes dokumenter i.