Rozdiel medzi REST a SOAP

úvod

Tento článok popisuje dva protokoly o prístupe k webovým službám, SOAP ("Protokol o jednoduchom prístupe k objektom") a REST („Reprezentatívny štátny prevod“).

Webové služby

Webové služby sú definované na aktívne načítavanie, čítanie alebo prenos údajov z definovaného zdroja, aby sa dosiahol určený výsledok - výsledok.

Nasledujúci základný príklad ukazuje základné použitie webových služieb predtým, ako pochopíme, ako sa údaje prenášajú do a z webovej služby pomocou SOAP alebo REST..

Ak vývojár píše aplikáciu, ktorá vyžaduje výpočet niektorých údajov na jednom mieste, spôsob výpočtu zapíše do kódu na jednom mieste. Ak je však výpočet údajov potrebný v iných častiach aplikácie, bolo by neefektívne a nepraktické zachovať, či vývojár umiestnil metódu výpočtu do všetkých oblastí, ktoré sú potrebné..

Ak by ste museli vykonať jednu zmenu tejto metódy, bolo by potrebné nájsť každú inštanciu na úpravu (a opakovanie). Tento scenár by bol prínosom z optimálneho fungovania webovej služby a zlepšenia obchodnej agility.

Vytvorením jednej webovej služby s prístupnými metódami na sčítanie, odčítanie, rozdelenie a znásobenie bude aplikácia pracovať s touto webovou službou vždy, keď sa vyžaduje výpočet údajov; Vyzýva webovú službu, aby vykonala výpočet a priniesla výsledok. Preto existuje iba jedno miesto pre vývojárov, aby si zachovali metódu výpočtu údajov.

Spôsob, akým sa s údajmi zaobchádza vo webových službách, závisí od toho, či je implementovaný SOAP alebo REST.

SOA a BPMN

Aplikácia postavená na spustiteľných procesoch je založená na a Architektúra orientovaná na služby ( "SOA"). Je to prístup k tomu, ako používať služby, ktoré prenášajú, produkujú, overujú alebo vypočítavajú údaje.

SOA sa stáva čoraz priaznivejším na zlepšenie kvality a času vývoja a na zlepšenie výkonnosti a škálovateľnosti aplikácií.

Notifikácia modelovania podnikových procesov (Ďalej len „BPMN“) modeluje službu alebo obchodný proces, ktorý môžu vykonávať netechnickí ľudia, tj. Obchodný analytik. Použitím BPMN, vývojové modely, ktoré implementujú model ako vykonateľný proces, môžu obchodné modely (pre služby) interpretovať ľahko a tieto procesy môžu alebo nemusia vyžadovať ľudskú interakciu.

Protokol jednoduchého prístupu k objektom (SOAP)

SOAP je spôsob prenosu údajov cez internet.

Pôvodne vyvinutý spoločnosťou Microsoft v dôsledku príchodu internetu, SOAP nahradil staré DCOM a CORBA technológií a existuje už omnoho dlhšie ako REST.

SOAP sa považuje za ťažší ako REST, to znamená, že na prenos údajov je potrebných viac batožiny, čo znamená, že na požiadavku na správu je potrebná väčšia šírka pásma a zdroj údajov a ciele majú pri balení a prijímaní údajov viac práce..

Používa sa iba SOAP XML pre služby zasielania správ cez internet a žiadosti o správy XML môžu byť veľmi zložité a ak sa vyvinú manuálne, vyžaduje sa zvýšená pozornosť, pretože SOAP je nepružný s chybami.

Je možné automatizovať žiadosti o SOAP správy pomocou .NET jazykov (ako príklad), kde vývojári nemusia pracovať s XML, pretože sa generuje automaticky na pozadí.

Ak sa vyskytnú nejaké problémy so žiadosťou o správu, v odpovedi na správu sa vrátia podrobné informácie o chybe a tento proces sa dá tiež automatizovať odkazom na štandardné chybové kódy uvedené v odpovedi na správu..

Použitý programovací jazyk je preto určujúcim faktorom toho, aké ťažké bude implementovať SOAP.

Jednou z batožín, ktoré sú súčasťou správy SOAP, je Jazyk popisu webových služieb („WSDL“) s cieľom vysvetliť, ako webová služba funguje. Keď aplikácia odkazuje na webovú službu, prečíta a chápe, čo s webovou službou robiť.

SOAP nie je povinný používať HTTP (HyperText Transfer Protocol) výlučne; dá sa použiť cez SMTP a ďalšie prenosové protokoly.

Keďže SOAP bol štandardizovaný, je prísnejší ako REST, hoci obidva závisia od zavedených pravidiel.

REST

REST je novšia a elegantnejšia sesternica SOAP a rýchlo sa stáva voľbou pre väčšinu webových a mobilných aplikácií.

Viac ako desať rokov po svojom zavedení je REST ľahším, udržiavateľnejším a škálovateľnejším spôsobom interakcie s webovými službami..

Na rozdiel od SOAP sa REST nepoužíva XML výlučne; obyčajný text, CSV, a RSS môžu byť použité, rovnako ako JSON pre hovory AJAX; pokiaľ zdroj aj ciele dokážu porozumieť použitým formátom.

REST je menej zložitý a považuje sa za menšiu krivku učenia ako v porovnaní so SOAP. Väčšina moderných programovacích jazykov obsahuje knižnice a rámce na uľahčenie služieb REST (RESTful), ako sú C #, Python, Java a Perl..

REST je rýchlejší vďaka minimálnemu spracovaniu a zefektívneniu používania rôznych formátov správ.

Existujú výhody a nevýhody oboch, takže pri zvažovaní toho, ktorý prístupový protokol sa má použiť, zvážte programovacie jazyky používané v organizácii, aplikačné prostredie a aplikačné požiadavky..