REST eller SOAP i era integrationer?
REST är det lätta, HTTP- och JSON-baserade sättet att bygga nya API:er och är standard idag. SOAP är ett äldre, kontraktstyngt XML-protokoll som lever kvar i myndighets- och enterprisesystem. Nya integrationer görs i REST, men befintliga SOAP-tjänster kapslas oftast in bakom ett modernt gränssnitt i stället för att byggas om.
SOAP känns för många som ett ord från en annan tid, och på sätt och vis är det just det. Men försök koppla ihop era system med en svensk myndighet, en bank eller ett etablerat affärssystem, och chansen är stor att SOAP fortfarande sitter där. Frågan är därför sällan “REST eller SOAP” på ett rent bord, utan hur det moderna ska möta det som redan finns. Här är skillnaderna och en strategi som håller.
Skillnaden i korthet
Både REST och SOAP är sätt att låta system utbyta data, men de kommer ur olika epoker och tänker olika.
SOAP är ett protokoll. Det skickar meddelanden som XML enligt ett strikt, formellt kontrakt som beskriver exakt hur varje anrop ska se ut. Kontraktet är tungt men entydigt, och SOAP bär inbyggda standarder för säkerhet och tillförlitlighet. Det byggdes för en värld av stora företagssystem som behövde formella garantier.
REST är snarare en stil än ett protokoll. Den använder webbens egna verb – hämta, skapa, uppdatera, ta bort – direkt över HTTP, och skickar vanligtvis lättviktig JSON i stället för tung XML. Det är avskalat, snabbt att komma igång med och passar webb och mobil naturligt. Där SOAP är formellt och regeltyngt är REST lätt och pragmatiskt.
Varför nya API:er byggs i REST
När någon idag bygger ett nytt API är svaret nästan alltid REST, och skälen är praktiska snarare än ideologiska. REST är billigare att utveckla, lättare för nya utvecklare att förstå och har en mogen verktygskedja där det mesta redan är löst. JSON är lätt att läsa och väger lite över nätet, vilket spelar roll för mobilappar.
SOAP kräver mer: tyngre verktyg, mer struktur runt varje anrop och en formalism som sällan betalar tillbaka sig för en ny tjänst. Så för allt som byggs från grunden är REST förvalet, och SOAP är i praktiken något man möter – inte något man väljer.
Varför SOAP-integrationerna ändå består
Samtidigt försvinner inte SOAP, och det finns goda skäl till det. Stora system byts inte ut för att tekniken bakom deras gränssnitt känns gammal. En SOAP-tjänst som en myndighet, en bank eller en affärssystemsleverantör tillhandahåller är ofta stabil, väl beprövad och något ni inte råder över. Ni får integrera mot den som den är.
Att bygga om en fungerande SOAP-integration kostar pengar utan att ge något nytt värde i sig. Den gör redan sitt jobb. Därför lever SOAP kvar, inte som ett aktivt val utan som en realitet i systemlandskapet – särskilt i svensk offentlig sektor och etablerad industri, där livslängden på system mäts i decennier.
Poängen är att era nya delar inte behöver ärva den bördan. Utmaningen är att låta modernt och gammalt samexistera utan att det gamla smittar av sig på allt annat.
Adapterstrategin: kapsla in det gamla
Det mönster som nästan alltid är rätt heter adapter, eller inkapsling. I stället för att låta era nya tjänster prata SOAP direkt bygger ni ett litet mellanlager som gör översättningen på ett enda ställe.
Adaptern talar SOAP mot det gamla systemet på ena sidan och erbjuder ett rent, modernt REST-gränssnitt på den andra. All komplexitet – den tunga XML:en, det formella kontraktet, särdragen – kapslas in där. Era utvecklare bygger mot ett modernt gränssnitt och behöver aldrig känna till att det sitter en SOAP-tjänst i botten.
Fördelarna är flera:
- Komplexiteten samlas. SOAP-särdragen finns på ett ställe i stället för utsmetade i varje ny tjänst.
- Det nya hålls rent. Nya appar och integrationer pratar bara modernt REST.
- Framtidssäkringen blir enklare. Byts det gamla systemet ut en dag räcker det att ändra adaptern, inte allt som ligger bakom den.
Ett konkret scenario
Säg att ni ska bygga en ny kundportal som behöver hämta data ur ett affärssystem vars enda gränssnitt är SOAP. Att låta portalens kod prata SOAP rakt av vore möjligt, men det skulle sprida XML-hanteringen genom hela appen och binda den hårt till affärssystemets egenheter.
I stället bygger ni en adapter. Den anropar affärssystemets SOAP-tjänst, tar emot XML-svaret och översätter det till ren JSON som portalen kan använda. Portalen ser bara ett snyggt REST-API. Skulle affärssystemet längre fram bytas mot ett med ett modernt API, rör ni adaptern och lämnar portalen orörd. Det gamla och det nya lever sida vid sida, utan att det ena hindrar det andra.
Vi på Weapp bygger både nya REST-API:er och de adaptrar som håller ihop dem med äldre system. Vill ni modernisera utan att slänga det som fungerar? Titta på våra tjänster eller hör av dig.
Vanliga frågor
Vad är den tekniska skillnaden mellan REST och SOAP?
SOAP är ett protokoll som skickar tunga XML-meddelanden enligt ett strikt kontrakt, ofta över flera transportsätt. REST är en enklare stil som använder webbens egna verb över HTTP och vanligtvis lättviktig JSON. SOAP är mer formellt och regeltyngt, REST är mer avskalat och snabbare att komma igång med.
Varför byggs nya API:er i REST men inte i SOAP?
REST är billigare att bygga, lättare att förstå och passar webb och mobil bättre. Verktygen och utvecklarna finns. SOAP kräver mer struktur och tyngre verktyg, vilket sällan lönar sig för nya tjänster. Därför är REST förvalet idag, medan SOAP nästan bara möts i system som redan finns.
Måste vi byta ut våra SOAP-integrationer?
Sällan. En fungerande SOAP-integration mot ett affärssystem eller en myndighet är ofta stabil och dyr att röra. Det vanliga är att låta den vara och i stället kapsla in den bakom ett modernt gränssnitt, så att nya delar slipper prata SOAP direkt. Byt bara om det gamla verkligen står i vägen.
Vad menas med att kapsla in SOAP bakom en adapter?
En adapter är ett litet mellanlager som talar SOAP mot det gamla systemet på ena sidan och REST mot era nya tjänster på den andra. Det översätter mellan de två världarna. Era utvecklare får jobba mot ett rent, modernt gränssnitt, medan komplexiteten i SOAP göms undan på ett ställe.
Är SOAP osäkrare än REST?
Nej, snarare tvärtom i vissa avseenden. SOAP har mogna, inbyggda standarder för säkerhet och tillförlitlighet som togs fram för just enterprise- och myndighetsbehov. REST förlitar sig på webbens egen säkerhet. Skillnaden handlar mer om ålder, vikt och verktyg än om att det ena vore osäkert.