Info |
---|
Her finder du løsningsarkitektur for Orkestreringskomponenten, der viser komponenter, services og snitflader til hhv. henholdsvis datakilder og dataanvender samt den tekniske infrastruktur. Redaktør: Kurt Hansen |
...
Beskrivelsen er opdelt i et afsnit, der er koncentreret omkring Orkestreringskomponentens primære funktionalitet og snitflader, samt et afsnit der beskriver den Indeks funktionalitetIndeksfunktionalitet, der tilbydes til datakilder.
Beskrivelser sker gennem ArchiMate-diagrammer med uddybende tekst.
Opbygning af
...
Orkestreringskomponenten
...
Figurtekst: Services og funktioner i Orkestreringskomponenten (blå) og de anvendte teknologier (grøn). Grå elementer er uden for Orkestreringskomponenten, fx borger.dk som visningsklient.
...
Adgangskontrol til kald, for henholdsvis overblik- og detalje servicesdetaljeservices, for hvert enkelt forretningsobjekt; baseret på oplysninger om indgåede Aftaler samt genkendelse af visningsklienten vha. certifikater.
Validering, hvis en datakilde ikke svarer inden for perioden eller med et ikke validt svar, håndteres dette som fejl, der formidles til visningsklienten sammen med svarene fra de øvrige datakilder.
FejlhåndteringFejlfinding oversætter fejlbeskeder fra sammenstilling, viderestilling eller fra den enkelte datakilde til en fælles model og brugervendte fejlbeskeder, der kan anvendes af visningsklienter direkte.
Circuit breaker virker ved, at når der er observeret x-antal fejlende kald efter hinanden for en bestemt datakilde, så bliver datakilden deaktiveret. Deaktivering betyder at Orkestrerings-komponenten, ved efterfølgende kald til enten liste eller detalje, ikke forsøger at kalde en givne datakilde. Datakilden bliver ikke permanent deaktiveret, men deaktiveres kun for at konfigurerbart tidsrum. Når dette tidsrum er udløbet, så forsøger Orkestreringskomponenten at kalde datakilden igen.
Komponenten anvender en fælles platformsservice Logning til at gemme oplysninger om de enkelte kald fra visningsklienter samt resulterende kald til datakilder. Logelementerne udformes, så de tydelig tydeligt afspejler, hvilke komponenter og funktioner, der bidrager til den samlede oplevede svartid for slutbrugeren.
Orkestreringskomponenten er implementeret som en Java applikation med anvendelse af det generelle Java Spring rammeværk. Størstedelen af Orkestreringskomponentens funktionalitet realiseres gennem integrationsrammeværket Apache Camel og dens indbyggede funktioner. Da Java ikke indeholder standardfunktionalitet til validering af JSON-datastrukturer, anvendes her et tredjeparts-bibliotek tredjepartsbibliotek til denne specifikke funktion.
...
Indeksopslag anvendes af Orkestrering og vil blive kaldt for hver visning af overblik og har derfor stor indflydelse på den oplevede svartid. Derfor er funktionen implementeret som ét servicekald, der samler alle oplysninger til brug ved udvælgelse af datakilde.
Indeksopdatering er en af to services, hvor datakilder kan opdatere Binært Indeks. Servicen lader datakilder tilføje eller fjerne et enkelt CPR-nummer, så Orkestreringskomponenten kun kalder datakilden for visninger, hvor kilden faktisk har oplysninger.
Indeksoverskrivning er den anden service til Datakilders datakilders opdatering. Servicen er implementeret med resursestyring, således opdateringen af indekset ikke har indflydelse på performance af Indeksoplag.
Opbevaring er af CPR-numre er personoplysninger og kræver derfor ekstra beskyttelse. Orkestreringskomponenten beskytter indholdet af Indeks ved at pseudonymisere ved brug af en hashing-funktion.
Den samlede tekniske løsning driftes på to adskilte fysiske lokaliteter. Indeks-komponenten Indekskomponenten er Orkestreringskomponentens eneste databærende komponent, og behovet for synkronisering af data på tværs af de to lokaliteter er løst ved anvendelse af databaseteknologi, som indeholder særlige funktioner til dette.
...