Yessica van Roozendaal - 18 oktober 2019
Dit is een vraag die we regelmatig krijgen. Webservices maken en ermee verbinden is een van de meestvoorkomende dingen die we hier bij Tektonikos doen! Ik zal je uitleggen wat een webservice is en wat je er aan hebt.
Artikel heeft een update gekregen op 17 december 2020
Communicatie tussen software
Applicaties (waaronder ook websites) worden ontwikkeld met een specifiek doel. Of het nu marketing is, boekhouding of voor het beheren van cliƫntrelaties, we doen tegenwoordig bijna alles digitaal.
Er ontstond door de wildgroei aan software de behoefte om gegevens tussen de systemen uit te wisselen. Dit gaat, ook vandaag de dag, nog vaak middels handelingen die handmatig verricht moeten worden. Zo exporteren en importeren boekhouders vaak gegevens tussen de bank en hun boekhoudprogramma. Er waren snel volledige geautomatiseerde vormen hiervan. Scripts werden geschreven om bestanden op te pikken en verwerken middels o.a. FTP (file transfer protocol), inmiddels een verouderd en onveilig verklaarde methode om bestanden uit te wisselen.
Makkelijker praten
Er is gebleken dat met andere software communiceren het makkelijkste gaat als het lijkt op de manier van websites ophalen en bekijken. Alleen houdt software niet van een mooi ontwerp, maar juist van een eenvoud: precies en correct-tekstformaat. Zo een uitwisseling van gegevens via een website gemaakt om te praten met andere software noemen we een webservice koppeling. Een webservice is de aanbieder van de service. Net zoals een website de aanbieder is van een website.
Spreekt jullie software Chinees?
Ok, het klinkt allemaal wel makkelijk, maar er zijn heel veel verschillende manieren om een webservice te maken. Een koppeling ontwikkelen om er iets zinnigs mee te doen is dan ook vaak een uitdaging. Er zijn een aantal standaarden zoals XML en JSON, maar dat zegt alleen iets over de vorm. De inhoud, maar ook beveiliging en werking verschilt per applicatie.
Als je het hebt over webservices, hoor je al snel het woord API vallen. Dit staat voor Application Programming Interface. Hiermee wordt bedoelt hoe een koppeling kan praten met een webservice. Welk formaat en beveiligingsvorm een webservice gebruikt.
Er zijn binnen de standaarden XML en JSON weer substandaarden en beveiligingsmechanismen die binnen bepaalde types inhoud gebruikt worden zoals RSS, of een bepaalde verzoekvorm ondersteunen zoals oAuth2 of GraphQL. Veelal ontbreekt deze, wijkt deze weer af van de norm of wordt de standaard zo weinig gebruikt dat ontwikkelaars het doorgaans niet kennen.