Diferența dintre REST și SOAP Diferența dintre

Anonim

Introducere

Acest articol discută două protocoale de acces la servicii web, SOAP ("Transfer de stat reprezentativ"). Servicii Web

Serviciile Web sunt definite pentru a prelua, citea sau transfera în mod activ date de la o sursă definită pentru a produce un rezultat specific - un rezultat.

Următorul exemplu rudimentar arată o utilizare de bază a serviciilor web înainte de a înțelege modul în care datele sunt transferate către și de la serviciul web, folosind SOAP sau REST.

Dacă un dezvoltator scrie o aplicație care necesită un calcul de date într-un singur loc, va scrie metoda de calcul în cod, în acel loc. Cu toate acestea, în cazul în care calculul datelor este necesar în alte părți ale aplicației, ar fi ineficient și impracticabil să se mențină dacă dezvoltatorul a plasat metoda de calcul în fiecare domeniu în care este necesar.

A face o schimbare la această metodă ar necesita găsirea fiecărei instanțe pentru a edita (și retesta). Acest scenariu ar beneficia de folosirea optimă a unui serviciu web și de îmbunătățirea agilității afacerii.

Prin crearea unui serviciu web cu metode accesibile de adăugare, scădere, împărțire și multiplicare, aplicația se va angaja cu respectivul serviciu web ori de câte ori este necesar calculul datelor; solicită serviciului web să facă calculul și să producă rezultatul. Deci, există doar un singur loc pentru dezvoltator de a menține metoda de calcul al datelor.

Modul de gestionare a datelor în serviciile web este determinat de implementarea SOAP sau REST.

SOA și BPMN

O aplicație construită pe procese executabile se bazează pe

Arhitectura orientată pe servicii ("SOA"). Este o abordare a modului de utilizare a serviciilor care transferă, produce, validează sau calculează date. SOA

devine din ce în ce mai favorabil pentru a îmbunătăți calitatea și timpul de dezvoltare și pentru a îmbunătăți performanța și scalabilitatea aplicațiilor. Notația de modelare a proceselor de afaceri

("BPMN") modelează un serviciu sau un proces de afaceri, care poate fi realizat de oameni non-tehnici i. e. analistul de afaceri. Utilizând BPMN , modelele de afaceri (pentru servicii) sunt ușor interpretate de către dezvoltatorii care implementează modelul ca proces executabil, iar aceste procese pot sau nu pot necesita interacțiuni umane. Protocol de acces simplu de obiect (SOAP)

SOAP este o metodă de transfer de date prin Internet.

Dezvoltat inițial de Microsoft ca urmare a apariției internetului, SOAP a înlocuit tehnologiile vechi

DCOM și CORBA și a fost mult mai mult decât REST. SOAP este considerat mai greu decât REST i.e. există mai mult bagaj necesar pentru a transfera date, ceea ce înseamnă că este nevoie de mai multă lățime de bandă pentru fiecare cerere de mesaj, iar sursa și țintele de date au mai mult de făcut atunci când ambalează și primesc datele.

SOAP folosește doar

XML pentru serviciile de mesagerie prin internet și cererile de mesaje XML pot fi foarte complexe și dacă sunt dezvoltate manual, este necesară o atenție deosebită deoarece SOAP este inflexibil cu erori. Este posibilă automatizarea cererilor de mesaje SOAP utilizând. Limbile NET (ca exemplu), unde dezvoltatorii nu au nevoie să lucreze cu XML, deoarece sunt generați automat în fundal.

Dacă se întâlnesc probleme cu cererea de mesaje, se returnează informații detaliate de eroare în răspunsul mesajului, iar acest proces poate fi de asemenea automatizat prin trimiterea la codurile de eroare standard furnizate în răspunsul mesajului.

Prin urmare, limbajul de programare folosit este un factor determinant în cât de dificil va fi implementarea SOAP.

Una dintre piesele de bagaje care însoțește un mesaj SOAP este

Limbajul de descriere a serviciilor web ("WSDL") pentru a explica modul în care funcționează serviciul web. Atunci când o aplicație se referă la serviciul web, citește și înțelege ce trebuie să facă cu serviciul web. SOAP nu este obligat să utilizeze exclusiv

HTTP (HyperText Transfer Protocol); acesta poate fi folosit peste SMTP și alte protocoale de transport. Deoarece SOAP a fost standardizat, este mai rigid decât REST, deși ambele depind de reguli stabilite.

REST

REST este cel mai nou și mai elegant vărul SOAP și devine rapid alegerea pentru majoritatea aplicațiilor web și mobile.

Mai mult de un deceniu după introducerea sa, REST este un mod mai ușor de întreținut și scalabil de a interacționa cu serviciile web.

Spre deosebire de SOAP, REST nu utilizează exclusiv

XML ; se pot utiliza , CSV și RSS , precum și JSON pentru apelurile AJAX; atâta timp cât sursa și țintele pot înțelege formatele utilizate. REST este mai puțin complexă și este considerată o curbă de învățare mai mică decât în ​​comparație cu SOAP. Cele mai multe limbi de programare moderne au biblioteci și cadre pentru a facilita serviciile REST (RESTful), cum ar fi C #, Python, Java și Perl.

REST este mai rapid datorită procesării minime și fiind mai eficient folosind diferite formate de mesaje.

Există avantaje și dezavantaje pentru ambele, deci atunci când analizați ce protocol de acces să utilizați, luați în considerare limbajele de programare folosite în organizație, mediul de aplicații și cerințele aplicației.