Overordnet løsningsdesign i DFDG-JobSearch
Indhold
Applikationsdesign
Overordnet arkitektur
Overordnet set er JobSearch en løsning, som udelukkende udstiller og processerer data relateret til forretningsområdet CV. Herunder ses et overordnet systemlandskab.
Applikationens arkitektur er inspireret af microservices. Den har egen database.
Brugergrænseflade
Løsningen har ingen selvstændig brugergrænseflade. Brugergrænsefladen er implementeret i Jobnet (samt i eksterne aftagersystemer).
Forretnings- og servicelag
Dette lag samler de data, der skal bruges for at understøtte præsentationslaget. Dette gøres ved at kalde de nødvendige services for at opsamle data. Desuden implementeres relevant forretningslogik her.
Der er implementeret skarp opdeling imellem funktionalitet som læser og funktionalitet som skriver (CQS), hvilket gennemtvinges af designmønstre. Dette sikrer en ekstrem høj grad af ensartethed igennem forretningslaget.
Services udstilles via ASP.NET Core WebApi, og er teknisk beskrevet via Swagger.
Datalag
Datalaget tilgår data primært fra databasen. For at sikre bedst mulig performance, læses data fra databasen via stores procedures (for at gøre brug af T-sqls muligheder for performanceoptimering). Data skrives via entity framework for at sikre konsistent auditeringsmodel samt typestærk tilgang.
Der benyttes migrations for at styre database ændringer.
Der er udarbejdet et lille framework, som udvider EF.Cores indbyggede scaffolder. Dette sikrer at arbejdet med auditering, stored procedures, læse modeller og skrive modeller foregår efter ønskede retningslinjer - med autogenereret kode.
Snitflader
Primære indgående snitflader er alle de interne og eksterne systemer, som implementerer en CV-brugergrænseflade. Se tegning i afsnit 4.1.1.
Batchjobs
Løsningen består af to batchjobs, som køres som konsolapplikationer.
Miljøer
Produktionsmiljø
JobSearch hostes på samme servere som Jobnet. Se denne specifikation i underbilag C.
Testmiljø
JobSearch hostes på samme servere som Jobnet. Se denne specifikation i underbilag C.
Teknologier og værktøjer
Løsningen benytter følgende primære teknologier og værktøjer
.NET Core 3.1 (C# 8.0) (opgraderet til .Net 8 i 2024)
WebAPI (REST/Json)
Entity Framework
Foundation (beskrevet i underbilag V, Fælleskomponenter)
FluentMigrator
SqlServer
Windows Server
Data- og trafikmængder
Datamængder
n/a
Trafikmængder
Omkring 38 mio. kald mod JobSearch services om måneden (september 2021).