Wat nu als ‘client/server-technologie’ wordt gepresenteerd is slechts een fase in een ontwikkeling. Er wordt geadverteerd met een produkt dat nog niet af is. Maar dat mag geen beletsel zijn, vinden Martin van Dongen en Rob van Westen. Men kan zeer goed applicaties ontwikkelen voor delen van de organisatie, en daarbij de problemen van een grootschalige aanpak omzeilen.
Het client/server onderzoek dat Heliview in september 1995 publiceerde, kwam voor menig IT-specialist met enkele opzienbarende onderzoeksresultaten. Zo zou het merendeel van de respondenten niet goed weten wat client/server nu precies betekent. R. van Zanten (Computable, 13-10-95) vindt het een ‘gemiste kans’, als het bij de constatering zou blijven dat het met de kennis van client/server-technologie zo pover gesteld is. Helaas is tot op heden geen gehoor gegeven aan zijn vraag naar een artikel dat uitleg geeft over het client/server-model en over de mogelijke voordelen en opbrengsten ervan.
Alles wat het afgelopen jaar over client/server is gezegd, lijkt de verwarring alleen maar te hebben vergroot. Is client/server een bruikbaar concept? "Nee", spreekt uit veel ervaringsverslagen. "Ja", zeggen de aanhoudende getuigenissen van de leveranciers. Is het de technologie van de toekomst? Volgens veel onderzoeksbureaus wel. "Niet overdrijven", zegt het eerder genoemde Heliview-onderzoek. Hooguit 5 procent van de Nederlandse bedrijven en overheidsinstellingen met meer dan twintig werknemers zou op dit moment een applicatie hebben "die doorgaat voor een client/server-toepassing". Daarnaast zou 11 procent zich in de onderzoeks- of implementatiefase bevinden.
Als het over client/server gaat, lijkt èlke constatering gerechtvaardigd. Legt men de in de afgelopen maanden verschenen rapporten over client/server naast elkaar, dan ontstaat een merkwaardige lijst van vaak tegengestelde resultaten, waarin geen enkele lijn te ontdekken valt. Concludeert Heliview begin september nog dat 80 procent van de Nederlandse bedrijven en instellingen niet op client/server zit te wachten, vrijwel tegelijkertijd tonen – met name Amerikaanse – onderzoeksbureaus een veel rooskleuriger beeld. Onderzoeken van ondermeer Butler Bloor, Strategic Focus en Computer Technology Research geven aan dat client/server door de meeste organisaties als dè IT-technologie van de toekomst wordt gezien. Zij verwachten een duidelijke groei.
Maar ook de Amerikaanse bureaus spreken niet met dezelfde tong. Sentry Market Research meldt begin november weliswaar het einde van de explosieve groei van client/server, tegelijkertijd wordt aangegeven dat maar liefst drie van de vier Amerikaanse ondernemingen client/server-technologie in huis heeft. En wat zegt Computer Technology Research nog in juli van dat jaar? "In de VS heeft 45 procent van de ondernemingen client/server-systemen in gebruik of concrete plannen in die richting." In Europa zou dat percentage zelfs op 54 procent liggen. Zetten we daar nog even het onderzoek naast van Butler Bloor bij 41 bedrijven in het Verenigd Koninkrijk en de Benelux. Hieruit blijkt dat vrijwel alle ondernemingen client/server als de IT-techniek van de toekomst beschouwen. Opvallend is volgens deze onderzoekers dat de meeste bedrijven, met name in de Benelux, zich nog in het oriënterende stadium bevinden. Ondanks de bewering van veel Nederlandse bedrijven dat zij nog ver verwijderd zijn van client/server, roept dit toch op zijn minst het beeld op van een ontwikkeling in de richting van client/server.
Wat is client/server?
Schreeuwt de markt om client/server, of laat het de markt juist koud? Loopt Nederland volstrekt uit de pas met de Europese ontwikkeling, of zijn de onderzoeksresultaten niet vergelijkbaar of zelfs onbetrouwbaar?
Als de resultaten van de onderzoeksbureaus zo ver uiteen lopen, kan men twijfelen aan de representatieve waarde van het onderzoek. Natuurlijk maakt het uit of een onderzoek met slechts 41 respondenten werkt (Butler Bloor) of met 444 (Heliview). Een tweede kanttekening lijkt nog veel meer hout te snijden. Als er in een aantal onderzoeken zèlf al wordt geconstateerd dat het begrip client/server niet voor iedereen even helder is, dan kunnen vraagtekens worden gezet bij de betrouwbaarheid of op z’n minst de eenduidigheid van de antwoorden.
Client/server is een architectuur van het informatiesysteem, waarbij – in de meest eenvoudige vorm – een fysieke scheiding wordt aangebracht tussen de presentatielaag enerzijds, en de applicatie- en de gegevenslaag anderzijds. Het doel van de client/server-architectuur is een zo efficiënt mogelijke verdeling van de werklast over de componenten van het systeem. Vaste onderdelen zijn een grafische gebruikersinterface op PC’s (de clients), die gekoppeld zijn aan een PC-server, mini of mainframe (de server). De kern van de client/server-methodiek is de communicatie tussen de server en de PC’s. Opslag en verwerking vinden plaats op de server, terwijl bewerking (presentatie) van de gegevens op de clients plaatsvindt. Daarmee wordt de informatie, die over het netwerk moet worden gezonden, zoveel mogelijk beperkt tot de te bewerken gegevens.
Mensen die een ‘ruim’ begrip hanteren zullen zeggen dat zij client/server in huis hebben, zodra er sprake is van een combinatie van een mini met PC’s die voorzien zijn van een gui, al dan niet gekoppeld door middel van terminal-emulatie.
Anderen met een ‘precieze’ formulering vinden het begrip client/server pas van toepassing als er effectief sprake is van gedistribueerde gegevensverwerking. Vaak bevindt een deel van de applicatie zich echter nog aan de client-zijde. Of is er sprake van een ‘oude’ applicatie, die front-end een grafisch gezicht heeft gekregen. Client/server, kortom, is een vlag die vele ladingen dekt.
Voor- en nadelen
Onze eigen ervaring – die met name ligt in de AS/400-omgeving – is dat veel organisaties die hun automatisering heroverwegen, ‘client/server’ hoog op het prioriteitenlijstje hebben staan. Vaak is men echter niet in staat aan te geven wat men precies wil met client/server. Het noemen van client/server wordt in de praktijk ingegeven door de technologie en niet door specifieke wensen van de organisatie of van de gebruikers.
Concreet biedt client/server de mogelijkheid om het mainframe te ontlasten of zelfs te vervangen door één of meerdere mini’s. Software kan op kleinere machines worden ontwikkeld. Verschillende – goedkope – processoren worden ingezet voor hetzelfde verwerkingsproces. Applicaties kunnen worden gepartitioneerd, zodat zij beter te onderhouden zijn. Deze kenmerken van client/server geven tevens de richting aan van de mogelijke voordelen van deze technologie. Voordelen die zijn terug te brengen tot lagere kosten, meer flexibiliteit en een grotere doelmatigheid.
Maar nadelen worden er ook geuit. Nadelen, die vaak lijnrecht tegenover de genoemde voordelen staan. Het meestgehoorde bezwaar is de complexiteit van client/server, die een goede beheersbaarheid van het systeem in de weg zou staan. De kosten van implementatie zijn hoog, mede door de grote complexiteit, en er is een groot gebrek aan terzake kundig en ervaren personeel. Tenslotte zetten velen vraagtekens bij het prestatieniveau, de beveiliging en de stabiliteit van de systemen, zodat als samenvattend tegenargument "onvoldoende rendement" wordt genoemd.
Welke definitie ook aan client/server wordt gegeven, uit de bovenstaande ‘sterkte/zwakte-analyse’ blijkt dat de veronderstelde waarde van het concept zeer controversieel is. Daarbij komt dat succesverhalen vrijwel alleen te vinden zijn in advertenties van client/server-aanbieders. Daarentegen keren griezelverhalen regelmatig terug in de vakbladen. Projecten mislukken omdat het systeem zelf niet valt te beheersen en/of omdat de kosten niet meer in de hand zijn te houden.
Wat is daarvan de oorzaak? Wanneer men de slecht-nieuws verhalen goed beluistert, blijken die vaak over projecten te gaan waarin client/server zeer grootschalig wordt aangepakt. Op zichzelf een logische aanpak, als men bedenkt dat client/server in één adem wordt genoemd met ‘downsizing’. Er dient een migratie van mainframe naar mini plaats te vinden, en een distributie van mini naar PC. Het gaat, met andere woorden, om een top-down benadering.
Projecten te grootschalig
Juist de grootschalige aanpak vormt een onoverkomelijk probleem. Zolang er geen goede tools zijn om client/server-applicaties vanuit één ontwikkel-omgeving te ontwikkelen, is er een beperking aan de omvang van de applicatie. Elke omgeving heeft (nog) zijn eigen handicaps. De tool is ofwel zeer betrouwbaar, maar zeer star en zonder enige vrijheid voor de ontwikkelaar, ofwel de ontwikkelaar moet zelf programmeren. Bij het ontwikkelen van client/server-applicaties is het hanteren van verschillende tools dan ook onontbeerlijk.
Een tweede aspect dat verband houdt met de schaalgrootte is het feit dat client/server-projecten vaak zeer traditioneel en erg ‘houtje-touwtje’ van opzet zijn: veel moet letterlijk aan elkaar geknoopt worden.
Ten slotte biedt het grafische gebuikersinterface zelf niet de stabiliteit die een dergelijk systeem behoeft.
Niet-technische benadering
Dan maar helemaal geen client/server? Dat is nog niet gezegd. Om de vraag naar de waarde van client/server beter te kunnen beantwoorden, pleit ik voor een niet-technische benadering van de problematiek. Veel helderheid kan worden verkregen wanneer men de karakteristieken, behoeften en wensen van organisatie, bedrijfsfuncties en eindgebruikers als invalshoek kiest. De vraag van ontwikkelaars moet dus niet primair zijn "wil de opdrachtgever client/server?", maar "wie zijn de gebruikers en welke eisen stellen deze aan het systeem?".
Wie die gebruiker ook is, hij wil op zijn desktop (snel) beschikken over die informatie waaraan hij krachtens zijn functie behoefte heeft, en over de mogelijkheid om die informatie met zijn eigen hulpmiddelen te vormen. Daarbij wil hij niet afhankelijk zijn van zijn geografische positie.
Op basis van de hier geschetste invalshoek kan de informatiseringsbehoefte van een organisatie als volgt worden gemodelleerd (zie figuur 1)
.
Centraal staat de statische laag, het gegevenspakhuis, de consistente database die is gevuld met alle min of meer statische bedrijfsgegevens en die is voorzien van de nodige autorisaties.
Het gegevenspakhuis wordt aangestuurd door de procedurele laag, het back office. Op dit niveau worden de bedrijfsregels vastgelegd, wordt de samenhang gecreëerd, worden de primaire processen uitgevoerd en lokale gegevens bewerkt.
De dynamiek van de organisatie is te vinden in het front office. Deze dynamische laag wordt gevoed met alle mogelijke informatie uit het gegevenspakhuis. Door middel van rapportgeneratoren komt die informatie in ‘hapklare brokken’ op het bordje van de eindgebruiker. Aan hem of haar de taak om deze informatie met behulp van powertools als spreadsheet, presentatieprogramma of tekstverwerker van het gewenste (eventueel grafische) uiterlijk te voorzien.
Door de vraag op de hier gestelde wijze te formuleren, kan iedere onderneming een eigen marsroute bepalen bij de vaststelling van het automatiseringsbeleid. Intern is onderscheid te maken tussen functies die zich specifiek met procesmatige informatiestromen bezighouden en functies die behoefte hebben aan veel en veelzijdige dynamische informatie.
Op dit moment is de techniek nog niet zover, dat dit model in extremo enterprise wide kan worden toegepast. De technologie ontwikkelt zich echter wel in die richting. De recente ontwikkelingen met betrekking tot het gegevenspakhuis betekenen in dit kader een belangrijke stap. Ook hier is de grootschaligheid een probleem. Naar alle waarschijnlijkheid heet de sleutel naar een doorbraak hier object-oriëntatie. Nu moet er nog een volledig bedrijfsmodel worden gemaakt en dienen alle details voorhanden te zijn. Door met objecten te werken, hoeven alleen de uiterlijke kenmerken te worden beschreven. Voordat die doorbraak een feit is, dienen echter een aantal andere knelpunten, waaronder de lokalisering, te zijn opgelost.
Client/server nog niet af
Hoe verhoudt het hierboven geschetste model zich tot het client/server-concept? Dat concept maakt de verwezenlijking van het model mogelijk. Alleen de client/server-architectuur kan er uiteindelijk voor zorgen, dat volledige communicatie tussen de kleine machine op schoot of op bureau met grotere systemen mogelijk wordt. Momenteel is deze gebruikerswens echter slechts gedeeltelijk realiseerbaar. Enerzijds zijn de low end powertools nu zo ongeveer tot alles in staat. Maar anderzijds kan de grote doos met informatie de gewenste gegevens (nog) niet aanleveren. De client/server-tools, die momenteel op de markt zijn, bieden elk als gezegd slechts een gedeelte van de benodigde functionaliteit. Omdat de complexiteit zo enorm groot is, zal de toekomst niet één complete ontwikkelomgeving zijn, maar een betere samenwerking tussen de verschillende tools. Negatief geformuleerd kan men zeggen dat de huidige situatie voor ontwikkelaars er één van ‘behelpen’ is. Feitelijk is wat nu als ‘client/server technologie’ wordt gepresenteerd een fase in een ontwikkeling, die nog lang niet ten einde is. Met andere woorden: er wordt geadverteerd met een produkt dat nog niet af is.
Kleinschaliger opzet
In de tussentijd hoeft men echter niet te wachten op wat komen gaat. De praktijk heeft geleerd dat het zeer wel mogelijk is om uitstekende client/server-applicaties te ontwikkelen voor delen van de organisatie.
Laten we terugkeren naar het ‘klantgerichte’ model. In termen van informatiebehoefte is er een duidelijk verschil tussen bijvoorbeeld de financiële administratie en de verkoop- of marketingafdeling. Daarom volstaat het in veel gevallen om ‘procesgestuurde’ functies te automatiseren met conventionele oplossingen. Natuurlijk zal ook de controller een grafiek willen opnemen in zijn jaarverslag. Maar het is de vraag of hem uitsluitend voor dat doel een client/server-applicatie moet worden aangeboden. Anders ligt dat bij het front office van de organisatie. Juist daar is behoefte aan veel en veelzijdige informatie, en kan nu reeds de inzet van op client/server gebaseerde applicaties goede diensten bewijzen.
Geen ‘interpersonal computer’
Is het hier geschetste scenario inderdaad houdbaar? Of krijgt Larry Ellison van Oracle gelijk met zijn toekomstbeeld, dat in een wereld van een theoretisch onbegrensd informatie-aanbod juist de ‘domme PC’ past, die is aangesloten op een alom aanwezig computernetwerk? Dat laatste lijkt een zeer plausibel concept. Per slot van rekening zijn er naar verhouding veel PC’s nodig en maar een paar servers, zodat onderhoud en beheer een stuk gemakkelijker zou worden. Dat de PC weer functionaliteit gaat inleveren ten gunste van de server lijkt evident. Toch is het hoogst twijfelachtig of deze ontwikkeling zo ver zal doorslaan als Ellison c.s. verwachten. In de eerste plaats wordt een en ander begrensd door de capaciteit van de netwerklijnen, die nu al regelmatig tot het uiterste worden belast. Ook de kosten van dat lijngebruik spelen een rol en niet te vergeten het feit, dat het inloggen op welk netwerk dan ook niet in alle omstandigheden mogelijk is (denk aan het notebook van de vertegenwoordiger). Tenslotte is er het ondoorgrondelijke gedrag van de consument. Nu koopt deze een hulpmiddel en gaat experimenteren welke functionaliteit hij heeft bemachtigd. Het is zeer de vraag of hij deze vrijheid zal willen prijsgeven voor het telkens opnieuw huren van functionaliteit.
Is client/server de toekomst?
Uit het bovenstaande betoog volgt, dat deze vraag eigenlijk niet op deze wijze mag worden gesteld. De kernvraag is hoe de informatiebehoefte zich zal ontwikkelen. Vervolgens kan worden geconstateerd dat het client/server-model de enige weg biedt om tegemoet te kunnen komen aan de vragen die gebruikers nu al stellen: "informatie van alle kanten op m’n bordje, samengesteld naar mijn eigen wensen ongeacht de fysieke locatie".
Client/server, met andere woorden, niet als doel, maar als middel. Daarom moeten IT-aanbieders zich anders gaan opstellen. Anders, dat wil zeggen, niet zomaar ‘client/server’ aanbieden, maar serieus met de klant bekijken waar zijn behoeften liggen. Het uitgangspunt is: "wat wil de klant doen?" en niet "waar wil de klant mee werken?"
De weg die vervolgens moet worden bewandeld is een weg van compromissen tussen gewenste functionaliteit en praktische haalbaarheid. Door het zetten van beheerste stappen doet men ervaring op en komt het uiteindelijke doel steeds dichterbij, te weten technisch onbegrensde interactie. Daarbij is de hoop gevestigd op het client/server concept, een concept dat nu helaas nog teveel hype is.
Martin van Dongen en Rob van Westen zijn werkzaam bij Synobsys BV in Capelle aan den IJssel, respectievelijk als hoofd Research en Development en als projectmanager.