Tegenwoordig is het heel gewoon om twee of meer computers te koppelen met het doel afzonderlijke delen van een applicatie te draaien. Sinds de komst van pc’s en lokale netwerken heeft een ‘mult-tier’architectuur het overgenomen van de vroegere domme terminals die waren verbonden aan een enkele centrale computer. Het directe voordeel van ’two tiers’ betreft het gemak waarmee een interactief grafisch gebruikersinterface is te implementeren; met de huidige dunne-client architectuur is dat inderdaad een goed idee.
Helaas ging het helemaal mis. Daarover straks meer, maar bedenk dat ander lagen dan de gui/host nuttig te gebruiken zijn, met name de scheiding van het file-systeem en waarschijnlijk de database in een aparte machine (of machines). Het is nu ook gebruikelijk om aparte machines te gebruiken om wat van de software te draaien die wordt gebruikt voor de integratie van nieuwe technologieën met legacy-systemen; webservices zijn hiervan een specifiek voorbeeld.
Helaas bedreigen enkele ernstige problemen de it. Het gaat om de legacy-systemen, niet de oude batch- en mainframeapplicaties, maar de dikke-client-applicaties uit de jaren negentig. Het probleem is dat de architectuur fout is en dat grote delen van een applicatie die op een server gedeeld zouden moeten worden, zo geschreven zijn dat ze op de pc-client worden uitgevoerd. Dikke-client-applicaties zijn enorm moeilijk op te schalen en te ontwikkelen; veel projecten zijn nooit de prototypefase gepasseerd. Behalve in eenvoudige gevallen zijn ze bijna niet te handhaven. De dramatische conclusie luidt dat ze moeten worden geschrapt en vervangen door hun dunne-client-equivalenten. Dit betekent een hoop herschrijven. Veel organisaties zijn overduidelijk niet in staat of bang om door de zure appel heen te bijten en gaan door met geld over de balk te gooien om hun verspilling te rechtvaardigen.
Terwijl we ons zouden moeten concentreren op het uiteenrafelen van de dikke-client-puinhoop, lopen we het gevaar op een zijspoor te belanden met een andere, even domme architectuur; ‘peer-to-peer’.
‘Peer-to-peer’ betekent simpelweg dat twee gelijkwaardige eenheden samenwerken alsof ze één zijn. Voor mij betekent dit twee of meer systemen met dezelfde mogelijkheden, maar Microsoft hanteerde de term al eerder met betrekking tot het delen van bestanden.
Zelfs de eerdere ‘zeer dikke’ lan’s, die alle logica in elke pc draaide met een gemeenschappelijk systeem voor het delen van bestanden, gebruikten een aparte machine voor de file- en de printserver. Dat betekende n+1 machines voor n gebruikers; prima in het geval van veel gebruikers maar niet bij drie of vier.
Dus introduceerde Microsoft met Windows 3.11 een faciliteit waarmee elke pc op een netwerk zowel client als file- en printserver kon zijn (genaamd ‘peer-to-peer’, een nieuwe betekenis in de Engelse taal). Wegens de zwakte van Windows 3.11 was dit niet zo’n goed idee, omdat met elke pc ook de server crashte. Maar nu zijn er internet en miljoenen pc’s, alle krachtiger dan de mainframes van tien jaar terug, op zoek naar iets dat alle hype en uitgaven zou kunnen rechtvaardigen. Het is onmogelijk om de kosten van 75 procent of meer van de pc’s in het bedrijfsleven te rechtvaardigen, maar door de invloed van internet moeten wellicht alle consumentenmachines in het plaatje mee worden genomen. Deze machines zijn krachtig omdat de applicaties die erop draaien die kracht eisen. Zo gebruik ik mijn pc voor muziek en fotografie, en dat slurpt veel capaciteit in vergelijking met de meeste desktop-applicaties. Spelletjes zijn nog zo’n grootverbruiker van resources in de consumentenmarkt, niet in de zakelijke markt. In het algemeen zijn de consumentenapplicaties bestemd voor één gebruiker, terwijl de bedrijfsapplicaties gericht zijn op meerdere gebruikers. Een groot verschil. Werkplekken in bedrijven kunnen op economische wijze gekoppeld worden aan krachtige servers waarbij hoge snelheden gewaarborgd zijn, terwijl de consumentenmarkt het nog steeds met lage snelheden moet doen. Veel ontwikkelingen zijn relevant voor één sector maar niet voor de andere, ondanks de gemene deler: de pc.
De consumentenmarkt keek nog eens naar de ‘peer-to-peer’ van Windows 3.11, die nu praktischer is dankzij ‘multi-tasking’ besturingssystemen, betere prestaties en een iets grotere betrouwbaarheid. Vervolgens werd het gebruikt voor internet. De vraag is of dit relevantie heeft voor gebruikers in bedrijven!
Martin Healey, pionier ontwikkeling van op Intel gebaseerde computers en c/s-architectuur. Directeur van een aantal it-bedrijven en professor aan de Universiteit van Wales.