Web Analytics

SIG-project in de media: Delta Lloyd houdt 8 miljoen regels Cobol onderhoudbaar

Verzekeraar Delta Lloyd zag een scenario opdoemen waarin opeens aan ondoorgrondelijke Cobol-code gesleuteld moest worden die tot dusver achter een extra programmeerlaag schuil ging. Met een niet al te ingrijpende aanpak is dat scenario afgewend.

Geschreven door: Freek Blankena 
Verschenen in Automatisering Gids nr. 5, 2006

Al sinds 1985 heeft Delta Lloyd Verzekeringen geprogrammeerd in JSP Cobol en een daarbij behorende precompiler gebruikt die ‘reguliere’ Cobol-code creëerde - volgens de Cobol-74-standaard. JSP (Jackson Structured Programming) is een methode die sinds de jaren zeventig is toegepast op diverse procedurele talen en vervolgens vervat is in een gereedschap dat bovenop Cobol werd gebruikt. Bij Delta Lloyd ontdekte men dat hun JSP-compiler niet langer commercieel werd ondersteund; ze zijn een van de laatste gebruikers.
Het idee dat hun tool onbruikbaar werd omdat bijvoorbeeld op een ander platform gewerkt moest worden, boezemde enige angst in. "We hebben het onderhoud jarenlang alleen op de JSP-broncode uitgevoerd. Aan de resulterende Cobol-broncode is al die tijd geen aandacht besteed", zegt Peter Schoen, consultant bij Delta Lloyd. "Rechtstreeks onderhoud op die JSP-uitvoer is nauwelijks te doen." Leesbaarheid was een van de problemen. De Cobol-statements zijn veelal achter elkaar gezet met weinig commentaar en zonder opmaak, zodat een programmeur lang moet zoeken naar de aan te passen regels en moeilijk kan zien waar het volgende statement begint. Daarnaast behoefde de code ook enige modernisering. Een statement als EVALUATE die in JSP werd gebruikt, kwam in latere versies van Cobol zelf terug. Die structuur moest wel behouden blijven.
Het volledig door de conversiemolen halen van de 8000 JSP-programma’s zelf, met als resultaat een geheel nieuwe Cobol-portefeuille, was geen optie. "Als je een volledig nieuwe sourcecode bouwt, ga je ook je testinspanningen enorm verhogen en dat was qua tijd en geld niet meer in verhouding", zegt teamleider ICT Solutions Ted Peters van Delta Lloyd. Ook het nabouwen van de precompiler bleek niet te doen.

Compromis
In overleg met de Software Improvement Group (SIG) kwamen Peters en Schoen tot een tussenoplossing. De 8000 programma’s moesten ‘voor menselijke consumptie geschikt’ worden gemaakt, maar de aanpassingen moesten niet zover gaan dat voor al die programma’s een nieuwe gebruikersacceptatietest nodig zou zijn. Peters: "Het moest beperkt blijven tot een technisch testtraject." SIG, gespecialiseerd in het op grafische wijze inzicht geven in programmatuur die in allerlei talen geschreven kan zijn, bouwde voor het eerst een conversiegereedschap, dat een aantal dingen teweeg moest brengen. Zo moesten bijvoorbeeld ‘end-if’- en ‘end-search’-statements worden toegevoegd, moest ‘next sentence’ worden vervangen door CONTINUE en werden de in JSP gesimuleerde ‘evaluate’-constructies vervangen door EVALUATE-statements in de Cobol-code zelf. Veel aandacht ging ook uit naar het ‘pretty printing’; door een inspringende opmaak moest in een oogopslag gezien kunnen worden hoe de code is georganiseerd.

Code nu luchtiger
Na een testtraject op 150 representatieve applicaties zijn onlangs in een weekend vrijwel alle applicaties omgezet. Van de 600.000 ‘goto’-statements - die er door het JSP-tool waren ingezet, niet door de programmeurs - zijn er nu nog 280.000 over. Het aantal ‘next sentence’-verklaringen is gedecimeerd van 165.700 naar 28. Daarvoor in de plaats zijn ruim 100.000 ‘continue’-statements gekomen. Het aantal regels code steeg iets van 7.820.000 naar 8.042.000, maar die regels zijn een stuk ‘luchtiger’ en dus overzichterlijker geworden.
De migratie naar de nieuwe code wordt bij Delta Lloyd geen ‘big bang’, stelt Peters. "Dat is ook nergens voor nodig. Die oude programma’s draaien op zich prima. Zo gauw zich daarin storingen voordoen of anderszins onderhoud nodig is, gaat de beheerorganisatie met de nieuwe programmacode aan de slag." Dat is inmiddels met zo’n 300 programma’s al gebeurd. Ongeveer 130 programma’s waaraan ten tijde van de omzetting van de gehele applicatieportefeuille onderhoud werd gepleegd, moeten nog worden geconverteerd.
Peters is blij dat zijn team als buffer heeft kunnen fungeren tussen de beheerorganisatie van Delta Lloyd en SIG. "Beheerders blijven zo’n omzetting heel eng vinden. Het wantrouwen is groot." Directeur Marjo Wildvank van Software Improvement Group bevestigt dat: "We zien vaak angsten bij onze klanten. Het tempo wordt bepaald door de beschikbaarheid van ondersteuning en menskracht." Gebruikers van talen als Delta Cobol of RPG hebben volgens hem met dezelfde problematiek te maken.