Under den dramatiske overskrift: 'Red det danske velfærdssystem,' fortalte Dan Strang Søndergaard, som er Principal i Netcompany, sammen med Michael Vognsen Nielsen, Manager i samme firma, om arkitekturen bag Skats nye system, der skal afløse EFI, i regi af Implementeringscenter for inddrivelse (ICI).
Det skete på Red Hat Forum, der blev afholdt i København i sidste måned.
Det skandaleombruste EFI-system blev delvist lukket efter seks år. EFI kører dog stadig videre, men inddrivelsen er delvist manuel.
Skat ville undgå et stort vandfalds-projekt og kæmpestore kravspecifikationer til det nye system. Netcompany blev udvalgt som leverandør efter en ‘proof-of-concept’-test. De første dele af systemet gik i produktion sidste år og startede med at inddrive licens til DR.
Netcompany tager én myndighed af gangen på en agil facon. 150 udviklere arbejder hos Netcompany sammen med 150 fra Skat og andre partnere, såsom ERP-firmaet Visma. Til arbejdet benyttes udviklingsmetodikken SAFe, Scaled Agile Framework.
Det er ikke nemt at bygge et teknisk kompliceret produkt, som bygger på lovgivning, med et stort antal udviklere.
Det kræver en masse på det styringsmæssige plan af den underliggende platform, som er Red Hats Open Shift-produkt, fortæller Dan Strang Søndergaard.
Strikker eget værktøj til konfiguration
Michael Vognsen Nielsen beretter, at firmaet har bygget et website oven på Open Shifts api, som også snakker med automatiseringsplatformen i integrationsserveren Jenkins.
Sysemet bygger på Oracles produkt PSRM, Public Sector Revenue Management, sammen med hjemmelavede Java-applikationer, der benytter en række forskellige frameworks. 50 til 70 udviklere arbejder med PSRM, mens yderligere 50 er på Java-applikationerne.
Blandt udfordringerne var mangel på gode værktøjer til at flytte PSRM-konfigurationen fra et miljø til et andet. Eksisterende løsninger var værktøjer, der behandlede konfigurationen som en sort kasse, hvilket var i modstrid med ønskerne.
Det betød, at Netcompany skabte sit eget værktøj, ‘PSRM-to-Git.’ Det serialiserer konfigurationen til opmærkningssproget YAML, og anvendelsen af kodestyring gør det muligt at se ændringer i konfigurationen, ligesom med almindelig kode, i form af Git-branches.
Containere giver nemmere test
Projektet benytter automatiserede brugerfladetests i browseren, som er regressionstests, der skal sikre, at funktionaliteten er uforandret, når ny kode kommer til.
Tilbage i 2017 benyttede Netcompany ikke container-teknologien Docker i projektet. PSRM understøtter tidsrejser, for eksempel for at tjekke rentetilskrivning over tid. Når den ene tester arbejder med denne funktion, kan det kan skabe problemer for de andre testere. I stedet får hver tester sit eget miljø, men det var devops-holdet ikke glade for.
Det skyldtes, at udviklerne kunne finde på at pille ved middlewareprodukterne i forbindelse med fejlsøgning, så miljøerne ikke længere var helt ens. Det betød også, at tilliden til miljøet faldt. Og det var baggrunden for, at Skat og Netcompany besluttede sig for at anvende Docker.
Det skal forhindre, at systemet ender som forgængeren EFI. Der er to sæt af test, der skal bruges til at undgå fremtidige katastrofer. Det er almindelige tests, som tjekker, at funktionaliteten matcher de valgte user stories.
Men herudover er der også et sæt test, der handler om at validere at systemet er lovligt, da der er juridiske paragraffer under systemet. Kammeradvokaten har til det formål fastsat en række regler for systemet.
Arkitekturen benytter på flere punkter på Apache Camel, som er et open source kø- og besked-system. Nu tager det 22 minutter at provisionere et nyt miljø med alle applikationer kørende, hvor processen før i tiden tog dagevis.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.