Dit artikel bespreekt twee webservice-toegangsprotocollen, ZEEP ("Protocol voor eenvoudige objecttoegang") en RUST UIT ("Representational State Transfer").
Webservices zijn gedefinieerd om actief gegevens van een gedefinieerde bron op te halen, te lezen of over te dragen om een gespecificeerde uitkomst 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 in andere delen van de toepassing nodig is, 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 zoeken om deze te 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 toepassing met die webservice in contact komen telkens wanneer gegevens moeten worden berekend; 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.
Een applicatie gebouwd op uitvoerbare processen is gebaseerd op een Service georiënteerde architectuur ( “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.
Business Process Modelling Notatie ("BPMN") is het modelleren van een service of bedrijfsproces, hetgeen kan worden gedaan door niet-technische mensen, d.w.z. de bedrijfsanalist. Gebruik makend van BPMN, bedrijfsmodellen (voor services) kunnen gemakkelijk worden geïnterpreteerd door ontwikkelaars die het model implementeren als een uitvoerbaar proces en deze processen kunnen al dan niet menselijke interactie vereisen.
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 vervangen DCOM en CORBA technologieën, en het bestaat al veel langer dan REST.
SOAP wordt als zwaarder beschouwd dan REST, d.w.z. er is meer bagage nodig om gegevens over te dragen, 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 als ze handmatig worden ontwikkeld, is zorgvuldige aandacht vereist omdat SOAP niet flexibel is met fouten.
Het is mogelijk om SOAP-berichtverzoeken te automatiseren met .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 dit proces kan ook worden geautomatiseerd door te verwijzen naar de standaardfoutcodes die worden verstrekt in het berichtantwoord.
Daarom is de gebruikte programmeertaal een bepalende factor in hoe moeilijk het is om SOAP te implementeren.
Een van de bagagestukken die een SOAP-bericht vergezelt, is het Webservices Beschrijving Taal ("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 niet gebonden aan het gebruik HTTP (HyperText Transfer Protocol) exclusief; 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 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 onderhoudbare en schaalbare manier om interactief om te gaan met webservices.
In tegenstelling tot SOAP gebruikt REST geen XML uitsluitend; platte tekst, CSV, en RSS kan worden gebruikt, evenals JSON voor AJAX-oproepen; 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 welk toegangsprotocol te gebruiken, na welke programmeertalen worden gebruikt in de organisatie, de applicatieomgeving en applicatie-eisen.