Bilag 3 - Designspecifikation Bistand til administration og udvikling af Dynamisk Database November 2018
Designspecifikation DYNDBMonitor Sopra Steria Group 2015
INDHOLD INDHOLD... 2 1. Ændringshistorik... 3 2. Introduktion... 3 3. Funktion... 3 3.1.1. Sekvens diagram... 4 4. Program Typer... 6 4.1. Database... 6 4.2. DataSystemType... 7 4.3. InrixQualityControlType... 8 4.4. InrixTimelinessType... 9 4.5. NapServiceType... 10 4.6. WebServiceType... 11 4.7. WinServiceType... 12 Sopra Steria Group 2018 2 af 12
1. Ændringshistorik Version Dato Noter Forfatter 0.1 17-08-2018 Første udkast John Nørbjerg Hansen 2. Introduktion Dette dokument har til formål overordnet at beskrive komponenten DYNDBMonitor, og de sammenhænge denne indgår i. Målgruppen for dette dokument er udviklere og arkitekter, der skal vedligeholde og videreudvikle DYNDBMonitor. For information om konfiguration og installation af DYNDBMonitor servicen, se dokumentet: DynDBMonitor_Installation_og_driftvejledning.docx. 3. Funktion DYNDBMonitor overvåger forskellige services og systemer, som er del af DYNDB. Overvågningen sker ved at der udsendes emails hvis et system enten er nede, eller er for længe om at svare. Derudover skriver DYNDBMonitor systemets status til LOGDB databasen. Dashboard web applikationen læser systemets tilstand fra LOGDB databasen, og viser systemets tilstand vha. forskellige farver. Sopra Steria Group 2018 3 af 12
3.1.1. Sekvens diagram Ovenstående sekvens diagram viser i visuel form det overordnede flow i servicen. DynDBMonitorService indeholder en timer, der kører en overvågning scheduleret. Når timeren trigges, køres update på DynDBMonitor. Denne kalder Update på MonitorEngine, der looper over alle programmer, og spørger programtype implementeringerne hvilken status og forsinkelse det pågældende program har. De enkelte programmers status gemmes i en liste med UpdateItems, der foruden denne information også indeholder information om hvem en eventuel notifikation skal sendes til. GetChangedAlerts sorterer alerts fra, således at der kun notificeres omkring programmer, hvis status er ændret siden sidst. Endvidere sorteres alerts også fra, ved status skift imellem grøn og gul. Dog sendes alle alerts, hvis det er morgen mailen, der sendes. SaveAlerts gemmer alerts i LOGDB. DynDBMonitor.SendAlerts indeholder logik mht. hvem og hvornår, der Sopra Steria Group 2018 4 af 12
skal sendes alerts til. IMediaHandler, her EmailHandler indeholder metoder til sammensætning af email-body og afsendelse af email. Nedenstående listes klasser vist i diagrammet med en forklaring til deres funktion. Klasse navn DynDBMonitorService DynDBMonitor MonitorEngine Funktion Indeholder en timer, der sørger for at hele overvågnings jobbet afvikles scheduleret. Indeholder langt det meste af logikken i servicen. Update metoden i denne klasse er den, der bliver kaldt af timeren, og sætter alle metode kald sammen. Fordeler Update metode kald ud til de specifikke programtyper. IProgramType Servicen indeholder en række klasser, der alle implementerer IProgramType. Alle disse klasser indeholder logik til at finde Delay for den specifikke programtype og sætte status (farve) på programmet. For nogle programtyper er Delay mere et udtryk for om programmet er nede eller oppe, end et udtryk for forsinkelse. For programtyperne DatabaseType og WinServiceType giver det f.eks. ikke mening at tale om forsinkelse, enten er det pågældende program tilgængeligt, eller også er det ikke. IMediaHandler Der kan oprettes forskellige media handlere i servicen, der implementerer interfacet IMediaHandler. P.t. findes klassen EmailHandler, der er ansvarlig for sammensætning og afsendelse af emails. Sopra Steria Group 2018 5 af 12
4. Program Typer 4.1. Database Dette system returnerer 2 forskellige stadier, enten er databasen oppe eller også er den ikke. Sopra Steria Group 2018 6 af 12
4.2. DataSystemType Datasystem typen returnerer en værdi baseret på hvor længe siden der sidst er modtaget data for det program. Sopra Steria Group 2018 7 af 12
4.3. InrixQualityControlType InrixQualityControlType udstiller de sidste fejl, ved flere fejl bliver status sat til den værste fejl. Så længe der ikke er nogen fejl bliver status sat til grøn. Ved flere forskellige fejl, sammensættes fejlbeskrivelserne og der sendes kun en mail, med alle forskellige typer af fejl. Sopra Steria Group 2018 8 af 12
4.4. InrixTimelinessType InrixQualityControl sætter en status baseret på, hvor længe siden det er, der sidst er modtaget data. Sopra Steria Group 2018 9 af 12
4.5. NapServiceType NapServiceTypen kigger på, hvor mange filer der ligger i Missing folderen, og returnerer status baseret på de værdier der er sat i de tilhørende kriterier på programmet. Sopra Steria Group 2018 10 af 12
4.6. WebServiceType WebServiceTypen laver et api kald til webservicen og, tester på hvor længe kaldet tager. Sopra Steria Group 2018 11 af 12
4.7. WinServiceType WinServiceType kigger på om en WindowsService er running eller ej, hvis dette fejler bør, der kigges i file-loggen på serveren. Sopra Steria Group 2018 12 af 12
Vejdirektoratet har lokale kontorer i: Aalborg, Fløng, Middelfart, Næstved og Skanderborg samt hovedkontor i København Find mere information på vejdirektoratet.dk Vejdirektoratet Carsten Niebuhrs Gade 43 1577 København V Telefon 7244 3333 vd@vd.dk vejdirektoratet.dk