Følgende giver en gennemgang af den tekniske løsning der er udviklet for at understøtte forretningsfunktionaliteten.
Table of Contents |
---|
Applikationsdesign
DFDG er udviklet så det understøtter en lagdelt webapplikation, som registrerer direkte i DFDG’s database. DFDG er udviklet efter normal best practice for Microsoft.NET platformen for sådanne applikationer, dog præget af at udviklingen af DFDG har stået på i en del år. Det er en arkitektur med fire logiske applikationslag som vist på tegningen herunder, suppleret med en række delte komponenter og klasser. DFDG har ikke egen brugergrænseflade, så Præsentationslaget i nedenstående er ikke en del af DFDG men en del af de applikationer der anvender DFDG.
...
Systemet udvikles i Microsoft.NET teknologi i programmeringssproget C#, med anvendelse af enkelte støttekomponenter til f.eks. logning, e-mail afsendelse, sms-afsendelse til SMS-gateway, dannelse af pdf-dokumenter, osv.
Servicelaget
Servicelaget er en tynd skal oven på forretningslaget. Servicelaget målrettes forretningsbehovene i de enkelte forretningsapplikationer og skærmer disse mod forretningslogikken og domænemodellen som anvendes i forretningslaget.
...
- Forretningsservices
- Disse services foretager en forretningshandling som kan resultere i en eller flere registreringer af data i DFDG, men også resultere i kald til andre systemer. Sådanne services er typisk tænkt som del at en specifik forretningsgang.
- Dataservices
- Disse services arbejder direkte på en enkelt entitet, og stiller typisk et CRUD (Create, Read, Update og Delete) interface til rådighed. Read operationen er typisk stillet til rådighed via PersonStatusServices, der returnerer mange centrale data omkring borgeren og Delete operationen er i flere tilfælde udeladt, men understøttet som en blød sletning via Update operationen.
- Hændelsesservices
- Disse services returnerer data om hændelser, som udsendes via WSRM køen i DFDG. WSRM køen er en hændelseskø for hver aftagertype (dvs. organisation, forretningsenhed, osv.), f.eks. et Jobcenter eller en Kommune. Hændelseskøen underretter aftagerne om hvilke hændelser der kan være relevante for denne aftager.
- Infrastrukturservices
- Disse services er en del af rammeværket og understøtter f.eks. hændelseskøen, logning, sikkerhed eller andet.
Webservicekatalog
DFDG tilbyder en række webservicekataloger med et antal webservices i hver, som kan tilgås af eksterne applikationer.
...
Forretningslaget
Forretningslaget indeholder forretningskomponenter for de forskellige applikationer. Forretningslaget kan kalde andre services, via service agenter.
...
Forretningsmodulerne foretager forretningsmæssig validering af kaldene, og der returneres fejl. Alle forretningsfejl er nummereret. Fejl kan findes ud fra kodeliste i CodeListService.
Batchjobs
DFDG indeholder en del forretningslogik som afvikles som batchjob. Afviklingen for DFDG er omfattende, og der afvikles mere end 70 batchjob, hvoraf hovedparten afvikles alle ugens dage.
...
Batchjob kataloger | Jobs | Beskrivelse |
---|---|---|
DFDG-EC | 4 | Education and Courses. Jobs der kommunikerer med Uni-C Easy-A systemet. |
DFDG-EC-ImportData | 7 | Education and Courses. Jobs der kommunikerer med Uddannelsesadministration.dk, omkring kurser og institutioner. |
DFDG-TASS-RunUdbJobs | 5 | Kommunikerer natligt med Uddannelsesdatabasen |
DFDG-TASS-NightlyBatch | 13 | Natlige jobs der processerer status for de enkelte borgere |
DFDG-DWH | 3 | Udtræk til DWH |
DFDG-FICC | 2 | Filimport af CPR og CVR data |
Datalaget
Dataadgangslaget i DFDG håndterer helt klassisk adgangen til databaser og eksterne services og tilbyder et abstraktionslag mod data/services så forretningslaget kan anvende og gemme data uafhængigt af kilden.
Data access
Under DFDG opsamles data i en række databaser. De enkelte DFDG databaser anvender alt overvejende Stored Procedures som adgang til tabeller og data. Hoveddatabasen under DFDG er BrokerServices. Denne indeholder mange hundrede Stored Procedures.
...
Databaser | Tabeller | Beskrivelse |
---|---|---|
BrokerServices | 350 | Underliggende database hvor stort set alle DFDG data placeres. |
AMPORTAL_BM_DK | 300 | Den oprindelige database under Arbejdsmarkedsportalen, indeholder i dag primært Anden Aktør data samt brugerdata |
ContactModuleWebDb |
| Kontaktmoduldatabase. Modulet er nedlukket, men indeholder data omkring Jobordre. |
SamlSso | 1 | Styringsdata til SamlSso sikkerhedsløsningen. |
Staging_DWH | 200 | Staging database til Datavarehusudlæsninger |
TimelinessStaging | 25 | Stating database til ret og pligt data |
BAMServicesDB |
| BAM |
CompanyService | 10 | Virksomhedsservice, nedlukket modul, men indeholder virksomhedsdata |
UnemploymentFundEngine | 20 | A-kassemotor databasen (under lukning) |
EducationalCatalog | 32 | Uddannelseskatalog for 6 ugers jobrettede kurser |
Screening | 14 | Screening databasen |
DocumentRepository | 6 | Printarkivet, indeholder i dag primært historiske dokumenter |
Service agents
DFDG kalder eksterne services, her kan kort nævnes:
...
Services | Beskrivelse |
---|---|
SMS Gateway | Afsendelse af SMS beskeder |
Afsendelse af E-mails | |
Jobnet Services | CV- og jobdata via en webservice, som bl.a. tilgås af DFDG m.fl.. |
Ungedatabasen | Synkronisering af hændelser fra Ungedatabasen |
Jobcenter Planner | Planner services, der kaldes via DFDG’s skiftespor mellem Planner og eksterne kalendersystemer |
BatchLog | Service til batchlog overvågning |
Miljøer
Følgende er en kort introduktion til de anvendte miljøer.
Produktionsmiljø
DFDG eksekveres i dag i en webfarm med en række webservere og et database-cluster, som illustreret på følgende:
...
Driftsleverandøren er KMD på driftsaftale indgået gennem Statens IT.
Testmiljø
Eksternt rettede testmiljøer hostes hos TDC. Testmiljøerne indeholder både DFDG, Jobnet og andre af STAR’s løsninger.
...
DFDG releases til de enkelte miljøer med faste intervaller eller efter behov, afhængigt af miljø.
Anvendte teknologier og værktøjer
Løsningen er Microsoft baseret og vedligeholdes for det væsentligste med Microsoft standardværktøjer, fra Microsoft Web Platformen.
...
Samt følgende væsentlige .NET biblioteker:
- Log4net
Data- og trafikmængder
Datamængder
Der registreres årligt en lang række data i DFDG, datamængden kan ses som en funktion af antallet af personer som er i berøring med beskæftigelsessystemet. Nedenfor er angivet antallet af forløb og personer fordelt på en række af de målgrupper der behandles i DFDG.
...
DFDG indeholder data om ca. 4.500.000 borgere.
Trafikmængder
Samlet set gennemføres dagligt ca. 4 000 000 servicekald mod DFDG, og trafikken forventes at være stigende.
Kodemængder
Kørsel med en standardinstallation af NDepend værktøjet på koden giver følgende resultat:
...