Voor één keer kan de IT-industrie trots op zichzelf zijn. Tenminste, diegenen die verantwoordelijk zijn voor onze informatiesystemen. De millenniumovergang heeft nauwelijks problemen opgeleverd. Er waren geen kernrampen, stroomstoringen of neerstortende vliegtuigen en daar mogen we de IT-industrie dankbaar voor zijn. Het is voor een groot deel te danken aan al die programmeurs die hard hebben gewerkt om de problemen met tweecijferige datumvelden op te lossen.
Toch ben ik persoonlijk zeer teleurgesteld over de manier waarop de televisie aandacht aan dit onderwerp heeft besteed, tenminste hier in Engeland. De teneur is dat de IT-industrie het publiek heeft misleid en alle verhalen over dreigende calamiteiten verzonnen heeft. Ik zou niet weten waarom iemand dat zou willen doen. Feit is dat het probleem alleen kon worden opgelost door er grote hoeveelheden tijd en geld aan te spenderen. Het is een onplezierig aspect van het moderne leven dat de media zo’n enorme invloed hebben en daarbij het principe hanteren dat geen nieuws slecht nieuws is. Het waren net aasgieren die boven hun prooi cirkelen. De media zaten te wachten op een grote ramp om tijdens ‘prime time’ de televisieschermen te kunnen vullen. Toen dat niet gebeurde, konden ze het niet opbrengen om degenen die het probleem hadden opgelost te feliciteren. Zulk nieuws scoort immers niet. In plaats daarvan bedachten ze zelf een ander probleem door te suggereren dat er onderhandse deals waren gesloten.
Het millenniumprobleem is natuurlijk nog niet voorbij. Er zullen nog veel problemen boven water komen. Omdat grootschalige transactiesystemen de grootste risicogroep vormden, was het een groot geluk dat de meeste van zulke applicaties in Cobol geschreven zijn. De syntax van Cobol is voor een niet-ingewijde veel eenvoudiger te volgen dan de meeste andere talen. En omdat Cobol-programma’s het leeuwendeel van de onderzochte code vormden, hadden programmeurs de beschikking over een groot aantal goede software-tools. In het begin werd wel geroepen dat het millenniumprobleem door Cobol werd veroorzaakt. Dat is natuurlijk niet waar. Niet de programmeertaal was de schuldige, maar de programmeurs. De eigenschappen van Cobol (en PL/1 en 4GL’s) hebben er juist voor gezorgd dat het probleem kon worden opgelost. De schrik slaat je om het hart als je je voorstelt welke ramp er zou zijn gebeurd als onze kernapplicaties in Visualbasic of C geschreven zouden zijn.
Aan het millenniumprobleem is ook een groot voordeel verbonden. Al onze kernapplicaties zijn grondig gesaneerd en verkeren in een betere vorm dan ooit tevoren. Het zal nu veel eenvoudiger zijn om uit de massa’s code in deze legacy-systemen herbruikbare componenten te destilleren. Naast de tevredenheid van een goed geklaarde klus is er dus ook een directe ‘return on investment’, en dat is een goede zaak.
Het resterende probleem is zoals gebruikelijk de PC. Op elke PC draait software. Het is moeilijk om te garanderen dat de code op elke PC getest is. Het feit dat de meeste kernapplicaties van een file-server worden geladen, maakt het probleem gelukkig iets eenvoudiger. Gelukkig zijn er nog niet al te veel ‘dikke client’-systemen in productie. Toch is er nog één potentieel mijnenveld: de Dynamic Link Libraries (dll’s). De dll-techniek vindt zijn oorsprong in Windows 3.1 en is dus wijd verbreid. De meeste PC-programma’s hebben een hoofdprogramma in de vorm van een exe-file. Het hoofdprogramma roept weer routines uit ‘libraries’ aan met behulp van het dll-interface. De meeste organisaties hebben alleen de exe-files op millenniumbestendigheid getest, maar hebben de dll’s overgeslagen. Dll’s zijn moeilijk te testen omdat ze uit verschillende bronnen voortkomen. Dit leidt tot een groot probleem: de broncode van de meeste dll’s is niet beschikbaar.
Alleen dll’s die berekeningen met gegevens uitvoeren lopen risico. Het gaat daarbij om ‘dikke client’-applicaties. Gelukkig zijn die meestal slechts twee tot drie jaar oud en dus niet kwetsbaar voor de millenniumbug. Er zullen voor de tweede helft van dit jaar dan ook geen serieuze problemen opduiken. Komen er wel problemen, dan zal het in veel gevallen gaan om kantoorapplicaties (niet de basissystemen zoals Word). Sommige van die kantoorapplicaties zijn bedrijfskritisch. Heeft u uw dll’s al op millenniumproblemen gecontroleerd? En Microsoft, Lotus en de anderen? Ik vraag het me af.