Verschil tussen REST en SOAP Verschil tussen

Anonim

Inleiding

Dit artikel bespreekt twee webservice-toegangsprotocollen, SOAP ("Simple Object Access Protocol") en REST ("Representational State Transfer").

Webservices

Webservices zijn gedefinieerd om actief gegevens van een gedefinieerde bron op te halen, te lezen of over te dragen om een ​​opgegeven resultaat te produceren, een resultaat.

Het volgende rudimentaire voorbeeld toont een basisgebruik van webservices voordat u begrijpt hoe de gegevens worden overgedragen van en naar de webservice, met behulp van SOAP of REST.

Als een ontwikkelaar een toepassing aan het schrijven is die enige gegevensberekening op één plaats vereist, schrijft de zal de berekeningsmethode in de code, op die ene plaats. Als de gegevensberekening echter nodig is in andere delen van de toepassing, is het inefficiënt en onpraktisch om te handhaven als de ontwikkelaar de berekeningsmethode heeft geplaatst op elk gebied dat nodig is.

Als u één wijziging in die methode wilt aanbrengen, moet u elke instantie vinden die u wilt bewerken (en opnieuw testen). Dit scenario zou baat hebben bij het gebruik van een webservice om optimaal te functioneren en de wendbaarheid van het bedrijf te verbeteren.

Door één webservice te maken met toegankelijke methoden om toe te voegen, af te trekken, te delen en te vermenigvuldigen, zal de applicatie zich met die webservice bezighouden wanneer gegevensberekening vereist is; het roept de webservice op om de berekening uit te voeren en het resultaat te produceren. Er is dus maar één plaats voor de ontwikkelaar om de gegevensberekeningsmethode te behouden.

De manier waarop gegevens in webservices worden verwerkt, wordt bepaald door de vraag of SOAP of REST is geïmplementeerd.

SOA en BPMN

Een toepassing die is gebaseerd op uitvoerbare processen is gebaseerd op een Service Oriented Architecture ("SOA"). Het is een benadering voor het gebruik van diensten die gegevens overdragen, produceert, valideert of berekent.

SOA wordt steeds gunstiger om de ontwikkelkwaliteit en -tijd te verbeteren en de prestaties en schaalbaarheid van de toepassing te verbeteren.

Notatie van bedrijfsprocesmodellering ("BPMN") is het modelleren van een service of bedrijfsproces, wat kan worden gedaan door niet-technische mensen i. e. de bedrijfsanalist. Met BPMN kunnen bedrijfsmodellen (voor services) eenvoudig worden geïnterpreteerd door ontwikkelaars die het model implementeren als een uitvoerbaar proces en deze processen kunnen al dan niet menselijke interactie vereisen.

SOAP (Simple Object Access Protocol)

SOAP is een methode voor het overbrengen van gegevens via internet.

Oorspronkelijk ontwikkeld door Microsoft als gevolg van de komst van internet, heeft SOAP de oude DCOM - en CORBA -technologieën vervangen en is het al veel langer dan REST.

SOAP wordt als zwaarder beschouwd dan REST i.e. er is meer bagage nodig om gegevens over te zetten, wat betekent dat er meer bandbreedte nodig is per berichtverzoek en dat de gegevensbron en doelen meer werk te doen hebben bij het verpakken en ontvangen van de gegevens.

SOAP gebruikt alleen XML voor berichtenservices via internet en XML-berichtverzoeken kunnen zeer complex zijn en bij handmatige ontwikkeling is zorgvuldige aandacht vereist omdat SOAP niet flexibel is met fouten.

Het is mogelijk om SOAP-berichtverzoeken te automatiseren met behulp van. NET-talen (als voorbeeld), waar ontwikkelaars niet met de XML hoeven te werken omdat deze automatisch op de achtergrond wordt gegenereerd.

Als er problemen optreden met het berichtverzoek, wordt gedetailleerde foutinformatie geretourneerd in het berichtantwoord en kan dit proces ook worden geautomatiseerd door te verwijzen naar de standaardfoutcodes die in het berichtantwoord worden gegeven.

Daarom is de gebruikte programmeertaal een bepalende factor in hoe moeilijk het is om SOAP te implementeren.

Een van de bagagestukken die bij een SOAP-bericht hoort, is de Web Services Description Language ("WSDL") om uit te leggen hoe de webservice werkt. Wanneer een toepassing verwijst naar de webservice, leest deze en begrijpt hij wat te doen met de webservice.

SOAP is exclusief gebonden aan het gebruik van HTTP (HyperText Transfer Protocol); het kan worden gebruikt via SMTP en andere transportprotocollen.

Omdat SOAP gestandaardiseerd was, is het meer rigide dan REST, hoewel beide afhankelijk zijn van vastgestelde regels.

REST

REST is de nieuwere en meer slanke neef van SOAP en wordt snel de keuze voor de meeste web- en mobiele toepassingen.

Meer dan een decennium na de introductie is REST een lichtere, beter te onderhouden en schaalbare manier om interactief om te gaan met webservices.

In tegenstelling tot SOAP gebruikt REST XML niet; platte tekst , CSV en RSS kan worden gebruikt, evenals JSON voor AJAX-aanroepen; zolang zowel de bron als de doelen de gebruikte formaten kunnen begrijpen.

REST is minder complex en wordt als een kleinere leercurve beschouwd dan vergeleken met SOAP. De meeste moderne programmeertalen hebben bibliotheken en frameworks om REST (RESTful) -services, zoals C #, Python, Java en Perl, te vergemakkelijken.

REST is sneller vanwege minimale verwerking en efficiënter gebruik van verschillende berichtindelingen.

Beide hebben voordelen en nadelen, dus denk bij het bepalen van het toegangsprotocol na over de programmeertalen die worden gebruikt in de organisatie, de applicatieomgeving en toepassingsvereisten.