Diagnose, Ontwerp en Verandering

Open Integratie: REST, SOAP of anders?

Bij het opstellen van een open architectuur is het cruciale punt om de openheid te borgen de wijze waarop wordt geïntegreerd met andere bedrijven of andere systemen. Het bepalen van het juiste integratie standaard is zonder voldoende technisch overzicht van voordelen en nadelen zeer lastig.

Algemeen wordt het belang van koppelen via web services meer en meer ingezien. Een web service wijze van koppelen betekent dat informatie via het standaard internet protocol wordt uitgewisseld. Met het verplaatsen van systemen naar cloud oplossingen van vaak verschillende CSP’s (Cloud Service Providers) is dit een minimale vereiste voor integratie.

Een REST web service is een gestandaardiseerde wijze om objecten via http uit te wisselen. REST staat voor ‘Representational State Transfer’. Dit betekent dat iedere URL een representatie van een object kan zijn. De inhoud van een object kan via de standaard HTTP GET, POST, PUT of DELETE bewerkt worden. REST wordt veel gebruikt bij eCommerce bedrijven. Denk aan eBay en Amazon.

SOAP (Simple Object Access Protocol) is in wezen een protocol waarmee XML berichten te versturen zijn. SOAP heeft een aantal voordelen:

  • Eenvoudig af te spreken protocol voor uitwisseling. Feitelijk kan een schema (xsd) worden afgesproken voor vastleggen van interface afspraken.
  • Goede controle mogelijk op geldigheid van berichten. Afhankelijk van de complexiteit van de uitwisselingsafspraken is geautomatiseerde controle goed mogelijk.
  • Veel ontwikkelhulpmiddelen beschikbaar. Het in excel of msword vastleggen van interface afspraken is erkend niet handig. Voor het vastleggen van SOAP berichten zijn enorm veel geautomatiseerde hulpmiddelen voorhanden. Dit voorkomt fouten en verhoogd de productiviteit bij het realiseren van interfaces.

Ondanks de voordelen van SOAP is REST aan een ongekende opmars bezig in de wereld van integratie via web services tussen bedrijven en systemen. De belangrijkste redenen zijn:

  • Simpel. Veel overbodige xml markup is bij REST niet nodig. Wanneer veel informatie verstuurd of ontvangen moet worden is REST efficiënter in netwerk gebruik.
  • Resultaat direct door mensen leesbaar. Zonder dure testvoorzieningen is zo bijvoorbeeld direct in een browser te zien of een interface een verwacht resultaat geeft.
  • Eenvoudig te realiseren. In tegenstelling tot SOAP zijn voor REST vaak helemaal geen tools nodig om snel interfaces en interface afspraken vast te leggen.
  • Geen complexe API’s nodig voor verwerking van beschikbaar stellen van services.

Door de simpele wijze van integreren zijn REST web services in relatief korte tijd zeer populair geworden. Vanuit beveiliging gezien is REST vaak inzichtelijker, want simpeler en daardoor minder risicovol. Toch is er bij integratie niet één oplossing die altijd het beste is. Los van het gebruik van open standaarden voor integratie, is een grondige analyse van de complete probleemcontext (technisch en niet technisch) cruciaal. In een goede architectuur is te achterhalen waarom voor een bepaalde wijze van integreren is gekozen. Documentatie is echter bij integratie altijd van belang, zeker als niet voor SOAP of REST is gekozen.

 

kat in REST toestand