Web services – wat zijn de voor- en nadelen

Er wordt veel over gesproken: web services. Maar wat is een web service eigenlijk en wat kan het betekenen voor uw organisatie? Hoe werkt het en wat zijn voor- en nadelen van web services? In dit artikel vertellen wij daar graag meer over. Om te beginnen, eerst een stukje geschiedenis.

Web services, hoe het allemaal begon

De historie van de web service gaat relatief ver terug in de tijd. Zeker in de context van informatie technologie en de ontwikkeling daarvan. Web services zijn ontstaan uit de Remote Procedure Call (RPC) technologie die onderdeel is van het Distributed Computing Environment (DCE) software-ontwikkelingsraamwerk. Een raamwerk dat zijn oorsprong vindt in de beginjaren 90. Technologieën als CORBA en DCOM behoren hiertoe.

Eind jaren 90 kwamen de eerste XML-RPC gebaseerde technologie op de markt, wat de basis is geworden van de web services zoals we die nu kennen. XML-RPC maakte gebruik van XML, een neutrale taal maar in feite platte tekst en HTTP als transport protocol. Dit zijn de twee belangrijke eigenschappen van web services zoals we die nu ook kennen.

Wat is een web service?

Een web service is een functie die beschikbaar is gesteld door een service provider. En kan worden benaderd door andere programma’s of toepassingen (consumer) over het internet.

Het is dus een manier waarop informatiesystemen met elkaar kunnen communiceren.

Een web service bevat geen user interface en is dus per definitie niet gericht op mensen. In veel gevallen is de uitvoer of aanroep van de functie in een formaat dat begrijpelijk is voor programma’s of toepassingen. Denk bijvoorbeeld aan XML, JSON of SOAP.

De functie die kan worden uitgevoerd kan heel divers zijn, namelijk het:

  • boeken van een factuur in het ERP systeem;
  • autoriseren van een gebruiker bij het inloggen op een website;
  • teruggeven van een datum;
  • versturen en ontvangen van documenten.

Het formaat is zeer belangrijk. Want hiermee wordt bepaald hoe parameters aangeleverd moeten worden om de functie uit te kunnen voeren. En daarnaast hoe de resultaten teruggegeven moeten worden, zodat er geen ruis ontstaat in de communicatie. Op dit moment is JSON (JavaScript Object Notation) het belangrijkste formaat dat wordt gebruikt in web services.

De voordelen van web services

Vaak staan web services buiten het private of afgesloten netwerk maar zijn wel benaderbaar. Daarnaast zijn web services over het algemeen generiek in aanroep. Web services gaan hierdoor langer mee en leveren een beter ROI (Return On Invest) op. Software ontwikkelaars kunnen zelf bepalen in welke programmeertaal ze de web services willen aanspreken of in welke taal ze een web service willen ontwikkelen.

Daarbij komt dat web services gebruiken maken van standaard communicatieprotocollen en daarmee dus platform onafhankelijk zijn.

Deze interoperabiliteit is waarschijnlijk het belangrijkste voordeel van web services. Met de inzet van web services kan tijd en geld bespaart worden.

Ook de eenvoud waarmee verschillende informatiesystemen kunnen communiceren (bijvoorbeeld over het internet) is een belangrijk voordeel. Het opnieuw uitvinden van het wiel om te kunnen communiceren met andere partijen is daardoor verleden tijd. Het enige wat wellicht nodig is, zijn applicatie-specifieke business logica bij de aanroepende partij. Logica die benaderbaar is via de bekende internetprotocollen (denk aan HTTP of HTTPS). Inderdaad, ook beveiligingsprotocollen zoals SSL zijn al ingebouwd.

Tot slot is hergebruik van web services een ander groot voordeel. Omdat web services in feite functies zijn  (dus modulair) en geen applicaties, kunnen deze functies goed hergebruikt worden in andere informatiesystemen. Het is zelfs mogelijk om legacy code aan te roepen via een web service.

De nadelen van web services

De eenvoud van een web service is ook gelijk een nadeel in bepaalde situaties. Ze zijn makkelijk aan te spreken en de uitvragen zijn vaak groter in bytes in vergelijking tot directe koppelingen. Dit kan betekenen dat de verbinding in geval van web services langzamer is dan bij een binair protocol. Dit zal alleen het geval zijn wanneer er sprake is van een lage verbindingssnelheid of een zeer drukke lijn. Gelukkig komt dit anno 2021 steeds minder voor.

De eenvoud van een web service is ook gelijk een nadeel in bepaalde situaties.

Daarnaast zijn er nog andere, meer technische nadelen van web services. Wanneer een web service een functie uitvoert en het resultaat teruggeeft aan de consumer maar deze krijgt te maken met een stroomstoring, dan weet de service provider niet dat de ontvangende partij offline is. Ook de verbindingstijd tussen een service provider en de consumer is relatief kort van duur omdat HTTP(S) protocollen ‘stateless’ zijn. In geval van een CORBA-koppeling kan de duur van de verbinding veel langer zijn zodat er regelmatig berichten tussen de service provider en consumer uitgewisseld kunnen worden.

Web services blijven ontwikkelen

Web services zijn niet meer weg te denken. Veel systemen communiceren met elkaar via web services en in veel gevallen zonder dat we het zelf weten. Omdat web services platform- en technologie onafhankelijk zijn en werken via standaard protocollen, worden web services veelvuldig ingezet in de communicatie tussen systemen (service provider en consumer). De nadelen die er zijn, kunnen we bijna verwaarlozen door de constante ontwikkelingen van web services.

Meer informatie?

Wilt u naar aanleiding van dit artikel meer informatie over web services en de toepasbaarheid binnen uw organisatie? Neem dan contact met ons op, helpen u daar graag bij.