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.)

Pdf

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