Sinds 2005 vindt ieder jaar de XML Prague conferentie plaats. Deze driedaagse conferentie is gewijd aan XML en aanverwante technologieën. De 2013 editie vond vorige week plaats, in de gebouwen van de Praagse universiteit. Dit artikel geeft een kort overzicht van de onderwerpen die aan bod kwamen, en wat de ontwikkelingen op XML-gebied zijn.
XML bestaat dit jaar vijftien jaar, en je zou je kunnen afvragen of aparte conferenties hierover nuttig zijn. Het is immers een volwassen en stabiele technologie. Toch zijn er veel ontwikkelingen rond XML en aanverwante standaarden en technologieën. XML is veel meer dan met punthaken gemarkeerde tekst en gegevens. Er is een breed scala aan standaarden, technieken en bijbehorende producten voor het produceren en verwerken van in XML gerepresenteerde gegevens en documenten. Hiermee is het mogelijk om krachtige en efficiënte applicaties te bouwen met een minimum aan ontwikkel-inspanning.
De belangrijkste aandachtsgebieden op deze conferentie waren digitaal publiceren, semantisch web, XML vocabulaires, en efficiënt verwerken van grote verzamelingen XML.
XML en applicaties
In de praktijk zie ik dat weinig software-ontwikkelaars gebruik maken van de mogelijkheden die de standaarden en producten rond XML bieden. Er zijn genoeg projecten met als doel om een op XML gebaseerde applicatie te maken, maar dit gebeurt dan op een traditionele manier. Applicaties worden gebouwd in Java of C# en .net, XML gegevens worden omgezet naar een object-representatie, en vervolgens via een object-relational mapping opgeslagen in een relationele database. En als er dan uiteindelijk weer XML wordt gemaakt, gebeurt dat door stukken tekst aan elkaar te plakken, met hier en daar een ‘<’ of ‘>’ teken.
Traditionele software-ontwikkelmethoden richten zich op het specificeren en bouwen van functionaliteit, die uiteindelijk wordt vastgelegd in programmacode. In XML draait alles echter om gegevens, en de modellen achter die gegevens. De software komt daarna, en volgt de gegevensstructuren. Deze aanpak is zinvol, omdat gegevens meestal langer bestaan dan de software die deze gegevens verwerkt. In een gedistribueerde omgeving, zoals het world wide web, gebruiken anderen de gegevens op een manier die de producent niet had voorzien. Daarnaast is het vaak wenselijk om de structuur van gegevens te veranderen en uit te breiden. De meeste XML en semantisch web vocabulaires maken dit eenvoudig, zonder database (schema) migratie.
Een unieke eigenschap van XML is de mogelijkheid om documenten en gestructureerde gegevens te vermengen in ‘mixed content’ modellen. Hierin onderscheid XML zich van object-georiënteerde en relationele modellen en uitwisselings-representaties als JSON.
XML ontwikkelingen
Met de opkomst van web 2.x, en ‘rich internet applications’, vervullen technieken als javascript en de JSON gegevensrepresentatie een functie waarvoor oorspronkelijk XML en XSLT bedoeld waren. Dit komt door de op het eerste gezicht compactere notatie, en het imperatieve programmeermodel dat voor veel software ontwikkelaars vertrouwder is dan het functionele model van XSLT. Ook hebben sommige XML-gerelateerde technieken last van ‘design-by-committee’, bijvoorbeeld de nu grotendeels in onbruik geraakte ws-* standaarden. De afgelopen jaren is echter een toenadering op gang gekomen. Het bedrijf Saxonica brengt later dit jaar een (open source) versie van XSLT2.0 in de browser uit. JSON wordt nu ondersteund in de XML query-taal XQuery, de formulieren-taal XForms, en wellicht in de toekomstige XSLT versie 3.0. Een aantal sprekers ging hier dieper op in. Uiteindelijk kunnen deze ontwikkelingen ertoe leiden dat web-gebaseerde applicaties efficiënter, veiliger, en eenvoudiger te bouwen en onderhouden zijn.
Veel presentaties lieten zien hoe complexe applicaties gebouwd kunnen worden op basis van bestaande XML standaarden en componenten. De getoonde applicaties waren onder andere een gepersonaliseerd communicatie-platform (met workflow), een systeem voor het onderhouden en publiceren van collecties juridische documenten, een e-book productie-systeem, een volledig automatisch database publishing systeem, en een systeem voor het bijhouden en produceren van checklists voor het voldoen aan EU-regulering. Voor dergelijke applicaties is geen letter Java of C# code nodig, waardoor deze oplossingen robuuster, flexibeler en kosten-efficiënter zijn. Opvallend was dat de XML-verwerkingstaal XProc sterk in opkomst is, en in bijna alle getoonde projecten een belangrijke rol speelt.
Het semantisch web is al jaren lang een belofte die maar niet wil uitkomen. Hiermee zou het mogelijk zijn om informatie uit allerlei bronnen met elkaar te verbinden op basis van de betekenis van informatie. Dit jaar waren er voor het eerst serieuze toepassingen van semantisch web te zien, waarbij duidelijk werd welke keuzes er zijn voor de architectuur van dergelijke applicaties. Mijn verwachting is dat semantisch web en de query-taal SPARQL belangrijke onderwerpen zullen worden op de conferentie van volgend jaar.
Gedurende de conferentie waren er discussies over de toekomst van XML, zoals: Is er behoefte aan een versimpelde versie van XML? Moet het JSON-datamodel over de hele breedte ondersteund worden? Is de XProc-standaard te ingewikkeld? De XML gemeenschap is actief en staat open voor bijdragen van geïnteresseerde gebruikers. Dat laat zien dat XML na vijftien jaar een levende technologie is, die zeker nog vijftien jaar van belang zal zijn.
De titel klopt niet. Dat XML na 15 jaar nog steeds bestaat is in mijn ogen namelijk niet iets om te vieren.
XML is echt wel nuttig voor bepaalde toepassingen maar op een gegeven moment is men het echt compleet doorgeslagen met XML. Het is zo’n beetje het purschuim van de IT geworden. Maakt niet uit wat je uitdaging of probleem ook is, met XML lossen we het wel op.
@Gijsbert Peijs,
Ik snap jouw reactie, en hoewel ik zelf graag purschuim gebruik, geef ik onmiddelijk toe dat XML op een gegeven moment inderdaad voor de verkeerde dingen is gebruikt. Vandaar dat tijdens de conferentie XML niet tegenover bijvoorbeeld JSON is gezet. Een van de presentaties was “Embracing JSON? Of course, but how?”
Dat (vooral grote) bedrijven zo’n 10 jaar geleden de XML hype hebben gebruikt, en alles XML gingen maken om hun producten te kunnen verkopen, ligt vooral aan ‘slimme’ marketing, die technische gedrochten heeft veroorzaakt.
Daarnaast heeft XML een slechte naam door ontwikkelaars die op een verkeerde manier applicaties voor XML maken (en die Java of C# als een primitieve vorm van purschuim gebruiken).
Er zijn veel nuttige toepassingen van XML, voor gegevensuitwisseling, document management, analyse en transformatie van verzamelingen gegevens, het world wide web, enzovoorts.
Het feit dat XML na 15 jaar nog bestaat, en voortbouwt op de erfenis van SGM, GML en DSSSL, is wel iets om te vieren. Het is een standaard die door veel software ondersteund wordt, en die voor uitwisselbaarheid heeft gezorgd.
Dat XML niet de ideale standaard is, is duidelijk, en op de conferentie waren levendige discussies over zaken als microXML, namespaces, en andere punten die minder sterk zijn aan XML. Er zijn de efgelopen jaren vele alternatieven voorgesteld, waarvan eigenlijk alleen JSON enige populariteit heeft verworven. En in de JSON wereld zie je nu discussies als “moeten we namespaces hebben?” en “eigenlijk is een query-taal wel handig.” Vanuit de XML wereld is daar belangstelling voor, en proberen we de kennis en ervaring van de afgelopen 15 jaar daar nuttig te maken.