It-drift

Færøernes farvel til mainframen

Den eneste mainframe på Færøerne slukkede for et år siden. Mere end 40.000 mainframebaserede PL/1-programmer blev konverteret til C# på Windows.

 

Færøerne er en traditionsrig fiskerination, hvor man gennem mange generationer har været vant til at klare sig selv og tilpasse sig et omskifteligt vejr. Hvis vejret var for dårligt til at tage ud at fiske, måtte man groft sagt finde noget andet at tage sig til på de små, nordatlantiske øer. Måske var det færingernes naturlige agilitet, som kom dem til gode, da et kæmpe migreringsprojekt var ved at kuldsejle.

Taks, som det færøske skattevæsen hedder, har i mange år fået udviklet og vedligeholdt sine it-systemer af hosting- og udviklingshuset Elektron, der frem til november forrige år havde den eneste mainframe på Færøerne.

Den var imidlertid ved at blive for dyr, da IBM hævede prisen på mainframelicenser med cirka en tredjedel. En ny aftale med IBM ville således stige med fire millioner kroner om året, så prisen samlet set var 30 millioner kroner over tre år. Desuden var det svært at få udviklere med de rette kompetencer til at vedligeholde og videreudvikle de gamle mainframeprogrammer.
– Vi forhandlede med IBM, men lige meget hvad vi forsøgte, kunne vi ikke få prisen ned, siger Ulla Joensen, der er direktør for Elektron.

Elektron var på samme tid også begyndt at undersøge, hvordan man fremover kunne vedligeholde mainframesystemerne.

Det færøske skattesystem er udviklet i starten af 1980’erne, blandt andet med hjælp fra konsulenter fra danske Datacentralen. Systemerne er skrevet i programmeringssproget PL/1 fra 1960’erne, og de fleste PL/1-udviklere er pensionerede, tæt på pensionsalderen eller døde. Det gælder også hos Elektron, hvor syv udviklere vedligeholder de gamle skattesystemer. Fem af dem er over 60 år, en er 55 år og den sidste bare 52.

Et lille agilt team

Elektron gik i 2013 i gang med et migreringsprojekt baseret på belgiske Raincode, der kan kompilere PL/1-kode til .Net bytekode og derved giver mulighed for at afvikle PL/1-programmer på Windows-platformen. Konverteringsprojektet blev dog stoppet efter små to år, da der ikke skete de store fremskridt. Migreringsprojektet var på den færøske finanslov, og politikerne ville se resultater. PL/1-udviklerne hos Elektron blev ikke yngre, og mainframelicensen ikke billigere. Noget skulle gøres, men hvad?

Det havde Alfred Joensen fra NES Technologies en idé til. Han mente, at han sammen med nogle gode udviklere kunne løse problemet på egen hånd.
– Hvis du har et mindre team med rigtig dygtige mennesker, så kan du komme igennem med meget, siger Alfred Joensen og henviser til Fred Brooks klassiske bog ’The Mythical Man Month’.
– Det er vores bibel, tilføjer han.

Brooks hovedbudskab er, at et projekt ikke bliver hurtigere færdigt ved at tilføje flere personer. Alfred Joensen fik sammensat et lille team bestående af udvikleren Tórur Strøm, der har en Ph.d. i optimering af mikroprocessorer, C#-udvikleren Torbjørn Lisberg og den aldrende PL/1-udvikler Torsten Krogsgaard.

Fra PL/1 til C#

Det lille team gik ufortrødent i gang med opgaven. Der blev uddelt hovedopgaver til hver enkelt, men de hjalp hinanden på tværs af opgaverne, så godt de kunne. Torbjørn Lisberg fik opgaven med at skrive en transformer, kaldet P2C, der kunne lave PL/1-kode om til C#.
– Jeg kendte ikke til PL/1, da jeg gik i gang, men jeg var godt inde i C# og .Net, siger Torbjørn Lisberg, som fik hjælp af Torsten Krogsgaard til at udvikle P2C.

Torsten Krogsgaard havde gennem mange år kodet i PL/1 og desuden programmeret i objektorienterede programmeringssprog som Java og C#. For at gøre transformeringen af PL/1 til C# nemmere besluttede teamet at implementere PL/1-datatyper og -strukturer som PIC i C#.

Det stod hurtigt klart for det lille team, at der var behov for CICS på Windows, da PL/1-programmerne udnyttede en række af de services, som CICS stiller til rådighed på mainframen.

Tórur Strøm havde hovedansvaret for udviklingen af CTS (CICS Transaction Server) og stod for implementeringen af kommunikationen med de gamle 3270-terminaler. Brugergrænsefladen skulle forblive uændret, så selv om systemerne kørte på windows-servere, ville brugerne anvende de gamle skærmbilleder. Det var hurtigere end at skulle redesigne de 1.050 skærmbilleder, som skattesystemet alene bestod af.

Grundigt testet

Foruden forretningslogikken bag de mange skærmbilleder skulle omkring 4.000 batchjobs omlægges til Windows, ligesom en borgerportal og en virksomhedsportal skulle flyttes over på Windows-platformen.

Det krævede et tæt samarbejde mellem det lille udviklingsteam, PL/1-udviklerne og senere hen alle brugerne af de mange systemer, så det blev grundigt testet, at konverteringen ikke skabte problemer.

Det var hårdt, især for PL/1-udviklerne, der på grund af deres store erfaring og indsigt i systemerne kunne se mange steder, hvor det kunne gå galt.
– Det var et kæmpe mentalt pres på medarbejderne, da de er belastet af viden. De ved så meget om, hvordan tingene hænger sammen, og hvor meget der kan gå galt. Så det var et stort pres, de gik gennem, siger Ulla Joensen, der priser alle de involveredes arbejdsindsats.

Efter en lang testperiode og et par generalprøver på migrering fandt den endelige migrering sted i weekenden 23.-25. november 2018. Det gik forbløffende godt, og systemet har nu kørt over et år og været igennem alle store kørsler såsom årsopgørelser uden problemer.

Nu overvejer Elektron, NES Tech og de andre involverede, hvordan de færøskudviklede komponenter kan anvendes til at hjælpe andre mainframeinstallationer med at migrere til Windows.