Mit overblik - Orkestreringskomponenten FDA September 2019
Agenda 1. Introduktion til initiativet og arkitekturen 2. PoC (Proof of concept) 3. Vejen mod realisering 4. Spørgsmål 2
3 FODS 1.3
Status på projektet Referencearkitektur v. 0,8 Referencearkitektur v. 1,0. Behovsanalyse Konceptanalyse Arkitekturanalyse PoC 4
Digitaliseringspagten: Mit overblik 5
Mit Overblik Borger.dk (tidligere Min Side) Orkestreringskomponent MINE DATA YDELSER SAGER BETALINGER AFTALER OG FRISTER DIGITAL POST BRUGERREJSER Væsentlige personoplysninger fx adresse, CPR-nummer, oversigt over skat og økonomi, sundhed, uddannelse og bolig/bbr. Oversigt over tildelte økonomiske ydelser fra det offentlige fx børnepenge, SU, kontanthjælp og folkepension. Status på igangværende sagsbehandlinger fx byggetilladelser eller ansøgning om en ydelse herunder om myndigheden afventer handling fra borgeren. Overblik over kommende betalinger til det offentlige fx vuggestueplads, børnehave eller SFO. Visning af kommende frister og aftaler med det offentlige fx aftale med socialforvaltningen herunder mulighed for påmindelser. Adgang til Digital Post borgerens indbakke med post fra fx vuggestuen eller kommunen. Guides giver overblik over relevant viden og gøremål i relation til en given livssituation, der kræver kontakt med forskellige myndigheder (og private aktører) i første omgang uden data. 6
Grundlæggende arkitekturprincip for Mit overblik Mit Overblik Udstiller få relevante (meta-)data Domæneløsning/-portal Henviser til det fulde indblik og handlinger 7
Borger logger ind på borger.dk. Borger.dk spørger efter data,... og servicen svarer med data. NemLog-in borger.dk Service Mit overblik borger.dk Dine data! og viser dem for borgeren Borger.dk fortolker data 8
Borger logger ud på borger.dk, hvorefter hendes data forsvinder! borger.dk borger.dk Puf! 9
To fysiske former for service Service Orkestreringskomponent Egenskaber (en eller flere) Data findes i og leveres fra flere datakilder Data skal vises i forskellige overblik Direkte til Borger.dk (silo) Egenskaber Data findes kun i en datakilde Data skal kun vises i overblik på borger.dk 10
11 Adgang til egne data (KL)
12 PoC Proof of concept
13 Deltagere - PoC
Scope A Brugergrænseflade/visningsklient S1 Snitflade B Orkestreringskomponent S2 C Datakilde Snitflade (domæneindeks/staging/fagsystem) 14
Logisk arkitektur for PoC Portal POC-OK OK-applikation Apache Camel KrakenD Datakilde 1 Datakilde 2 MongoDB Datakilde 3 15
Performancetest kald til 10 datakilder (stub-services) Orkestreringskomponent KrakenD Datakilder Service 1 ca. 30 ms ca. 182 ms Service 2 Service 10 16 Svartid 200 180 160 140 120 100 80 60 40 20 0 Udvikling i svartider fra Orkestreringskomponent 182,4 147,2 132,8 113,9 100,1 100,2 71,8 75,1 49,8 54,7 1 2 3 4 5 6 7 8 9 10 Data kilder Antal datakilder
17.
. 18
Overblik og detaljer 19
Konklusion PoC har været vellykket Arkitekturen understøtter formålet Arkitekturen performer tilfredsstillende
.næste skridt 2019 2020 Referencearkitektur Datamodeller Udbud Udvikling 21
22
.overgang til drift 2021 2022 Drift Videreudvikling Videreudvikling 23
Tak for jeres tid spørgsmål? Anna Louise Madsen aloma@digst.dk // +45 4178 6073 Mit overblik: Tara Jensen, takmj@digst.dk // +45 4013 1333
Ekstramateriale 25
Kaldsflow 26
27 Datamodeller
Datamodeller Frister? Betalinger? Andre? Ydelser Sager ID/tilladelser? 28
Identifikation af data til orkestreringskomponenten Ej standardiseringspotentiale Identificer relevante forretnings- og dataobjekter ved workshop med myndigheder Definer begreber for objekter entydigt Vurder potentiale for standard datamodel Udarbejd standard datamodel og dataformat samt servicebeskrivelse for orkestreringskompon ent Servicebeskrivelse for BDK (afklares mellem BDK og myndighed) Standardiseringspotentiale 29
Begrebsmodel brugervendt sag 30
Datamodel brugervendt sag Ha 1..* 1..* BrugervendtSag 1 FagomraadeTekst: xsd:string IntroTekstTilSelvbetjeningsloesning: xsd:string KontaktMail: xsd:string KontaktOrgEnhed: xsd:string Kontaktpersonnavn: xsd:string KontaktTelefonnummer: xsd:string LinkTilFagomraadebeskrivelse: xsd:string LinkTilSelvbetjeningsloesning: xsd:string LinkTilYdelsesbeskrivelse: xsd:string SagsId: xsd:string Sagtitel: xsd:string SenestAendret: xsd:date Status: xsd:string Statusbeskrivelse: xsd:string TitelPaaSelvbetjeningsloesning: xsd:string 1 Selvbetjeningslink og beskrivelse Data fra fagsystem Hjælpetekster 1 Har 31
Datamodellers understøttelse af kaldsmønstre Brugerflade Part Organisation Overbliksliste Detaljer Fulde dataindhold cpr:person cpr:cprnummer: gd:identifikation 1 HarPrimærPart OrganisationsID: xsd:string 1 HarEjer Klassifikation FormNr: xsd:string KLENr: xsd:string 1..* HarSagstypeklassifkation 1..* 1..* BrugervendtSag FagomraadeTekst: xsd:string IntroTekstTilSelvbetjeningsloesning: xsd:string 1 KontaktMail: xsd:string BevilgetYdelse KontaktOrgEnhed: xsd:string Kontaktpersonnavn: xsd:string Orkestrering 0..* HarYdelse KontaktTelefonnummer: xsd:string LinkTilFagomraadebeskrivelse: xsd:string 1 LinkTilSelvbetjeningsloesning: xsd:string LinkTilYdelsesbeskrivelse: xsd:string SagsId: xsd:string Sagtitel: xsd:string SenestAendret: xsd:date Status: xsd:string Statusbeskrivelse: xsd:string TitelPaaSelvbetjeningsloesning: xsd:string 1 Har Dokument 0..* Overbliksliste Detaljer Fulde dataindhold Afsender: xsd:string Dokumentdato: xsd:datetime Dokumentdatobeskrivelse: xsd:string DokumentId: xsd:string 0..1 Modtager: xsd:string Titel: xsd:string HarTilknyttet Journalpost JournalpostTid: xsd:datetime 1 JournalpostTitel: xsd:string Datakilder/Domæneindeks 32
33 Performance
Performancetest Forventet load fra borger.dk Testscenarie - 25 samtidige brugere, der forespørger på data fra Orkestreringskomponent - Hver bruger forespørger hele tiden - Testperiode = 1 time Antal brugere Antal forespørgsler pr. sekund Svartider 34
Performancetest Stresstest 500 simulerede samtidige brugere OK, svartider inden for acceptabelt niveau 1000 simulerede samtidige brugere OK, svartider inden for acceptabelt niveau 2000 simulerede samtidige brugere Komponent returnerer fejl og bliver utilgængelig* *Performancetest er kørt på en lille server i et testmiljø, uden mulighed for at skalere. Testmiljøet har derfor en naturlig øvre grænse for antal samtidige brugere. 35