Page History
...
I produktion består Stamkortregister-servicen af et komponent to komponenter (war-arkivarkiver) der er deployet på en Wildfly applikationsserver:
- skr-service: Selve Stamkortregister-servicen. Denne afhænger af adgang til 2 MariaDB datasources. Desuden afhænger den af at kunne kalde (skrive til) MinLog-servicen og NAS.
- skr-operations: REST-service til baggrundsjobs, som kaldes af driften.
Ændringslog
Version | Dato | Ændring | Ansvarlig |
---|---|---|---|
1.0.0 | 2018-08-31 | Initialt dokument | Trifork |
1.0.11 | 2019-08-02 | Ændret WSDL-stier | Trifork |
1.0.12 | 2019-25-09 | Ajourført | Trifork |
1.0.17 | 2019-08-10 | Ændret SWDL | |
1.0.18 | 2020-10-07 | Opdateret slettejob | KIT |
1.0.19 | 2021-04-13 | Tilføjet NAS | KIT |
1.0.20 | 2021-04-27 | Tilføjet WSDL-sti | KIT |
1.0.21 | 2021-06-08 | Tilføjet WSDL-stier | KIT |
Funktionalitet
Servicen SKR servicen udstiller en række data som beskrevet i anvenderguiden. Komponenten kaldes af anvendere gennem NSP'ens DCC (afkoblingskomponenten), som viderestiller kaldet til servicens webservice-endpoint. Servicen udstiller derudover en række administrative og konfigurationsrelaterede funktionaliter.
...
URL | Funktionalitet |
---|---|
<server>/skr/isAlive | Status-side for servicen. Viser om servicen fungerer korrekt, se afsnittet Overvågning. |
<server>/skr/skr | Webservice-dispatcher (dispatcher videre til korrekt version baseret på SOAP Action) |
<server>/skr/20210602 | Webservice-endpoint (for 20210602 udgave) |
<server>/skr/20200728 | Webservice-endpoint (for 20200728 udgave) |
<server>/skr/20190801 | Webservice-endpoint (for 20190801 udgave) |
<server>/skr/20180501 | Webservice-endpoint (for 20180501 udgave) |
<server>/skr/dksconfig | DCC auto-konfigurations API. Anvendes til konfiguration af NSP'ens DCC. |
<server>/skr/wsdl | HTML-side med links til download af WSDL-filer i hhv. DGWS- og IDWS-udgave. |
<server>/skr/wsdl/dgws20200728 | DGWS WSDL |
<server>/skr/wsdl/idws20200728 | IDWS WSDL |
<server>/skr/wsdl/dgws20210602 | DGWS WSDL |
<server>/skr/wsdl/idws20210602 | IDWS WSDL |
<server>/skr/wsdl/dgws20210408 | DGWS WSDL for migreringssnitflade |
<server>/skr/syncjob/start | Slettejob startes ved kald af denne url. Returnerer tidspunkt for modtaget request og http status kode 200 |
<server>/skr/syncjob/status | Oplysninger om slettejob på den pågældende server. Oplysningerne gemmes i hukommelsen på serveren og fosvinder ved genstart. Der returneres http status kode 200 og følgende data: tidspunkt for sidste afvikling af slettejob på serveren (hvis værdien findes ellers tom værdi), status for sidste afvikling på serveren (true=ingen fejl, false=fejl, tom tekst=ikke afviklet) og fejlbesked ved sidste afvikling (hvis findes ellers er værdien udeladt) |
Daglig drift
Servicen kræver ingen daglig vedligeholdelse udover sædvanlig systemovervågning.
...
Code Block | ||
---|---|---|
| ||
INSERT INTO whitelist (cvr, function) VALUES ('46837428', 'SKR'); |
...
Baggrundsjobs
Servicens slettejob baggrundsjobs bliver afviklet vha. en udstillet RestControllerudstillede REST services, som kaldes vha. simpelt simple HTTP GET kald.
Dette gøres for at sikre afviklingen af slettejob baggrundsjobs i flere-node drift, hvor en loadbalancer sørger for fordeling af kald til bagvedliggende servere.
Driften For hvert baggrundsjob, vedligeholder driften en cron, som kalder slettejobbets jobbets url i et fast mønster vha. curl.
Slettejob
Slettejobbet ligger i skr-service komponenten.
Følgende parametre til styring af slettejobbet kan ændres i application.properties:
...
Hvor jobs.delete.cpr-max-results bestemmer antal af cpr numre, der skal udtrækkes til sletning. Og jobs.delete.cpr-max-loops bestemmer antal gange udtræk af cpr numre skal gennemføres.
Hvis tiden til afvikling af slettejob overskrider 20-25 sekunder, så bør ovenstående parametre gøres mindre.
Kommando til kald af slettejob:
...
Endpoints til slettejob:
URL | Beskrivelse |
---|---|
<server>/skr/syncjob/start | Slettejob startes ved kald af denne url. Returnerer tidspunkt for modtaget request og http status kode 200 |
<server>/skr/syncjob/status | Oplysninger om slettejob på den pågældende server. Oplysningerne gemmes i hukommelsen på serveren og fosvinder ved genstart. Der returneres http status kode 200 og følgende data: tidspunkt for sidste afvikling af slettejob på serveren (hvis værdien findes ellers tom værdi), status for sidste afvikling på serveren (true=ingen fejl, false=fejl, tom tekst=ikke afviklet) og fejlbesked ved sidste afvikling (hvis findes ellers er værdien udeladt) |
Slettejobbet skal aktiveres hver dag, hvert 15. minut mellem 8-16 - startende kl. 8
Med mindre ovenstående parametre ændres, så vil slettejobbet behandle op til 1550 sletninger om dagen. (I gennemsnit er der 150 døde pr. døgn)
CPR oprydningsjob
CPR oprydningsjobbet ligger i skr-operations komponenten.
Implementationen følger husreglerne for baggrundsjobs og understøtter derfor samtidige kald.
Løsningen er en in-memory stak, hvorpå der løbende bliver påfyldt opgaver. Opgaver bliver altid lagt på stakken i tilfældig rækkefølge.
Ved hver kørsel, bliver der enten fyldt nye opgaver på stakken, eller der bliver taget en opgave fra stakken, som bliver udført.
Opgaver på stakken kan enten være en operation til at udføre en oprydning eller en supplier, der leverer flere opgaver til stakken.
Der benyttes tre typer af suppliers og en operation:
Supplier | Beskrivelse |
---|---|
Default supplier | Benyttes til at fylde opgaver på stakken, når stakken er tom. For hvert af tallene 0-9, oprettes en suffix baseret supplier |
Suffix baseret supplier | Givet et tal, hentes alle person id'er fra skr databasen, der slutter på dette tal. Opretter en mængde batch suppliers, hver med et konfigurerbart antal af disse person id'er |
Batch supplier | Givet en liste af person id'er, hentes for hvert id alle de cpr numre der er gemt i fritekstfelter i personens stamkort. For hvert person id og tilhørende liste af cpr numre, oprettes et cpr oprydningsjob. |
Operation | Beskrivelse |
---|---|
Cpr oprydningsjob | Givet et person id og en liste af cpr numre, erstattes alle disse cpr numre med X'er i personens stamkort. Der udsendes herefter en NAS notifikation. |
Backup
Servicen indeholder ikke nogen backup-mekanismer, og dette skal derfor konfigureres på database-niveau. Der bør foretages backup af data på en forsvarlig måde, i tilfælde af behov for en genetablering af data. Disse data skal opbevares på en forsvarlig måde, jfr. regler om personhenførbare data.
...