Terug naar de beginpaginaCentor Homepage

Extendible Markup Language

XML is in toenemende mate de nieuwe standaard aan het worden

XML — Extendible Markup Language — is in toenemende mate de standaard aan het worden voor data-overdracht tussen business‑systemen. Ondersteuning van deze standaard wordt voor veel toeleveranciers van softwareoplossingen dan ook steeds belangrijker. Maar biedt XML louter voordelen of moet er voorlopig nog wat genuanceerder tegenaan gekeken worden? Gaan bijvoorbeeld databases zoals we die kennen in rap tempo verdwijnen of is het verstandig oude schoenen nog niet weg te gooien?

XML is in vier toepassingsgebieden te verdelen: als technische interface tussen systemen, als (interne) datastructuur, als database en voor de semantische beschrijving van interfaces.

Tot dusver werden interfaces gerealiseerd als CSV-bestand, dat gewoon voor mensen leesbaar is. XML heeft een aantal voordelen boven CSV: velden kunnen op een eenvoudige manier toegevoegd worden en als de interface wordt gewijzigd hoeven niet beide systemen tegelijk te veranderen. Een ander belangrijk voordeel is dat XML een hiërarchische structuur heeft, waardoor in plaats van een serie onderling gerelateerde CSV-bestanden nu kan worden volstaan met slechts één bestand. Wel is het zo dat XML net als een CSV-interface ook een interface beheersysteem gebruikt.

XML is dus een standaard, maar nog niet de harde standaard die het zou moeten zijn. In hun haast om zo snel mogelijk met hun eigen variant op XML te komen, hebben leveranciers een behoorlijk aantal standaardisatieproblemen veroorzaakt. Microsoft heeft zoveel updates van haar XML-software uitgebracht, dat een door Microsoft software aangemaakt XML-bestand soms niet door een ander Microsoft‑systeem gelezen kan worden. Een net iets andere release van een Service Pack of van Internet Explorer kan ervoor zorgen dat een fraai XML-bestand door een andere Windows variant niet herkend wordt. CSV is eenvoudiger en heeft deze problemen dus niet. Wie XML wil gebruiken, zal hier dus rekening mee moeten houden. Het is niet handig zomaar te vertrouwen op de toevallige aanwezigheid van de Microsoft XML-parser op een computer, omdat er te veel varianten in omloop zijn. Minimumeis is dat op alle computers dezelfde Internet Explorer versie is geïnstalleerd. De installatie van een Service Pack of een update van Explorer kan echter naderhand weer roet in het eten gooien. Zeker wanneer je geen controle over de andere computers hebt, is het verstandig een eigen XML-parser in je software te creëren.

XML is ook kandidaat om in de toekomst systemen van verschillende bedrijven en overheden met elkaar te verbinden. Ontelbare comités zetten zich in om deze interfaces te standaardiseren, met als gemeenschappelijke taal XML. Daar ligt een lastige opdracht. Want als twee dingen dezelfde naam hebben, betekent dit nog niet dat hiermee altijd hetzelfde wordt bedoeld. Dat gaat verder dan waar de één een bank als een financiële instelling ziet en de ander meent met een zitmeubel van doen te hebben. Dit heeft ook veel te maken met het gezichtspunt van waaruit iedere organisatie een benadering kiest. Wat voor de één groot is, kan vanuit het perspectief van een ander juist klein lijken. En waar de mens — die eindeloos intelligenter is dan alle computers bij elkaar — vaak al moeite heeft met het standaardiseren van dergelijke begrippen zal dit (gevoelsmatige) onderscheid voor een computer al helemaal moeilijk te maken zijn. Fysieke gegevens lenen zich hier daarentegen wel voor; maten en gewichten, hoeveelheden, plaatsen op aarde zijn allemaal zaken waarover geen verwarring kan ontstaan.

Een echt nuttige toepassing van XML is het gebruik als parameterbestand voor programmatuur. De door programmeurs in te voeren gegevens sturen het gedrag van programma’s aan. Dit is te vergelijken met INI‑bestanden die op Windows 3.1 waren te vinden, maar dan in een modern jasje gestoken. Deze XML-bestanden worden alleen gelezen. Geschreven wordt er niets; er vindt dan ook geen manipulatie plaats. De hiërarchische structuur van XML maakt het tot een ideaal hulpmiddel voor de aansturing van parameters. Programmeurs kunnen het lezen en aanpassen en omdat ook testafdelingen ermee overweg kunnen, zullen zij in staat zijn het programma onder verschillende omstandigheden te testen.

XML is ook prima geschikt voor de aansturing van webpagina’s: in feite een bijzondere vorm van programma‑parameters. XML kan bijvoorbeeld gebruikt worden als verpakking van HTML. De website zelf wordt dan op de server opgeslagen als een XML-structuur met daarbinnen HTML. Het bekende ‘menu aan de linkerkant’ kan dan een XML-structuur zijn, die vlak voor het tonen wordt omgezet in puur HTML. Daardoor werkt een website ook voor gebruikers die Netscape en Opera gebruiken of die Javascript uitgeschakeld hebben.

Ook binnen Web Services bewijst XML zijn nut. Een Web Service op basis van het SOAP-protocol is een heel mooie manier om tussen twee servers gegevens uit te wisselen, daarbij gebruikmakend van standaard internetprotocollen als HTTP. Over dit onderwerp is overigens een boek verschenen.

Web Services zijn gebaseerd op XML, dus wie gebruik wil maken van Web Services moet XML gebruiken.

We kunnen dus stellen dat XML zijn nut kan hebben voor technische interfaces. XML kan worden opgeslagen als veld in een database en is bovendien handig als vervanger van INI‑files. Daarmee kun je gemakkelijk op het idee komen om XML vervolgens te gaan gebruiken als vervanger van een database. Daarvoor is XML — ondanks de hiërarchische en flexibele structuur — echter minder geschikt.

Voor opzoekoperaties is XML niet ideaal; de flexibiliteit kost performance. XML ontbeert datgene wat relationele databases sterk maakt: data die zodanig is opgeslagen dat het eenvoudig teruggevonden kan worden, minimale schijfruimte in beslag neemt en een zo gering mogelijk aantal operaties richting intern geheugen heeft. Bovendien ontbreken natuurlijk allerlei faciliteiten die bijvoorbeeld de Oracle database zo prettig maakt om mee te werken: een prettige query taal, query optimalisatie, replicatie en stored procedures.

 
* ORCL / XML FAQ
* ORCL XML Dev. kit
* ORCL XML Parser for J2
* ORCL XML Portal
* ORCL and XML (artikel)
* Storing XML in an ORCL DB
* XML Startpagina
* XML / Oracle boeken
* Meer Oracle boeken...