Web Services

Als interface

Het gebruik van de term Web Services blijkt telkens tot grote verwarring te leiden. Het is één van die termen die door velen wordt gebruikt, maar waarbij aan weinigen duidelijk is wat er precies onder wordt verstaan. Dit komt omdat Web Services als interface technologie vaak door elkaar wordt gehaald met Web Services als commerciële dienst.

Als Interface technologie
Iin nauwkeurig geconstrueerde demo's kan je verbluffend snel een Web Service maken, waardoor je snel de neiging hebt ze dan ook maar overal voor te gebruiken. Wij hebben de Algemeen Directeur van Microsoft Nederland dit zien doen in 3 minuten, zonder dat hij enige hulp nodig had.
De praktijk van alledag is helaas veel ingewikkelder.Web Services niet direct geschikt voor Client Server toepassingen

Web Services zijn bijvoorbeeld niet geschikt voor een typische Client-Server toepassing.  De reden is dat Web Services in essentie stateless zijn, dat wil zeggen dat elke keer opnieuw de Client en Server moeten vertellen wie ze zijn, en wat ze willen. Deze overhead kan bij complexere applicaties oplopen tot 99,9%, wat natuurlijk een enorme verspiling betekent van netwerken en snel tot overbelasting van de Server leidt. Om daar wat aan te doen zal je met de hand state moeten toevoegen, data op de applicatie server moeten cachen, en ervoor zorgen dat je applicatie is gebaseerd op een TP-monitor. Natuurlijk allemaal best leuk werk, het houdt je jaren van de straat, maar de meeste mensen willen toch iets nuttigers doen met hun leven. Er zijn veel snellere en elegantere manieren om Client Server toepassingen te realiseren.

Web Services zijn het meest geschikt bij een heel groot aantal clients, die af en toe iets moeten vragen aan een Server, of iets moeten sturen naar een Server. Maar een groot aantal clients, betekent ook een groot aantal gebruikers, met een grotere variatie aan software en systemen. En al deze verschillende systemen moeten op een uniforme manier worden gekoppeld. Als je Web Service gedefinieerd is in termen van XML en SOAP ben je daar snel per type systeem een maand of twee aan bezig. Web Services moeilijk te integreren

De  oplossing voor het gebruik van Web Services toch mogelijk te maken is door een library te maken, die eenvoudig in software kan worden geïntegreerd. De SCOOL Library in het SuperCollect systeem is  een mooi voorbeeld van een dergelijke class library. 
Eén van de onderdelen van SuperCollect is een Web Services implementatie, op basis van SOAP en XML. De SCOOL Library bevat objecten en methoden om de Web Service aan te roepen, bijvoorbeeld "stuur ingevulde vragenlijst naar SuperCollect Server".   Bij een project in Slovenië bleek men binnen 1 dag een koppeling te maken, vergeleken met de twee maanden die het anders had gekost een aardige tijdwinst.

Als commerciële dienst: idiote verwachtingen
Een andere interpretatie van de term Web Service is als çommerciële dienst.
Je wilt bijvoorbeeld een huisje huren in Florida,  je typt dat in, en vervolgens wordt automatisch het huis gereserveerd, een vlucht geboekt, een huurauto gereserveerd en je credit card afgeboekt.  Of iets minder ambitieus, dat automatisch de web service dienst uitzoekt wat het beste huisje voor je is in Florida.  Een prachtig, maar kompleet onzinnig verhaal.

Standaard web services bestaan niet Het is ten eerste de vraag of vakantiegangers dergelijke beslissingen aan een computer toevertrouwen, ten tweede of het theoretisch wel kan, en ten derde kost het zo enorm veel overleg en inspanning dat het nooit economisch rendabel kan worden.
Een dergelijke dienst vereist bijvoorbeeld dat alle huisjes bezitters in Florida het onderling eens worden over de betekenis van alle velden, bijvoorbeeld die van 'vrij uitzicht', en zich daaraan nog houden ook. Een dergelijke dienst vereist ook dat alle software ontwikkelaars het in het diepste detail eens worden over de betekenis van alle messages die worden uitgewisseld. Het vereist een centrale instantie die het versie beheer doet over al die software.

Een commerciële dienst zal zich daarom  beperken tot een zeer klein gebied, bijvoorbeeld het lenen van boeken uit een universiteitbibliotheek. En misschien kan je op een bepaald moment ook  boeken lenen via web services uit de gemeente bibliotheek. Maar  die web services zullen net iets andere velden hebben, met een net iets andere betekenis, en een net iets andere wijze van afhandeling van het uitleen proces. Kortom je computerprogramma dat zo fijn kon praten met de universiteitsbibliotheek is volledig de kluts kwijt bij de gemeentebibliotheek.

 

©1996-2008 Lizatec
<  Standaard Achterhaald Database als Dinosaurus   >