Разлика между REST и SOAP

Въведение

Тази статия разглежда два протокола за достъп до уеб услуги, SOAP („Прост протокол за достъп до обекти“) и ПОЧИВКА („Представителен държавен трансфер“).

Уеб услуги

Уеб услугите са определени за активно извличане, четене или прехвърляне на данни от определен източник, за да се получи определен резултат - резултат.

Следващият рудиментарен пример показва основно използване на уеб услугите, преди да разберете как данните се прехвърлят към и от уеб услугата, използвайки SOAP или REST.

Ако разработчик пише приложение, което изисква някакво изчисление на данните на едно място, то ще напише метода за изчисление в кода на това едно място. Ако обаче изчислението на данните е необходимо в други части на приложението, би било неефективно и непрактично да се поддържа, ако разработчикът е поставил метода на изчисление във всяка област, от която се нуждае.

Налагането на една промяна в този метод ще изисква намирането на всеки екземпляр за редактиране (и повторно тестване). Този сценарий би имал полза от използването на уеб услуга, за да функционира оптимално и да подобри гъвкавостта на бизнеса.

Създавайки една уеб услуга с достъпни методи за добавяне, изваждане, деление и умножение, приложението ще се ангажира с тази уеб услуга, когато се изисква изчисляване на данните; той призовава уеб услугата да направи изчислението и да произведе резултата. Така че има само едно място за програмиста да поддържа метода за изчисляване на данните.

Начинът на обработка на данните в уеб услугите се определя от това дали са внедрени SOAP или REST.

SOA и BPMN

Приложение, изградено на изпълними процеси, се основава на a Архитектура, ориентирана към услуги ( "SOA"). Това е подход за това как да използвате услуги, които прехвърлят, произвеждат, валидират или изчисляват данни.

SOA става все по-благоприятно за подобряване на качеството и времето за разработка и подобряване на производителността и мащабируемостта на приложенията.

Нотация за моделиране на бизнес процеси („BPMN“) е моделиране на услуга или бизнес процес, който може да бъде извършен от нетехнически хора, т.е. бизнес анализатора. Използвайки BPMN, бизнес моделите (за услуги) лесно се интерпретират от разработчиците, които прилагат модела като изпълним процес и тези процеси могат или не изискват човешко взаимодействие.

Прост протокол за достъп до обекти (SOAP)

SOAP е метод за прехвърляне на данни през интернет.

Първоначално разработен от Microsoft поради появата на интернет, SOAP замени стария DCOM и CORBA технологии и той е бил доста по-дълъг от REST.

SOAP се счита за по-тежък от REST, т. Е. За прехвърляне на данни е необходим повече багаж, което означава, че е необходима повече честотна лента при заявка за съобщение, а източникът на данни и целите имат повече работа за опаковане и получаване на данните.

SOAP използва само XML за услуги за съобщения по интернет и заявките за XML съобщения могат да бъдат много сложни и ако се разработват ръчно, е необходимо внимателно внимание, тъй като SOAP не е гъвкав с грешки.

Възможно е да се автоматизират заявки за SOAP съобщения с помощта на .NET езици (като пример), където разработчиците не трябва да работят с XML, тъй като той се генерира автоматично във фонов режим.

Ако се срещнат някакви проблеми със заявката за съобщение, в отговора на съобщението се връща подробна информация за грешка и този процес може да бъде автоматизиран и чрез препращане към стандартните кодове за грешка, предоставени в отговора на съобщението.

Следователно използваният език за програмиране е определящ фактор за това колко трудно ще бъде прилагането на SOAP.

Едно от парчетата багаж, което придружава SOAP съобщение, е Уеб услуги Описание Език („WSDL“), за да обясни как работи уеб услугата. Когато приложение препраща към уеб услугата, тя чете и разбира какво да прави с уеб услугата.

SOAP не е обвързан с използване HTTP (HyperText Transfer Protocol) изключително; може да се използва през SMTP и други транспортни протоколи.

Тъй като SOAP беше стандартизиран, той е по-твърд от REST, въпреки че и двете зависят от установените правила.

ПОЧИВКА

REST е по-новият и елегантен братовчед на SOAP и бързо се превръща в избор за повечето уеб и мобилни приложения.

Повече от десетилетие след въвеждането си, REST е по-лек, по-поддържан и мащабируем начин за взаимодействие с уеб услуги.

За разлика от SOAP, REST не използва XML единствено и само; обикновен текст, CSV, и RSS може да се използва, както и JSON за AJAX разговори; стига и източникът и целите да могат да разберат използваните формати.

REST е по-малко сложен и се счита за по-малка крива на обучение в сравнение със SOAP. Повечето съвременни езици за програмиране имат библиотеки и рамки за улесняване на REST (RESTful) услуги, като C #, Python, Java и Perl.

REST е по-бърз поради минимална обработка и е по-ефективен при използване на различни формати на съобщения.

И двете имат предимства и недостатъци, така че, когато обмисляте кой протокол за достъп да използвате, вземете предвид програмните езици, използвани в организацията, средата на приложение и изискванията за приложение.