Skirtumas tarp REST ir SOAP

Įvadas

Šiame straipsnyje aptariami du prieigos prie interneto paslaugų protokolai, SOAP („Paprastas objekto prieigos protokolas“) ir ATGAL („Reprezentacinis valstybės perdavimas“).

Interneto paslaugos

Žiniatinklio paslaugos yra apibrėžtos taip, kad jos aktyviai gautų, skaitytų ar perkeltų duomenis iš apibrėžto šaltinio, kad gautų nurodytą rezultatą - rezultatą.

Šis pradinis pavyzdys parodo pagrindinį interneto paslaugų naudojimą prieš suprantant, kaip duomenys perduodami į interneto tarnybą ir iš jos, naudojant SOAP arba REST.

Jei kūrėjas rašo programą, kuriai reikia duomenų apskaičiavimo vienoje vietoje, skaičiavimo metodas bus įrašytas toje pačioje vietoje esančiame kode. Tačiau jei duomenų skaičiavimas reikalingas kitose programos dalyse, tai būtų neveiksminga ir nepraktiška palaikyti, jei kūrėjas skaičiavimo metodą pritaikytų visose reikalingose ​​srityse..

Norint atlikti vieną metodo pakeitimą, reiktų surasti kiekvieną egzempliorių, kurį būtų galima redaguoti (ir iš naujo išbandyti). Šiam scenarijui būtų naudinga naudoti interneto paslaugą, kad ji veiktų optimaliai ir pagerintų verslo judrumą.

Sukūrusi vieną žiniatinklio paslaugą su prieinamais būdais sudėti, atimti, padalyti ir padauginti, programa įsijungs į tą interneto paslaugą, kai reikės duomenų apskaičiavimo; ji ragina interneto tarnybą atlikti skaičiavimus ir pateikti rezultatą. Taigi duomenų apskaičiavimo metodui palaikyti kūrėjas turi tik vieną vietą.

Duomenų tvarkymo būdas žiniatinklio paslaugose nustatomas pagal tai, ar įdiegtas SOAP, ar REST.

SOA ir BPMN

Vykdomuosiuose procesuose sukurta programa yra pagrįsta a Į paslaugas orientuota architektūra („SOA“). Tai yra požiūris į tai, kaip naudotis paslaugomis, kurios perduoda, gamina, patvirtina arba apskaičiuoja duomenis.

SOA tampa vis palankiau tobulinti tobulinimo kokybę ir laiką, tobulinti programos našumą ir mastelį.

Verslo proceso modeliavimo notacija („BPMN“) - tai paslaugos ar verslo proceso modeliavimas, kurį gali atlikti netechniniai žmonės, t. Y. Verslo analitikas. Naudojant BPMN, verslo modelius (paslaugų) kūrėjai, kurie įgyvendina modelį kaip vykdomąjį procesą, lengvai interpretuoja, ir šiems procesams gali prireikti žmonių sąveikos;.

Paprastas objekto prieigos protokolas (SOAP)

SOAP yra duomenų perdavimo internetu būdas.

Iš pradžių „Microsoft“ sukūrė dėl interneto atsiradimo, SOAP pakeitė senąją DCOM ir CORBA technologijas, ir ji egzistavo daug ilgiau nei REST.

SOAP laikomas sunkesniu nei REST, t. Y. Duomenims perduoti reikia daugiau bagažo, tai reiškia, kad kiekvienai pranešimo užklausai reikia didesnio pralaidumo, o duomenų šaltinis ir tikslai turi daugiau nuveikti pakuodami ir gaudami duomenis..

Naudojamas tik SOAP XML žinučių siuntimo paslaugoms internetu ir XML pranešimų užklausos gali būti labai sudėtingos, o jei jos kuriamos rankiniu būdu, reikia atidaus dėmesio, nes SOAP nelankstus su klaidomis.

Galima automatizuoti SOAP pranešimų užklausas naudojant .NET kalbas (kaip pavyzdį), kai kūrėjams nereikia dirbti su XML, nes jis automatiškai sukuriamas fone.

Jei kyla kokių nors problemų, susijusių su pranešimo užklausa, atsakant į pranešimą grąžinama išsami informacija apie klaidą. Šis procesas taip pat gali būti automatizuotas, nurodant standartinius klaidų kodus, pateiktus pranešimo atsakyme..

Todėl naudojama programavimo kalba yra lemiamas veiksnys, kaip sunku bus įgyvendinti SOAP.

Vienas iš SOAP pranešimą lydinčių bagažo vienetų yra Žiniatinklio paslaugų aprašymo kalba („WSDL“) paaiškinti, kaip veikia interneto paslauga. Kai programa pateikia nuorodą į interneto paslaugą, ji perskaito ir supranta, ką daryti su interneto paslauga.

SOAP neprivalo naudoti HTTP („HyperText Transfer Protocol“); jį galima naudoti per SMTP ir kitus transportavimo protokolus.

Kadangi SOAP buvo standartizuotas, jis yra griežtesnis nei REST, nors abu jie priklauso nuo nustatytų taisyklių.

ATGAL

REST yra naujesnis ir aptakesnis SOAP pusbrolis, kuris greitai tampa daugelio žiniatinklio ir mobiliųjų programų pasirinkimu.

Praėjus daugiau nei dešimtmečiui nuo jo įvedimo, REST yra lengvesnis, prižiūrimas ir keičiamas masto interneto paslaugų naudojimo būdas..

Skirtingai nuo SOAP, REST nenaudoja XML išimtinai; paprastas tekstas, CSV, ir RSS gali būti naudojamas, taip pat JSON AJAX skambučiams; tol, kol šaltinis ir tikslai gali suprasti naudojamus formatus.

REST yra mažiau sudėtingas ir laikomas mažesne mokymosi kreivė, palyginti su SOAP. Daugelyje šiuolaikinių programavimo kalbų yra bibliotekos ir rėmai, palengvinantys REST (RESTful) paslaugas, pavyzdžiui, C #, Python, Java ir Perl..

REST yra greitesnis dėl minimalaus apdorojimo ir yra efektyvesnis naudojant skirtingus pranešimų formatus.

Abu būdai turi pranašumų ir trūkumų, todėl svarstant, kurį prieigos protokolą naudoti, atsižvelkite į organizacijoje naudojamas programavimo kalbas, taikymo aplinką ir taikymo reikalavimus..