Volgens Gartner gaan XML-servercapaciteiten een bloeiend leven tegemoet, maar is de zuivere XML-server op sterven na dood. Met dat laatste zijn Eric van der Steen en Boudewijn Dekker het niet eens.
XML is een waardevolle methode om informatie te structureren en te beschrijven en het gebruik ervan biedt vele voordelen, waarover al veel geschreven is en waarvan niemand meer overtuigd hoeft te worden. Gartner stelt dan ook dat ‘XML-servercapaciteiten een bloeiend leven tegemoet gaan’, maar vindt dat de zuivere XML-server ‘op sterven na dood’ is (Erik Vlietinck: ‘Zuivere’ XML-server is op sterven na dood, Computable, 23 januari 2004).
XML-documenten zijn in te delen in twee hoofdcategorieën: data-gecentreerd en document-gecentreerd. Data-gecentreerde documenten zijn beter gestructureerd en het onderliggende datamodel bevat veelal andere datatypes dan alleen tekst, die dan als element of attribuut worden gerepresenteerd. Document-gecentreerde documenten zijn minder gestructureerd, het belangrijkste datatype is meestal tekst en de hiërarchische structuur is van intrinsiek belang. XML-native databases (databases speciaal ontworpen voor de opslag van XML) gaan beter om met document-gecentreerde documenten dan voor XML geschikte (XML-enabled) databases (echte opslag in de onderliggende relationele, hiërarchische of objectgeoriënteerde database). De middenlaag van voor XML geschikte databases wordt geavanceerder en steeds meer van de standaard XML-interfaces worden geïmplementeerd.
Definitie
In het lezenswaardige overzicht van Ronald Bourret over XML en databases (http://www.rpbourret.com/xml/XMLAndDatabases.htm) probeert hij een definitie te geven van een XML-native database aan de hand van enkele kenmerken: definieert een logisch model voor een XML-document, en bewaart en haalt data op volgens dit model; heeft een XML-document als fundamentele eenheid van (logische) opslag; en hoeft geen specifiek onderliggend fysiek opslagmodel te hebben, maar kan gebaseerd zijn op een relationeel, hiërarchisch of objectgeoriënteerde model, of zelfs een leveranciersgebonden opslagformaat.
Op het moment dat in een voor XML geschikte database alleen XML-functionaliteit wordt gebruikt, vervalt dus het wezenlijke onderscheid met een XML-native database. Functionaliteit is immers waar het om gaat, iets dat de markt zich goed heeft gerealiseerd.
Wellicht is de bovenstaande definitie iets te ruim, als alle gerenommeerde databases ook het predikaat ‘XML-native’ kunnen krijgen. Het begrip ‘zuivere XML-server’ moet worden aangescherpt om het onderscheid met voor XML geschikte databases te verduidelijken en de voordelen naar voren te halen. XML is een zelfbeschrijvend, medium-neutraal en leveranciersonafhankelijk opslagformaat, beschreven door een mondiale standaard met een gedocumenteerd objectmodel en internationaal geaccepteerde interfaces. In onze definitie voor een zuivere XML-server moet geen tekort worden gedaan aan die uitgangspunten.
Een zuivere XML-server in onze visie: gebruikt internationale standaarden (http://www.w3c.org) als objectmodel voor een XML-document en ontsluit het document volgens internationale standaarden en interfaces (Document Object Model, DOM); heeft een XML-document als fundamentele eenheid van opslag dat platform-onafhankelijk ontsloten wordt (Unicode); en biedt daarnaast de gebruikelijke databasemanagement-functionaliteit (indexes, triggers et cetera; beveiligingsmodel; toegang voor meerdere gebruikers; en transactiemode)l. Als aan bovenstaande eisen is voldaan, komen de voordelen van het gebruik van een XML-database pas echt tot hun recht.
Brede inzetbaarheid
Al in de jaren zeventig en tachtig hebben de hiërarchische databases de strijd met de relationele databases verloren. In een goed ontworpen relationeel datamodel wordt informatie genormaliseerd opgeslagen, maar één keer dus, in een hiërarchisch model is dit niet altijd mogelijk. Dat maakt het ontwerp én gebruik van een relationeel datamodel niet makkelijk. XML repliceert weliswaar stukjes data, maar de leesbaarheid wordt daarmee vergroot. Een ander belangrijk voordeel van XML is dat het ontwerp van de database kan worden gestandaardiseerd. Er zijn voor een veelheid aan toepassingen en branches schema’s en dtd’s (document type definition) gedefinieerd die het mogelijk maken een gedegen ontwerp neer te zetten in korte tijd. Bovendien zijn veranderingen in het datamodel eenvoudig te realiseren.
Het gegeven van ‘kaartenbak-databases’ (flat file databases) is niet nieuw in de informaticawereld. De odbc-standaard is bijvoorbeeld ook van toepassing op csf (comma separate files). In dit licht bekeken is XML niet veel anders dan een tekstgebaseerde hiërarchische database. De voordelen van XML ten opzichte van deze systemen zijn evident. XML is zelfbeschrijvend en de codering is goed gespecificeerd. Een XML-bestand kan zonder veel risico met de hand gemodificeerd worden, terwijl dit bij csf vaak tot fouten leidt. Door dtd’s en schema’s te gebruiken wordt de data-integriteit gegarandeerd.
Wanneer in een database systeem relationele- en XML-data gemengd worden, kan je beter van een voor XML geschikte database gebruikmaken. Pas op, hiermee verlies je mogelijkheid voor het gebruik van standaard oplossingen gebaseerd op relationele- of XML-gebaseerde technologie. Indien een flexibel datamodel, open bestandsformaat en uitwisselbaarheid wel belangrijk zijn, kan je beter een zuivere XML-server kiezen. Dit zijn in het algemeen toepassingen die moeten integreren met internet of systemen die een standaard datamodel als basis hebben.
Open standaarden, onderhoudbaarheid en gebruiksgemak zijn begrippen die ervoor zullen zorgen dat de zuivere XML-server een eigen plek in de markt zal krijgen. De ‘naar algemene bedrijfsnormen wat beperkte omgeving’ is vanwege de brede inzetbaarheid van XML veel groter dan alleen een nichemarkt zoals in ‘Zuivere XML-server is op sterven na dood’ wordt gesteld.
Eric van der Steen, Boudewijn Dekker, Ellipsis, Amsterdam