925.8 Optimering af DFDG skemavalideringer (2020-2)
Beskrivelse af epic af it-understøttelse af Styrelsen for Arbejdsmarked og Rekrutterings forretning
Indholdsfortegnelse
Afgrænsning af epic
Afgrænsning | ||
---|---|---|
Som STAR og DFDG vil jeg gerne har set om DFDG skemavalideringer kan optimeres for at opnå bedre svartider ved servicekald | ||
Acceptkriterier | ||
Nr. | Beskrivelse | Relevant for |
925.8.1 | Analyse/spike på optimering af skemavalideringer | DFDG |
925.8.2 | Implementering af ændret / optimeret skemavalidering på services | DFDG |
Kriterier for tilsagn til serviceaftager i forhold til STARs snitflader | Berørte acceptkriterier | Bemærkninger | |||
---|---|---|---|---|---|
925.8.1 | 925.8.2 | ||||
Eksterne aftagere er opmærksomme på ændringer i DFDGs skemavalidering, men forventes i øvrigt ikke påvirket af ændringerne (ud over bedre svartider) | x | ||||
Oversigt over berørte webservices
Manuel oversigt som er synlig for eksterne (links i listen virker kun med STAR Jira konto):
Summary | Varslingstype | Varslingsnote | Eksterne Snitflader | Interne Snitflader | Project |
---|---|---|---|---|---|
Alle services (Skemavalidering input/output) | Ændret | Aftagere af DFDGs services skal være orienteret om, at der er fortaget forbedringer til skemavalidering på input/output for DFDGs services | A-kasse(t.o.) KSS(t.o.) KY/KMD-aktiv(t.o) Plannersystemer(t.o.) Ydelsessystem(t.o) e-Dagpenge(t.o) | N/A | D+S |
Automatisk oversigt (vi arbejder på løsning på at gøre den synlig)
Beskrivelse af epic
925.8.2 Implementering af ændret / optimeret skemavalidering på alle DFDG services
Et af de steder, hvor DFDG har set, at skemavalideringer koster megen CPU tid, er, når der skemavalideres på borgere, som har mange joblogs. Det giver sig blandt andet udtryk GetEntries på/wiki/spaces/GI/pages/1526071848 kaldes for borgere, der har mere end 1.000 joblogs.
DFDGs arkitekt har reviewet den eksisterende kode til skemavalidering og gjort følgende findings:
- Den eksisterende skemavalidering loader beskeden, der skal valideres, ind i et XML dokument, hvilket er overføldig.
- Den eksisterende skemavalidering er ikke robust i forhold til at frigøre ressourcer.
- Den eksisterende skemavalidering er svær at læse og forstå, hvilket gør, at koden er svær at vedligeholde.
DFDGs arkitekt har efterfølgende prøvet at optimere den eksisterende kode i forhold til de 3 ovenstående punkter og analyseret på, hvad der kan hentes i forhold til CPU tid. Dette er sket ved at kalde GetEntries på CitizenJoblogService (version 3) 10 gange pr. borger, hvorefter en gennemsnitlig CPU tid er beregnet. Nedenstående skema viser dette resultat, hvortil det skal bemærkes, at testen er foretaget mod et T-miljø (T15) og udført på en udvikler PC.
Eksisterende WSDL validering | Optimeret WSDL validering | Forbedring | |
---|---|---|---|
Borger med 1665 joblogs | 700,9746 ms. | 660,0079 ms. | 5,8 pct. |
Borger med 1115 joblogs | 553,5810 ms. | 514,4231 ms. | 7,1 pct. |
Borger med 1002 joblogs | 719,5129 ms. | 689,0938 ms. | 4,2 pct. |
Skemavalideringen er ændret/optimeret på alle DFDGs webservices.
Overvej for hvert acceptkriterie hvilke systemer der berøres af ændringen:
- DFDG
- Services
- WSRMer
- Kodelister
- PersonStatusService (PSS)
- PersonHistoryService (PHS)
- LSS (Landssupportsystem) og herunder Registerudtræk (hvis STAR har dataejerskab og der er lavet PHS på domænet)
- Jobnet
- VITAS
- JobKon
- JobAG
- BI integrationsplatform
- Alle områder
- Nye batchjobs
- Dokumentation af jobbet til SF (jf. skabelon: xxx link til skabelon)
- Dataløft
- Hvis der i Databaser tilføjes eller fjernes kolonner med personfølsomme data (f.eks. person navne, adresser, email, telefonumre etc.), så skal SF informeres så disse data fremadrettet tilføjes eller fjernes fra scrambling.
- Nye batchjobs
- Kommunalt sagsbehandlingssystem
- A-kasse sagsbehandlingssystem
- Kommunalt bookingsystem
- JobcenterPlanner (JCP)
- WorkForcePlanner (WFP)
- Kommunalt ydelsessystem
Særlige krav til test
Test scenarie | Berørte systemområder (herunder nye batchjobs*) | Identificeret af |
---|---|---|
* Batchjobs
- bør testes både med delta og fuldt load,
- bør hvis der er afhængigheder køres med normalt load fra BI i ét testmiljø i hele testperioden
- bør testes i samarbejde med teams som har afhængigheder
- kørselstid, særligt hvis det er en del af NightlyBatch
Konsekvenser for drift/idriftsættelse
I forbindelse med idriftsættelse:
- Skal der køres et fuldt dataload ved første kørsel af et batchjob - aftal med SF hvornår load skal køres
- skal der køres konvertering
- Skal der køres databasescripts for opdatering af tabeller i databasen
Efter idriftsættelse:
Arkitektur- og implementeringsnoter
Her beskriver PO/FA om arkitekturen og teknikken bag løsningen, om der f.eks. anvendes:
- Nye dataområder
- Nye snitflader
- Nye komponenter
- Nye miljøer
- Nye teknologier
- Nye aftagertyper
- Eller afvigelser fra principperne
- Eventuelle behov for reduktion af teknisk gæld skal afdækkes
Der gives en beskrivelse af hvorledes disse tænkes håndteret/implementeret i løsningen og om dette har været vendt med STAR arkitekten.