Was het 16-bits, single-tasking besturingssysteem Windows 3.1 er maar nooit geweest. Als IBM en Microsoft niet uit elkaar waren gegaan, dan hadden we nu alleen OS/2 gehad en hoefden we niet op te zien tegen die geldverslindende migratie van Windows 3.1 naar Windows 95, NT of OS/2.
De kosten van een upgrade naar een 32-bits systeem zijn hoog; volgens Microsoft ongeveer 1150 dollar per systeem voor hardware, software, drie applicaties en opleiding. De kostenbesparing op onderhoud schat Microsoft op 1100 dollar per jaar! Windows 3.1 zal ooit moeten verdwijnen, maar wanneer? En welk systeem komt ervoor in de plaats? Windows 95, zodat u binnen een paar jaar weer moet overschakelen op Windows NT?
OS/2-gebruikers kunnen rustig achterover leunen en zich gelukkig prijzen dat ze deze nachtmerrie niet hoeven mee te maken.
Het verlengen van de levensduur van Windows 3.1 is dan ook een voor de hand liggende optie, tot ongenoegen van Microsoft. Om dit te kunnen doen moeten we eens beter kijken naar het doel waarvoor PC’s worden gebruikt. Zogenaamde industrie-analisten (die met hun voorspellingen van de verkoopcijfers van Windows 95 en OS/2 zo’n 500 procent te hoog respectievelijk te laag zaten) slagen er maar niet in PC’s in categorieën op te delen. Aan een thuis-PC, een laptop, een zakelijke desktop-machine en een server worden nu eenmaal verschillende eisen gesteld. En dat zakelijke desktop-systeem moet ook verder opgesplitst worden. De meeste PC’s worden gebruikt voor kantoortoepassingen en eenvoudige raadpleegfuncties; ze draaien doorgaans onder Windows 3.1. Client/server heeft de PC echter ook op het terrein van de bedrijfskritische transactieverwerking gebracht. Veel van deze systemen zijn gescheiden van de kantoortoepassingen, al zal er altijd enige overlapping zijn.
Toch wordt onvoldoende toegegeven dat OS/2 het dominante PC-besturingssysteem voor gespecialiseerde transactiesystemen en event-gestuurde grafische applicaties is. De reden hiervoor is dat OS/2 als enige al langere tijd op de markt is. Omwille van de beveiliging en de robuustheid vereisen zulke applicaties protectiemechanismen zoals OS/2 die biedt (en nu ook Windows 95 en NT). Veel van deze toepassingen gebruiken geen PC’s maar technische werkstations van Sun, HP en dergelijke. Deze systemen beschikken niet over de duizenden applicaties voor Windows 3.1, maar dat is geen bezwaar; de beschikbare OS/2-produkten zijn goed genoeg. Het is bijvoorbeeld voor een bankapplicatie zelfs eerder een voordeel dan een nadeel als al die rommel niet verkrijgbaar is.
Desalniettemin worden gui-applicaties steeds gewoner; een groot aantal dekstop-gebruikers zal ermee geconfronteerd worden. Zij zullen behoefte hebben aan het grote aanbod aan PC-applicaties. Dit is discutabel, maar momenteel geen sterk argument omdat we de exorbitante kosten van PC’s nog niet onder controle hebben. Veel client/server-applicaties zijn ontwikkeld voor Windows 3.1. Over het algemeen zijn ze opgezet volgens het ‘dikke client’-model, waarbij alle applicatiecode op de PC draait en gebruik maakt van SQL of stored procedures om de gemeenschappelijke database aan te spreken. Deze code is vaak door wilde enthousiastelingen geschreven in talen als Visual Basic of Power Builder. Sterkte ermee; wie de enorme onderhoudskosten niet ziet opdoemen mag gerust naïef genoemd worden. Windows 3.1 is geen robuust systeem en zal dat ook nooit worden. Crashes komen veelvuldig voor. Dit is irritant in een kantooromgeving, maar daar kunnen we mee leven; in een bedrijfsapplicatie zijn ze echter ronduit gevaarlijk, vooral als moeilijk onderhoudbare code gewijzigd moet worden.
Het antwoord is een besturingssysteem dat in protected mode draait. Het maakt niet zoveel uit welk systeem dat is, maar dat verlengt het leven van Windows 3.1 niet. Er is dus een andere list nodig, en wel in de ontwerpfase: het ‘dunne client’-model. Hierbij bevindt alleen de individuele code voor het gebruikersinterface zich in de PC, samen met wat nuttige lokale berekeningen. De PC-code roept gemeenschappelijke code-modules aan die zich op de server bevinden. De code in de PC is relatief eenvoudig en daardoor beter en makkelijker te onderhouden. De server-code is veel conventioneler dan de client-code. De code maakt gebruik van reentrancy of herbetreedbaarheid, locking, beveiliging, recovery en dergelijke – kortom alle functies van een conventionele TP-applicatie, waarbij het grafische gebruikersinterface volledig wordt ondersteund.
Code voor de dunne client kan in elke taal geschreven worden; bijvoorbeeld VB, al is Delphi nu een betere gok. De enige eis is dat de middleware voor remote procedure call wordt ondersteund. En hier komen de Transaction Processing Monitors het veld op. Deze TP-monitors ondersteunen server-code en databases, maar bieden ook faciliteiten voor de client.
Merk op dat er bij een upgrade wel een zwaardere server nodig kan zijn, maar geen zwaardere PC. De relatieve eenvoud van een architectuur met TP-monitors zal de zwakheden van Windows 3.1 verbergen en zo de levensduur van dit besturingssysteem verlengen.