Overordnet løsningsdesign for fælleskomponenter
Indhold
Overordnet arkitektur
Star.Foundation er en række løst koblede nuget pakker, som dækker nedenstående ’cross-cutting-concerns’. Alle dele af frameworket er demonstreret i den medfølgende ”DemoApp”. Hermed opnås en slags levende dokumentation, som altid er opdateret. Rammeværket er bygget med henblik på, at understøtte den microservice inspirerede arkitektur som STAR er i retning imod.
Listen er ikke udtømmende ift. den faktiske implementering.
Nuget pakke (Star.Foundation.*) | Funktion |
Framework | Indeholder generelle strukturer, som skal genbruges på tværs af alle siloer. (kodelister, CQS[1] framework, konfiguration, filtrering ect. |
Batchjob | Indeholder funktionalitet for ensartet udvikling af batchjobs. Herunder ensartet logbeskeder, statuskoder, fejlhåndtering, afrapportering af status mv. |
WebApiCore | Indeholder ensartet opsætning af WebApi’er (log, swagger, sikkerhed, fejlhåndtering evt.) |
En tynd wrapper omkring tredieparts PDF-komponent. Sikrer ensartet tilgang og brug. | |
TestFramework | En række klasser, som understøtter integrationstests med udgangspunkt i en aftager med en bestemt rolle (f.eks. borger, kommune, a-kasse). Indeholder builders, transaktionsstyring, diagnostisering, sikkerhed, validering mv., hvilket sikrer meget realistiske test case afviklinger. Rammeværket er ikke knyttet til et specifikt unittest-framework, som fx. xunit eller nunit. |
WebApiCore.TestSuite | En samling af genbrugbare unittests som sikrer ensartet brug af Star.Foundation. (kunne være implementeret som Code analyzers for .NET Framework ) |
JSonSerializer | Udvidede Json funktioner |
Wcf | Denne komponent er den bagudkompatible erstatning for DFDG.Foundation og den eneste komponent i Star.Foundation, som udvikles i .Net Framework (i modsætning til .Net Standard og .Net core) |
Publish | Komponent til at publicere beskeder på eventbrokeren |
Subscribe | Komponent til at ensarte aftagning af beskeder fra eventbrokeren |
Security | Sikkerhedsmodel for udstillede webservices. |
Migrations | Indeholder klasser som sikrer ensartet navngivning af database objekter – primært tabeller, relationer og index. Desuden struktureret opsætning af audit, historik mv. |
PostBuild | En lille postbuild action, der kan berige den build-time genererede swagger. |
CaseworkerLogin | Komponent til at understøtte at en sagsbehandler-login |
Performance Monitor: Denne komponent aggregerer relationelle logdata fra bl.a. DFDG og JobSearch (øvrige systemer skal tilkobles når det er teknisk muligt). På denne måde kan STAR overvåge svartider på både service niveau, svartider på stored procedure niveau og se fejl på aggregeret niveau. Funktionaliteten er inspireret af Kibana.
LogViewer: Denne komponent bruges til at søge i loggen ud fra et konkret søgefilter – f.eks. et cpr nummer. Dermed kan en borgers ’rejse’ let fremsøges og undersøges såfremt dette kræves.
FTP-server: En klassisk FTP server med sikkerhed på brugerniveau, som benyttes til at udveksle data imellem STAR’s fagkontorer, StarCity og SystemForvalter. Der er ingen STAR ejet kildekode tilknyttet til denne komponent.
Brugergrænseflade
Løsningen har ingen selvstændig brugergrænseflade.
Forretnings- og servicelag
Løsningen har ikke et selvstændigt forretnings- og servicelag.
Datalag
Løsningen har ikke et selvstændigt datalag.
Snitflader
Løsningen har ingen snitflader.
Batchjobs
Løsningen har ingen selvstændig batchjobs.
Miljøer
Produktionsmiljø
Star.Foundation hostes ikke selvstændigt.
Testmiljø
Star.Foundation hostes ikke selvstændigt.
Teknologier og værktøjer
Star.Foundation: følgende primære teknologier og værktøjer
.NET Core 3.1 (C# 8.0), .Net Standard 2.0 (opgraderet til .Net i medio 2024)
WebAPI (REST/Json)
Entity Framework Core 3.1
FluentMigrator
EvoPdf
RabbitMQ (via MassTransit)
En mindre del .Net framework 4.7.x og WCF
Performance Monitor:
net MVC
.NET Framework
JQuery
Data- og trafikmængder
Datamængder
n/a
Trafikmængder
n/a
[1] CQS = Command Query separation