Migratie van SOAP API naar REST API: zo pak je dat aan

SOAP is een wat ouder protocol dat al een tijdje wordt gebruikt voor communicatie tussen webservices. Maar naarmate het internet zich ontwikkelde, ontstond de behoefte om 'lichtere’ web- en mobiele applicaties te bouwen. En REST API zag het licht. Deze architectuurstijl is tegenwoordig erg populair om webservices te koppelen vanwege de simpliciteit. Heb je webservices met SOAP gebouwd en wil je graag migreren naar REST API? We leggen je graag uit hoe je dat aanpakt.


SOAP API versus REST API

SOAP (Simple Object Access Protocol) en REST (Representational State Transfer) zijn beiden alternatieven om API's te bouwen en  data over te dragen. SOAP gebruikt hiervoor WSDL: een definitie gebaseerd op XML. In WSDL vind je meerdere berichten terug. Dat zijn actiegerichte (POST) berichten, zoals ‘maak een nieuwe klant aan’ of ‘haal deze klant op’.

De SOAP-standaard is heel uitgebreid. Hierin vind je veel functionaliteiten, denk aan exactly once implementatie, reliability of messaging en security. Veel van deze opties zijn niet in elke programmeertaal of elk framework beschikbaar en ze maken SOAP een stuk complexer. REST gebruikt OpenAPI Specification (OAS) als standaard, taalonafhankelijke interface en HTTP-protocollen voor communicatie tussen webservices. Dat maakt REST een stuk eenvoudiger dan SOAP.

E-BOOK 3

Migratie van SOAP API naar REST API: de mogelijkheden

Naast dat REST een lichtgewicht is vergeleken met SOAP, is een migratie ook interessant wanneer je een eigen applicatie aanbiedt. Als je een SOAP API hebt opgemaakt, vraagt dat namelijk technische kennis van degene die wil koppelen. Je kiest er dan voor om REST API te bouwen voor jouw applicatie, maar hoe pak je de migratie van SOAP naar REST aan?

Migratieplan opzetten
Breng voor jezelf in kaart hoe je data van A naar B wilt brengen en de vereisten hiervoor. Het is een groot verschil wanneer je een een-op-een-koppeling hebt tussen twee partijen of wanneer er sprake is van 10 afnemers van een service. Je bekijkt wat de impact is van de migratie, wat het kost en wat het je oplevert.

Integratielaag als tussenstap
Stel, je hebt die 10 afnemers. Dan is de keuze voor een integratiecomponent een no-brainer. Je stelt op je integratielaag de SOAP-interface en de REST-interface beschikbaar en de 10 afnemers stappen binnen hun eigen tijdslijnen over. Op termijn faseer je de SOAP-interface uit. De interfaces die je nu hebt, blijven bestaan en objecten leveren hetzelfde als voorheen, maar dan nu via een integratielaag.

Volledig ombouwen van SOAP naar REST
Of je kiest voor een volledige migratie van SOAP naar REST. Dat is vaak een complex verhaal, omdat de opbouw van REST verschilt met die van SOAP. De granulariteit van data is bijvoorbeeld anders. SOAP kun je zien als een envelop met daarin data, terwijl REST is opgebouwd uit resources in collecties. Dat betekent dat de functionele opbouw van je data verandert wanneer je volledig overgaat van SOAP op REST. Dat heeft ook impact op de code van je afnemers. Afnemers staan daarom niet vaak te springen wanneer je volledig migreert van SOAP naar REST.



Meer weten over het bouwen van een REST API?

Bekijk dan onze video over hoe je een goede REST API ontwikkelt, test en beheert met ons Frank!Framework. Heb je een andere vraag of wil je graag meer weten over hoe je migreert van SOAP naar REST? Laat dan je vraag hier achter of plan een moment in om te chatten met een van onze API-specialisten.

 

Heb jij een vraag over IT-architectuur? In 9 minuten bespreken we jouw vraag.

Gerelateerde artikelen