REST a SOAP

Anonim

Úvod

Tento článek popisuje dva protokoly přístupu k webové službě, MÝDLO ("Protokol pro jednoduchý objektový přístup") a ODPOČINEK ("Reprezentační státní převod").

Webové služby

Webové služby jsou definovány tak, aby aktivně načítaly, četly nebo přenášely data z definovaného zdroje a vytvářely tak určený výsledek - výsledek.

Následující příklad znázorňuje základní použití webových služeb před pochopením, jak jsou data přenášena do a z webové služby pomocí SOAP nebo REST.

Pokud vývojář zapisuje aplikaci, která vyžaduje určité výpočty dat na jednom místě, zapíše metodu výpočtu do kódu na jednom místě. Pokud je však výpočet dat potřebný v jiných částech aplikace, bylo by neúčinné a nepraktické zachovat, pokud vývojář umístil výpočetní metodu do každé oblasti, kterou potřebuje.

Potřeba provést jednu změnu této metody by vyžadovalo nalezení každé instance k úpravě (a opakování testu). Tento scénář by měl prospěch z používání webové služby pro optimální fungování a zlepšení obchodní agility.

Vytvořením jedné webové služby s dostupnými metodami pro přidávání, odečtení, rozdělení a násobení bude aplikace pracovat s touto webovou službou vždy, když bude požadována kalkulace dat. volá webovou službu k výpočtu a výsledku. Existuje tedy pouze jedno místo, kde může vývojář udržovat metodu výpočtu dat.

Způsob zpracování dat v webových službách závisí na tom, zda je implementován SOAP nebo REST.

SOA a BPMN

Aplikace postavená na spustitelných procesech je založena na a Architektura orientovaná na služby ("SOA"). Jedná se o přístup k využívání služeb, které přenášejí, produkují, validují nebo počítají data.

SOA je stále více příznivé pro zlepšení kvality a času vývoje a zlepšuje výkonnost aplikací a škálovatelnost.

Modelování podnikových procesů ("BPMN") modeluje službu nebo obchodní proces, který může provádět netechnický uživatel, tj. Obchodní analytik. Použitím BPMN, podnikové modely (služby) snadno interpretují vývojáři, kteří implementují model jako spustitelný proces, a tyto procesy mohou nebo nemusí vyžadovat interakci člověka.

Jednoduchý objektový přístupový protokol (SOAP)

SOAP je metoda přenosu dat přes internet.

Původně vyvinutý společností Microsoft kvůli příchodu internetu, SOAP nahradil starý DCOM a CORBA technologie, a to bylo o mnoho déle než REST.

SOAP je považován za těžší než REST, to znamená, že pro přenos dat je zapotřebí více zavazadel, což znamená, že je zapotřebí větší šířky pásma na žádost o zprávu a zdroj dat a cílů mají více práce při balení a přijímání dat.

SOAP používá pouze XML pro služby pro zasílání zpráv přes internet a požadavky na zprávy XML mohou být velmi složité a pokud jsou vyvinuty ručně, vyžaduje se pečlivá pozornost, protože SOAP je nepružný s chybami.

Je možné automatizovat požadavky na zprávy SOAP pomocí jazyků.NET (jako příklad), kde vývojáři nemusí pracovat s XML, protože jsou generovány automaticky na pozadí.

Pokud dojde k nějakým potížím s požadavkem na zprávu, v odpovědi na zprávu se vrátí podrobné chybové informace a tento proces lze také automatizovat odkazem na standardní kódy chyb uvedené v odpovědi na zprávu.

Používaný programovací jazyk je tedy rozhodujícím faktorem, jak obtížné bude implementovat SOAP.

Jedna z částí zavazadel, která doprovází zprávu SOAP, je Jazyk popisu webových služeb ("WSDL"), aby vysvětlil, jak funguje webová služba. Když aplikace odkazuje na webovou službu, čte a rozumí, co s webovou službou dělat.

SOAP není povinen používat HTTP (Protokol přenosu HyperText) výhradně; lze jej použít přes protokol SMTP a další dopravní protokoly.

Vzhledem k tomu, že SOAP byl standardizován, je tužší než REST, ačkoli oba závisí na zavedených pravidlech.

ODPOČINEK

REST je novější a elegantnější bratranec SOAP a rychle se stává volbou pro většinu webových a mobilních aplikací.

Více než deset let po jejím zavedení je REST lehčí, udržitelnější a škálovatelnější způsob interakce s webovými službami.

Na rozdíl od SOAP, REST nepoužívá XML výhradně; prostý text, CSV, a RSS mohou být použity, stejně jako JSON pro volání AJAX; pokud zdroj a cíle mohou pochopit použité formáty.

REST je méně složitý a považuje se za menší křivku učení než ve srovnání se SOAP. Většina moderních programovacích jazyků má knihovny a rámce, které usnadňují služby REST (RESTful), jako jsou C #, Python, Java a Perl.

REST je rychlejší z důvodu minimálního zpracování a je efektivnější při použití různých formátů zpráv.

Existují výhody a nevýhody obou, takže při zvažování toho, který přístupový protokol je třeba použít, zvažte programovací jazyky používané v organizaci, aplikační prostředí a požadavky na aplikace.