Webservices zijn geen data Column ir. Arie J. Duindam In mijn vorige column heb ik verslag gedaan van mijn zoektocht naar de toestemming om het NWB-wegen te mogen hergebrui ken. Dit is inmiddels gelukt, wat een duidelijk voorbeeld is van de huiveringwekkende macht van een Geo-lnfo columnist. Wellicht dat de niet aflatende inspanning van Rijkswaterstaat er overigens ook wel iets mee te maken heeft. Waar ik het ditmaal over wil hebben, is het verschil tussen webser vices en datasets, omdat dit actueel is in de context van de Open Data ontwikkelingen. De centrale stelling die ik wil verdedigen is deze: webservices zijn geen data. Nu is het mij er niet om te doen u te overtuigen, dat lukt namelijk toch niet, en ik weet uit eerste hand dat er volstrekt tegenovergestelde meningen zijn. Maar ik wil de stelling graag verdedigen, omdat het hanteren van de termen 'data'en 'webservice'als synoniemen de nodige conse quenties heeft. Het is aardig om even terug te gaan naar een stukje recente ICT geschiedenis. In 1997 was HTTP i.t een standaard geworden. In 1998 zag XML 1.0 het levenslicht. Met de combinatie van deze twee technologieën werd het heel eenvoudig om berichten te versturen tussen applicaties onderling, via het internet. Op dat moment verliep dit soort communicatie nog veelal via leveran- cierspecifieke RPC protocollen zoals DCOM en CORBA, die niet erg geschikt waren voor berichtenverkeer via HTTP. Ook in 1998 werd begonnen aan de SOAP specificatie, de eerste standaard webservices. De eerste keer dat de term 'webservice'in die context in het openbaar werd gebruikt was in juli 2000. Dit was opeen conferentie door Bill Gates voor software-ontwikkelaars. Nadat het aanvankelijk maar moeilijk te geloven was dat webservices een goed idee zouden kunnen zijn, omdat het idee afkomstig was van Microsoft en daarom dus bij voorbaat verdacht, hadden IBM, Oracle, HP, Sun en natuurlijk Microsoft zelf zich eind 2000 achter SOAP geschaard en waren webservices een feit. Dit was een opwindende periode, want ineens konden er allerlei diensten via internet aangeboden worden waar je als ontwik kelaar gemakkelijk gebruik van kon maken. En dat zonder datje ingewikkelde connecties hoefde te programmeren die dan ook nog eens platformafhankelijk waren. Een lichtend voorbeeld destijds was de creditcard validatieservice: je stopt er via een XML- bericht een kaartnummer in en er komt via een ander XML-bericht een antwoord uit of dit een valide kaartnummer is. Deze service was aan te sluiten in de eigen programmatuur met slechts enkele coderegels. Een webservice vormt daarmee dus een interface naar een bepaalde dienst of data. Webservices zijn een katalysator voor het gebruik van grote of dynamische datasets. Met een eenvoudig XML-bericht kan een gericht stukje actuele data worden opgevraagd. De afnemer hoeft zich geen zorgen te maken over beheer van de gegevens en het is ook niet nodig om de gehele dataset te verzenden. Inmiddels blijken webservices om die redenen zo populair, dat webservices die data ontsluiten bijna synoniem geworden zijn met het aanbie den van de dataset zelf. Kort gezegd: als een dataset met een WFS service is ontsloten, wordt veelal de conclusie getrokken dat de data dus beschikbaar is. Dit is echter slechts deels het geval. Er zijn tenminste drie funda mentele verschillen tussen een dataset en zijn interface via een webservice. Ten eerste heb je een dataset zelf in bezit, terwijl de aanbieder van een webservice altijd de stekker en performance- knop in handen heeft. Voor volumepartijen als Funda en Spotzi is dit de reden om zo veel mogelijk te werken met lokale datasets, zodat beschikbaarheid en performance in eigen beheer blijven. Ten tweede wordt bij het aanbieden van een dataset door middel van een webservice altijd een transformatie uitgevoerd, waarbij informatie verloren gaat. Het kan zijn dat niet alle attributen van de brondata worden ontsloten, of dat er geometrische of inhou delijke transformaties plaatsvinden. Ten derde is er een enorm verschil in kostenniveau. Het op productieniveau aanbieden van een veelgebruikte dataset via een WFS-service is mogelijk een factor duizend maal zo duur als het aanbieden van dezelfde data als statisch bestand. Voorbeeld: het op internet aanbieden van iTB aan statische databestanden kost orde duizend euro per jaar, de PDOK services orde miljoen. Ik ben overigens de eerste om te beweren dat dit hele legitieme kosten kunnen zijn, omdat de besparingen rond beheer en actualisering bij de afnemers een veelvoud kunnen zijn van de gemaakte kosten. Maar het geeft wel aan dat datasets en webservices geen gelijke grootheden zijn. Soms zijn webservices gewenst, soms is er juist behoefte aan lokale data. Dit komt bijvoorbeeld tot uiting bij gebruikelijke praktijken waarbij een WFS-service voor het gehele extent van de service wordt aangeroepen en dan wordt opgeslagen als kopie dataset om lokaal verder mee te kunnen werken. Die services zijn daar vaak niet voor ingericht, met alle performanceproblemen en bijbehorende kosten vandien. Onlangs stuitte ik op de term bulk- bevragingsservice om hier een oplossing voor te bieden. Maar net zoals de anonieme OV-chipkaart voor eenmalig gebruik eigenlijk gewoon een treinkaartje is, zo zou een bulkbevragingsservice voor download doeleinden eigenlijk gewoon een dataset moeten zijn, liefst als Open Data. f ir.ArieJ. Duindam Geo-lnfo 2012-2 23

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

Geo-Info | 2012 | | pagina 25