Vroeger vond alle verwerking centraal plaats. Daarna zorgden terminals voor toegang op afstand. Tenslotte werd de verwerking echt gedistribueerd. Toch is het nooit echt zo eenvoudig geweest. Centraal betekende een centraal systeem voor elke organisatie; er was geen spreiding tussen organisaties.
In grotere organisaties waren er meestal meerdere grote centrale systemen. In de jaren tachtig werden de zaken gecompliceerder doordat de minicomputer opkwam en de digitale verwerking zich uitbreidde met procesbesturing en instrumentatie. Minicomputers werkten niet goed samen met mainframes. Maar dat maakte niemand iets uit, omdat ze toch onafhankelijk van elkaar werkten. De problemen ontstonden pas toen systemen op elkaar aangesloten moesten worden. Bijvoorbeeld het productiesysteem op de orderverwerking.
Het nieuwe gebruik stelde steeds hogere eisen aan de computer. Mainframes werden steeds groter en de machine werd opgesplitst in meerdere virtuele machines. Minicomputers konden niet groter worden, dus werden er meerdere machines ingezet, die met netwerken aan elkaar werden gekoppeld. Beide oplossingen vallen in de categorie ‘gedistribueerde verwerking’. De mainframes gebruikten logische subsystemen, de minicomputers fysiek gescheiden machines. Leveranciers van minicomputers, met name Digital, ontwikkelden ‘peer-to-peer’ netwerken, terwijl IBM gedistribueerde toegang ondersteunde. Beide benaderingen hadden zo hun voordelen. Maar toen kwam Unix en daalden de hardwarekosten, waardoor netwerken essentieel werden. Decnet was de pionier, SNA het mainframe-equivalent; grote winnaar werd echter de Internet-technologie, ondersteund door Unix.
Al deze ontwikkelingen werden gecompliceerd door een andere vorm van gedistribueerde verwerking: client/server. Client/server is in feite afgeleid van de mainframe-architectuur. In een mainframe-omgeving gebruikt de database één partitie, de software een andere partitie, en het gebruikersinterface weer een andere partitie. Alle koppelingen, bijvoorbeeld Bms/Cics/Db2, zijn intern. In een client/server-omgeving geldt dezelfde scheiding, waarbij de componenten zowel logisch als fysiek gescheiden kunnen zijn. In plaats van terminals worden gui-interfaces gebruikt om de gebruikersinteractie te verbeteren.
De architecturen lijken dus op elkaar, maar helaas is er geen migratiepad. De bestaande applicaties zijn ontwikkeld voor karaktergeoriënteerde schermen. Gui-technieken kunnen wel worden toegepast, maar in de regel is een nieuw, geïntegreerd ontwerp nodig. Tegenwoordig gebeurt dat door middel van dunne client-applicaties, waarvoor zowel client- als serversoftware geschreven moet worden. Als gevolg hiervan zullen we de komende jaren alles op alles moeten zetten om het oude met het nieuwe te integreren; we kunnen het ons niet veroorloven alles opnieuw te ontwikkelen.
Helaas is er de laatste tijd veel energie gestopt in het ontwikkelen van dikke client-applicaties. Zowel de presentatiecode als de transactiecode zijn naar de PC-desktop overgeheveld. Dit lachwekkende concept is ons aangepraat door de leveranciers van PC’s en relationele databases.
Het effect van een dunne client-architectuur is dat het gedistribueerde model opnieuw aan verandering onderhevig is. We zijn weer helemaal terug bij het oude mainframe. De trend is overal zichtbaar. NT en alle Unix-leveranciers implementeren transactiediensten om dunne clients te kunnen ondersteunen. Natuurlijk gaan we niet terug naar de dagen van het groene beeldscherm. We zullen nieuwe applicaties moeten ontwikkelen – en gateways voor de koppeling met bestaande legacy-systemen.
De recentralisatietrend is binnen de eigen organisatie eenvoudig te realiseren, omdat lokale netwerken sneller en goedkoper zijn dan ‘wide area’ netwerken. Onder invloed van Internet groeien ‘wide area’ netwerken echter snel toe naar een niveau waarop een dunne client-applicatie de PC kan vervangen. Het netwerkcentrische concept leidt ons dus weer terug naar de centrale verwerking. Leveranciers beweren dat het netwerk verwerking op elke gewenste locatie mogelijk maakt – ja, maar dan wel in het centrum, waar we het kunnen beheersen.
Betekent dit het einde van gedistribueerde verwerking? Nee, natuurlijk niet. We gaan echt niet naar één enorme centrale computer, maar naar een model waarin duizenden (geen miljoenen) systemen de diensten leveren. En deze centrale systemen moeten met elkaar samenwerken. Het gaat er dus om waar het accent ligt. In plaats van totale gedistribueerde verwerking, waarbij elke gebruiker zijn eigen systeem heeft, zal er sprake zijn van een zekere hiërarchie. Gebruikers hebben via een netwerk toegang tot een centrale server, die kan samenwerken met andere diensten zonder dat de gebruiker hier iets van merkt. Gebruikers en servers vormen samen een ster, de servers onderling zijn horizontaal gekoppeld. Zo’n architectuur is voor de meeste grote organisatie een perfecte oplossing, omdat hun legacy-systemen gewoon knooppunten in het servernetwerk worden, waarbij tegelijkertijd alle trends op gebruikersgebied kunnen worden meegenomen.