Het toevoegen van objectgeoriënteerde eigenschappen aan relationele databases biedt technisch-inhoudelijk gezien grote voordelen. In zo’n object-relationele database kunnen immers niet alleen teksten, maar ook foto’s, geluid en videofragmenten worden opgenomen, die met SQL-queries zijn op te vragen. Dergelijke databases zijn niet alleen van belang voor multimediale applicaties, maar ook voor de volgende generatie administratieve toepassingen.
De vraag of object-oriëntatie (OO) doorbreekt in de wereld van de relationele databases is echter een ‘honderdduizend-gulden-vraag’. Het antwoord hangt af van marktpolitieke factoren, waarbij de houding van Oracle van doorslaggevend belang kan zijn. "Misschien wordt binnen enkele weken over het lot van OO-technologie voor het komende decennium beslist", zo luidt de dramatische conclusie van René Veldwijk.
Veldwijk noemt zichzelf geen ‘industry-watcher’ of marktanalist, maar een bedrijfseconoom die sterk in de techniek is geïnteresseerd. In 1993 promoveerde hij bij professor Holtgrefe aan de VU op het proefschrift ‘Introspective systems design. Exploring the Self-Referential Capabilities of the Relational Model’. Tegenwoordig is hij directeur van FAA Partners in Maarssen, een bedrijf dat gespecialiseerd is in het ontwikkelen van onderhoudsarme administratieve systemen. Daarbij maakt hij gebruik van OO-technologie.
Te laat
"De idee dat OO-technologie rdbms-technologie zou verdringen heb ik altijd te gek voor woorden gevonden. De gedachte dat OO-concepten de wereld van ontwikkeltools zouden gaan domineren achtte ik veel waarschijnlijker. Ook van dat laatste is tot nu toe echter niet veel terechtgekomen", aldus Veldwijk die nadrukkelijk een onderscheid maakt tussen het toepassen van OO-concepten in de database-omgeving en in de wereld van de ontwikkelaars. "Dat onderscheid komt voort uit de achtergrond van de relationele en OO-subculturen. Beide komen voort uit de wetenschappelijke wereld. Die wereld kent drie stromingen: databasetheorie, programmeertheorie en Kunstmatige Intelligentie. Het domein van administratieve systemen – veruit het grootste toepassingsgebied van de informatica – werd tot de komst van object-oriëntatie gedomineerd door de database-bloedgroep, zeker na de introductie van Codds relationele model in 1970. De KI-bloedgroep heeft even mogen genieten van hype rond de expert-systemen, maar die is wegens gebrek aan succes doodgebloed. Tot ver in de jaren tachtig hadden Codd en zijn volgelingen dus het rijk alleen en hun primaire interesse was dbms-technologie. De relationelen waren alleen geïnteresseerd in programmeertalen voor zover het gaat om datamanipulatie. SQL, de standaardtaal voor rdbms-benadering, heeft nooit kunnen fungeren als complete programmeeromgeving en dat is ook nooit de bedoeling geweest. Wie meer wilde dan SQL, mocht zijn eigen ontwikkeltool bedenken. Het resultaat van die ontwikkeling is een sterk gestandaardiseerde databasewereld en een versplinterde wereld van ontwikkeltools. Pas in de jaren tachtig krijgen de programmeertheoretici met OO voor het eerst een voet aan de grond in de administratieve IT. Hun ideeën konden tot voor kort niet doordringen tot het dbms-domein en slechts gedeeltelijk tot het – op dat moment al met veelal slechte producten ingevulde – tooldomein. De chaotische situatie die van deze late entree het gevolg is, bepaalt het gezicht van de administratieve IT tot op heden", zo is de stellige overtuiging van Veldwijk, die doelt op het feit dat er een enorm aantal ontwikkeltools bestaat die doorgaans te gebruiken zijn in combinatie met elk belangrijk relationeel dbms. "OO-concepten zijn gewoon te laat gekomen om het soort van standaardisatie af te dwingen die het relationele model heeft gegeven in de wereld van de dbms-producten. Anders dan rdbms’en verschillen de huidige tools hemelsbreed, zowel in hun interne architectuur als in de ontwikkelinterface die ze aan de ontwikkelaars presenteren. Voeg daarbij dat ontwikkeltools per versie sterk kunnen verschillen en dat die versies elkaar soms snel opvolgen en "chaos" is het wachtwoord. Ik denk dat het Nederlandse bedrijfsleven minder geld kwijt is aan Jaar 2000-oplapwerk dan aan het upgraden van 4GL-legacy toepassingen. Het verschil is dat je over dit laatste nooit iets hoort. Zouden de OO-ideeën ingang hebben gevonden bij het ontstaan van de eerste generatie 4GL-tools dan zouden de verschillen tussen tools en tussen versies van tools vermoedelijk veel kleiner zijn", meent Veldwijk.
Recept voor rampen
De aanhangers van object-oriëntatie beweren dat de productiviteit van software-ontwikkelaars sterk omhoog gaat. Dat komt door het hergebruik van de code, dat wordt bevorderd door concepten als ‘information hiding’ (het structureren van informatie-uitwisseling tussen programma-onderdelen) en ‘inheritance’ (het toevoegen van specifieke functionaliteit aan meer algemene functionaliteit). OO-aanhangers wijzen er vaak op dat het veel tijd en moeite kost om het OO-denken over te dragen op ontwikkelaars van de oude stempel. Volgens Veldwijk is dat een ‘understatement’. "Voor zeer veel ontwikkelaars, ook voor goed opgeleide afstudeerders die OO-programmering al uit de schoolbankjes kennen, blijkt geavanceerd OO-programmeren te hoog gegrepen. Het vraagt van ontwerpers en ontwikkelaars het vermogen om abstract te denken en de attitude van een architect. De combinatie van opportunistische, er op los prototypende, RAD-minded ontwikkelaars met pure OO-tools is een recept voor rampen. ‘A fool with a tool is just a bigger fool.’ Neem als voorbeeld een ontwikkelploeg die voor een toepassing een bedrijfsstandaard voor schermopbouw en schermafhandeling wenst. Hun OO-ontwikkelomgeving maakt het mogelijk om deze eenmalig te definiëren in een generieke objectklasse. Stel dat ze na enkele tientallen schermen te hebben ontwikkeld, merken dat hun generieke objectklasse niet helemaal geschikt is voor het ondersteunen van bepaalde specifieke gebruikerswensen. Natuurlijk kunnen ze hun bestaande generieke klasse herdefiniëren, maar dit houdt in dat de werking van alle bestaande programmatuur dient te worden nagelopen.
Eenvoudig alternatief
Er bestaat echter een eenvoudig alternatief: trek een kopie van de generieke objectklasse en pas deze aan aan de additionele wensen. Opportunistische ontwikkelaars of ontwikkelaars onder tijdsdruk kiezen consequent voor de laatste mogelijkheid. Op korte termijn blijft hierdoor de productiviteit hoog, maar de OO-klassebomen veranderen al snel in een ondoordringbare jungle. Op dat moment slaan de voordelen van OO om in nadelen", meent Veldwijk, die hiermee niet de suggestie wil wekken dat OO-ontwikkeltechnieken slecht of verkeerd zijn. "Niet voor ontwikkelaars die nadenken over de architectuur van hun systemen, of voor ontwikkelaars die bereid en in staat zijn om gemaakte fouten rücksichtslos ongedaan te maken. Ook voor die ontwikkelaars is OO in het begin weliswaar een moeizame aangelegenheid, maar na enige tijd gaat de systeemontwikkeling steeds sneller. Los van het leercurve-verhaal blijkt dan namelijk dat het toevoegen van nieuwe functionaliteit steeds minder programmeerinspanning vereist, omdat de wensen steeds passen in de al gerealiseerde architectuur van generieke objectklassen. Dit is het standaard OO-verhaal. Ik voeg er slechts aan toe dat ik maar weinig bedrijven zie die deze idyllische toestand bereiken en dat ik de problemen uit eigen ervaring ken. Mijn eigen bedrijf is pas in de laatste zes maanden, na meer dan een jaar ploeteren, de vruchten aan het plukken van een eigen generieke OO-applicatieraamwerk. Software-ontwikkeling is nu een feest. Generieke programma-objecten worden van project naar project volledig hergebruikt. Het niveau van flexibiliteit dat we aan onze toepassingen kunnen meegeven is bij lange na niet haalbaar in de 4GL’s waarmee we eerder ervaring hebben opgedaan. Maar we hebben geleerd dat het feest snel voorbij is wanneer we gemaakte fouten niet radicaal en telkens weer oplossen.
Honderdduizend-gulden-vraag
OO-technieken hebben hun nut in de ontwikkelomgeving en lijken nu ook door te breken in de wereld van de relationele databases. De vraag is natuurlijk of het toepassen van dergelijke technieken in deze omgeving nuttig en zinvol is. Veldwijk: "Het technische nut is onomstreden. De vraag of het object-relationele dbms op korte termijn doorbreekt, is de ‘honderdduizend-gulden-vraag’. Het antwoord hangt af van twee soorten factoren: technisch-inhoudelijke en marktpolitieke. Mijn expertise ligt primair bij de eerste categorie van factoren, maar ik denk dat de tweede categorie voorlopig dominant is. Kijken we naar de marktpolitieke factoren dan zien we dat de rdbms-leveranciers lijken te kiezen voor het opnemen van OO-principes in hun producten. De toekomst lijkt dus object-relationeel, ook al omdat de aanbieders van pure object-georiënteerde databases zich niet richten op de markt voor administratieve toepassingen. Object-relationeel zou echter heel goed nog lange tijd een marketingbegrip kunnen blijven. Marktleider Oracle kiest voorlopig voor OO-achtige extensies voor specifieke applicaties in de sfeer van de multimediale en geografische toepassingen. Technisch is zo’n benadering in mijn optiek volstrekt verkeerd en bovendien op enige schaal onbeheersbaar. Informix met zijn Universal Server en IBM met DB2 hebben wel gekozen voor een integrale object-relationele benadering. Informix heeft zichzelf echter voorlopig uitgeschakeld door zijn revolutionaire database te positioneren in de vooralsnog marginale multimedia-markt. Dat is jammer, want met Universal Server zijn op het gebied van administratieve toepassingen dingen mogelijk, waarvan Oracle-klanten alleen maar kunnen dromen. Voorlopig lijkt het even ‘exit Informix’. IBM heeft het probleem dat zijn DB2-markt tamelijk geïsoleerd en vrij conservatief is. Sybase, de laatste grote speler, is bij mijn weten niet bezig met enige interessante vernieuwing op dbms-gebied. Wie de situatie met enig gepast cynisme bekijkt, kan zich de vraag stellen waarom Oracle met zijn enorme dominantie en grote ‘installed base’ haast zou maken met ingrijpende dbms-vernieuwingen. De concurrentie heeft zichzelf in de voet geschoten, zit in een aparte markt of doet niets. De doorbraak van OO in rdbms-producten kan om die reden best nog een jaar of vijf op zich laten wachten", aldus Veldwijk.
Nieuw begrip
Technisch-inhoudelijk zou een doorbraak van OO-technieken in de databasewereld grote voordelen bieden "Bij de discussies over object-relationele databases wordt de nadruk gelegd op een nieuw begrip, namelijk ‘extensibility’. Extensibility houdt in dat de ontwikkelaars hun eigen datatypen met bijbehorend gedrag kunnen definiëren en de dbms-optimizer kunnen instrueren hoe met die datatypen om te gaan. De grens tussen het dbms en de applicatie vervaagt op die manier. Precies hetzelfde is mogelijk bij geavanceerd gebruik van OO-ontwikkeltools. Daarop wordt vreemd genoeg zelden de nadruk gelegd. Voor administratieve toepassingen betekent dit dat het mogelijk wordt om SQL-queries uit te voeren op in de database opgeslagen foto’s, Word-documenten, audio- en videofragmenten, enzovoorts. Object-relationele dbms-technologie is niet alleen gericht op multimedia toepassingen, maar evenzeer op de volgende generatie administratieve toepassingen", aldus Veldwijk, die van oordeel is dat een combinatie van een object-relationele database en ‘niet OO-tools’ onmogelijk is. Een OO-ontwikkelomgeving vraagt niet om een object-georiënteerde of object-relationele dbms. Omgekeerd is dat wel het geval. Volgens Veldwijk wekt ook deze constatering weer twijfels over een snelle penetratie van object-relationele dbms-technologie. "Marktleider Oracle zit op dit moment vast aan een stokoude, volledig non OO-set ontwikkeltools. Het eigen Sedona-project dat bedoeld was om een nieuwe generatie OO-hulpmiddelen van de grond te krijgen, is jammerlijk mislukt, naar het schijnt om de redenen die ik hiervoor heb aangegeven. En zoals gezegd lijkt de dreiging van Informix, dat wel over een modern OO-ontwikkelhulpmiddel beschikt, voorlopig verdwenen."
Positief scenario
De toekomst van object-georiënteerde hulpmiddelen en object-relationele dbms-sen lijkt dus twijfelachtig. Maar er zijn ook een meer positieve scenario’s te bedenken. Bijvoorbeeld door een snelle terugkeer van Informix op de markt of doordat IBM definitief uit zijn schulp kruipt. "Mijn favoriete scenario is gebaseerd op een gedachte die nog geen gemeengoed is", aldus Veldwijk. "Moderne 4GL tools, OO of niet, zijn tegenwoordig allemaal gericht op gebruik in client/server-omgevingen. Langzaam maar zeker begint het besef door te dringen dat client/server een slecht idee is. Netwerk Computers, Software Partitionering en Java zijn onderdelen van een nieuwe trend die kan worden gekarakteriseerd als ’terug naar de server’ en ‘weg van kostbare en complexe systemen’. Van de huidige ontwikkelhulpmiddelen zijn echter alleen de op OO-gebaseerde producten geschikt om deze trend vorm te geven. Het gerucht gaat dat Oracle op het punt staat om Forte in te lijven. Het is een bedrijf dat één van de meest geavanceerde OO-hulpmiddelen op de markt brengt. En waarin onderscheidt Forte zich van andere hulpmiddelen? Juist ja, in extreme partitioneerbaarheid. Forte maakt het mogelijk om in een client/server-netwerk programma-objecten op ‘drag-and-drop’ basis te verplaatsen. Dat betekent in de praktijk: naar de server. Koopt Oracle Forte en gooit het zijn bestaande Developer-hulpmiddelen op de schroothoop, dan ontbreekt er nog maar één schakel aan Larry Ellisons NC-ideaal: een object-relationeel dbms dat het mogelijk maakt om de vele naar de server verplaatste client-processen op één plaats en dus gecontroleerd en efficiënt af te handelen. Die laatste horde moet een bedrijf dat eens dbms-producten ontwikkelde, toch binnen enkele jaren kunnen nemen, zeker als ze lering trekken uit het Sedona-echec. Misschien wordt in deze weken over het lot van OO-technologie voor het komende decennium beslist."
Cok de Zwart, freelance medewerker Computable
Seminar: Object-relationele database, nieuwe DB-technologie
Het lijkt erop dat de database-systemen van Oracle, Informix, Sybase, IBM en Microsoft alle de weg opgaan van de object-relationele database (ORDB). Relationeel zijn al die databases al een hele tijd. Nu komt daar ook het recente object-concept bij. En ieder heeft zo een eigen manier om objecten in de database te stoppen. De ene kleeft eenvoudigweg een object-laag bovenop de bestaande relationele database, de andere integreert objecten diep in de roots van het systeem. Rick van der Lans (managing director R20/Consultancy) legt uit wat het verschil is tussen een relationele database (RDB) en een ORDB. Waarom die letter ‘O’ meer is dan een marketingslogan, wat de voor-en nadelen zijn en waar de verschillende spelers op de markt nu werkelijk mee bezig zijn, zijn de drie hoofdthema’s uit deze lezing. Ook de praktische kant van de zaak blijft niet onaangeroerd.
Van der Lans gaat dan ook na hoe (traag) de ontwikkeltools evolueren en in hoeverre een bestaand tool met de nieuwe technologie kan omspringen. Datum : woensdag 22 oktober, 10.00-11.00.