Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
outlinetrue

Introduktion

Formål

Registry Deletion Job (RegJob) foretager en XDSCleanup-servicen foretager sletning af dokumentmetadata og dokumenter fra et Aftale Registry. NXRG og OpenXDS.

Formålet med dette dokument er at beskrive systemarkitekturen for RegJobXDSCleanup. 

Læsevejledning

Nærværende dokument er tiltænkt udviklere og IT-arkitekter med interesse i anvendelsen af RegJobXDSCleanup

Dokumenthistorik

Version

Dato

Ansvarlig

Beskrivelse

0.81

0925.0102.2012022

KvalitetsIT

Initiel udgave

Introduktion til

...

XDSCleanup

Overblik over løsningen

...

XDSCleanup-servicen giver mulighed for

...

Programmet er et java-program, som køres fra kommando-linjen (hvor det læser konfiguration ind fra en property-fil) og outputter de dokument-ID´er der er blevet slettet i en eller flere filer, på en sådan måde at disse filer kan anvendes som output for Repository Deletion Job.

Fremsøgningen af hvilke dokumenter der skal slettes foretages med et XQuery på XDB (da der ikke findes ITI-snitflader der understøtter den ønskede søgning) hvorimod selve sletningen foretages vha. snitfladen ITI-62, for at sørge for at data forbliver konsistente

Designbeslutninger

...

at slette dokumentmetadata fra NXRG-registry'et, og efterfølgende slette de tilsvarende dokumenter i Opentext-repository'et. Servicens sammenhæng med andre relevante komponenter er vist i nedenstående diagram.

Gliffy Diagram
macroId9e6be21f-b8ed-4c47-9b52-b442d3f61d88
displayNameoverblik
nameoverblik
pagePin2


Diagrammet viser to databaser: Metadata, som er den database der vedligeholdes og ejes af NXRG, og Dokumenter, som er den database der vedligeholdes og ejes af OpenXDS. Som det fremgår af diagrammet, fungerer XDSCleanup ved at læse/skrive direkte i disse databaser, og altså ikke gennem ITI-snitfladerne.

Løsningsdesign

XDSCleanup er implementeret på NSP-platformen, og udstiller et antal servlets som kaldes af driften. Detaljer om disse snitflader findes i driftsvejledningen. Meningen er at oprydningssnitfladen kaldes med jævne mellemrum, hvilket vil udvælge et antal dokumenter til sletning, og derefter slette dem.

Der skrives til applikationsloggen, hvad der bliver slettet. Det er dokumenteret i større detalje i driftsvejledningen hvad der logges.

Afkobling af sletninger

Sletningen foregår i to trin: Først slettes dokumentmetadata i NXRG, og derefter slettes selve dokumentet i OpenXDS. De to skridt kan i princippet foregå på forskellige tidspunkter. Når dokumentemetadata er slettet i NXRG, bliver dette skrevet til en tabel over slettede metadata, hvorefter sletningen fra OpenXDS foregår med udgangspunkt i tabellen over slettede metadata.

Konfiguration af sletninger

XDSCleanup-servicen konfigureres med et oprydningskriterier, som beskriver hvilke dokumenter der skal slettes hvornår. Et oprydningskriterium består af en dokumenttype og en dokumentalder i måneder. Ved kørsel bliver der for hver specifikation udvalgt et antal dokumenter, som har den  angivne type, og er ældre end den maksimale alder. Herefter slettes disse dokumenter.

Beregning af dokumentalder

Alderen for et dokument beregnes ved først at kigge på attributten ServiceStartTime, og hvis denne ikke findes, så i stedet på CreationTime, som er en påkrævet attribut. Hvis dokumentets alder er større end det konfigurerede antal måneder, så slettes dokumentet.

Data der slettes i NXRG og OpenXDS

I NXRG slettes data i følgende tabeller:

  • documententries - her slettes de indgange, der er udvalgt ud fra dokumenttype og alder.
  • associations - her slettes de indgange, der refererer til et DocumentEntry der skal slettes.
  • submissionsets - her slettes de submissionsets, der havde været tomme efter sletning fra documententries.

Der slettes desuden data fra de såkaldte 'content'-tabeller, som indeholder en xml-repræsentation af ovenstående objekter, samt fra et antal tabeller, som indeholder documententry-attributter med multiplicitet >1.

NB: Der slettes pt. ikke documententries, som er relateret til de slettede documententries gennem associations-tabellen. Med relateret objekt menes f.eks. et dokument, som er en tilføjelse til et andet dokument (gennem en APPEND-association), et dokument som er en erstatning for et andet dokument (gennem en REPLACE-association), osv. Disse dkumenter vil dog blive slettet på et andet tidspunkt, såfremt XDSCleanup-servicen konfigureres til det.

I OpenXDS slettes data i følgende tabeller:

  • repository - her slettes dokumenter med uniqueid, der matcher et slettet documententry i NXRG.


Fejlhåndtering



Anvendelse af XDB Query til fremsøgning af dokumenter der skal slettes

...