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