web services tutorial
Този урок за уеб услуги обяснява архитектурата, типовете и компонентите на уеб услугата, както и важните терминологии и разликите между SOAP VS REST:
В това Пълна серия уроци за тестване на API , разгледахме всичко API тестване в предишния ни урок. Преминете през този урок, за да се запознаете с WSDL и UDDI и как те съхраняват и дефинират уеб услуга.
Този урок също ще обясни как вътрешните услуги работят вътрешно, когато клиентско приложение направи заявка. Тук е обяснено и WSS, което е друга много важна концепция на SOAP Services.
Какво ще научите:
Важни терминологии при тестване на уеб услуги
Преди да започнем да изследваме уеб услугите, трябва да сме запознати с важните термини, които се използват при тестване на уеб услуги.
Да започваме!!
# 1) Оперативна съвместимост
Поддръжка на уеб услуги „Различни приложения с един код“. Това означава един общ код за всички приложения на различни платформи.
По този начин, оперативната съвместимост е процесът, който улеснява множество приложения за комуникация с другите приложения, намиращи се на различна платформа.
# 2) Удостоверяване и упълномощаване
Те се използват главно в SOAP Web Services. Най-общо удостоверяване означава валидиране на нещо, докато Упълномощаването означава даване / право на достъп до нещо.
Например - Ако имам страница във Facebook, тогава мога да бъда третиран като удостоверен потребител на Facebook. Докато, ако имате право да разглеждате моите снимки във facebook, вие сте упълномощен потребител.
Комбинирайки тези две, можем да кажем, че „Всички удостоверени потребители, които имат достъп до ресурсите, са известни като Упълномощени потребители за тези ресурси.“
Същото се случва и в уеб услугите, т.е. идентификаторът на потребителя и паролата, които се използват за генериране на маркера, обхващат частта за удостоверяване и този маркер, който ще се използва при изпращане на заявка до уеб сървъра, покрива частта за оторизация.
# 3) Свързана архитектура
Уеб услугите се основават на свободно свързана архитектура. Това означава, че интерфейсите на уеб услугите са динамични (промени през даден график) по своя характер. Но клиентската логика не е задължително да се променя при взаимодействие с услугата.
Това улеснява интеграцията на множество софтуери по по-ефективен начин. Ако това беше тясно свързана архитектура, тогава всеки път, когато интерфейсът се промени, клиентската логика трябва да се промени, за да се синхронизира с услугата.
# 4) Артефакт
Това е термин, който се използва в Web Services за обозначаване на информация или данни. Това не са всички данни, а част от информацията, която може да включва URL или URI, контекстен ключ, ключ на документ, полезен товар или поддържащи изображения.
# 5) Крайна точка
Това е много често срещан термин, който се използва при всяко искане на уеб услугата. Това е пълният URL адрес, който попада в екземпляра на уеб услугата.
Например - https://www.facebook.com/imsaket -> това е пълният URL адрес или крайна точка, който има facebook.com като URL адрес, а „imsaket“ се предава като контекстен ключ за уникално идентифициране на конкретен адрес.
пример за бинарно дърво за търсене c ++
# 6) Идемпотент
Това е при взаимодействието клиент-сървър, при което няма значение колко пъти сте ударили екземпляра на услугата и сървърът винаги ще връща същия отговор на клиента.
# 7) Маршалиране и демарширане
Както знаем, капсулирането е принцип на OOPS, който се определя като опаковане на код и данни в едно. Същото се случва и в SOAP Web Services. Когато обвиваме или капсулираме данни в полезен товар (XML), за да формираме SOAP съобщение и го изпращаме на сървъра, тогава този процес на капсулиране се нарича Маршалиране.
Демарширането е просто реципрочното на Маршалинг. Методът за декапсулиране или разгъване на данни и код (XML) от SOAP съобщението се нарича „Демаркиране“.
Какво е уеб услуга?
Както беше обсъдено по-рано, Web Services са услугите, които обслужват от една машина на друга през мрежа.
Пример за уеб услуги: AWS (Amazon Web Services), която позволява на онлайн потребителите да виждат цените на различни артикули, продавани на Amazon.com и Amazon.in
Компоненти на уеб услуги
По-долу са изброени различните компоненти на уеб услугите.
# 1) САПУН
Уеб услугите използват Simple Object Access Protocol (SOAP), който използва XML като полезен товар или тяло на заявката. Това е държавен протокол тъй като няма независим метод за конкретния вид операция.
Всички заявки и отговори се пренасят наведнъж през XML и изрично не се предоставят независими методи като GET, PUT, POST или DELETE.
# 2) WSDL
Тази SOAP заявка използва Език за описание на уеб услуги (WSDL) което е много полезен компонент на уеб услугата.
Това определя къде всъщност се намира уеб услугата, както и вида на уеб услугата, която трябва да бъде избрана за конкретна заявка. Това използва XML файл, който описва функционалността на уеб услугата.
# 3) UDDI
Друг полезен компонент е UDDI . Това означава Universal Description Discovery and Integration. Има доставчик на услуги, който предоставя уеб услугата. Следователно, за определен доставчик на услуги, този UDDI се използва за описване, откриване и публикуване на тези уеб услуги.
UDDI е отговорен за предоставянето на възможност на клиента да разбере (UDDI предоставя хранилище за WSDL), където се намира XML файлът на WSDL. Ето как се определя и описва уеб услуга.
# 4) XML-RPC
Той означава Extensible Markup Language - отдалечена процедура. Друг много важен компонент на уеб услугата е XML - RPC, който е отговорен за изпращането на съобщения между системите. Заявките и отговорите са под формата на XML и се изпращат / получават чрез HTTP POST.
Най-добрата характеристика на XML-RPC е, че клиентско приложение, пребиваващо на различна платформа, може да комуникира с различен сървър. Има нещо, наречено JSON-RPC, което е обяснено в последната част на статията, тъй като не представлява компонент на уеб услуга.
Архитектурата на уеб услуга
Архитектурата на уеб услуга може да бъде изобразена на следващата диаграма.
Както вече знаем, типичната архитектура на уеб услугите включва три обекта, т.е. клиент, уеб сървър и интернет, за да извърши операцията. Операцията не е нищо друго освен заявка и отговор в архитектура клиент-сървър.
Клиентът обикновено е набор от всички приложения или софтуерни системи, които изискват уеб услуга, като по този начин го правят потребител на услуги.
Уеб сървърът е набор от всички приложения или софтуерни системи, които предоставят уеб услуга. Всяка уеб услуга изисква мрежа за изпълнение и това води до третия обект, наречен Интернет.
Това е само преглед на архитектурата на уеб услуга.
Работната схема на уеб услуга се определя от трите компонента, показани по-долу.
- Заявител на услуги (Намери ())
- Доставчик на услуги (Публикуване ())
- Регистър на услуги или хранилище (Bind ())
Това е обяснено (подробно с диаграма) в архитектурата на SOAP услугата.
безплатни аниме сайтове за гледане онлайн
Видове уеб услуги
Два вида уеб услуги са обяснени по-долу подробно.
# 1) SOAP услуга
SOAP услугата означава Протокол за прост достъп до обекти. SOAP услугите са услуги с държавно състояние, които използват XML език, за да образуват плик. SOAP плик може да бъде описан на две части, т.е. едната е a Заглавка и тяло на SOAP , другият е протокол използва се за изпращане на SOAP съобщения.
Този заглавие на SOAP се състои от удостоверяване и упълномощаване, което предоставя достъп. Тялото се намира в раздела с полезния товар на заявката, който използва WSDL за описване на уеб услугата, а протоколът е предимно HTTP (протокол за предаване на HyperText).
Защита на уеб услуги
SOAP услугите имат SSL слой (Secure Socket Layer), който е отговорен за избягването на изтичане на данни по време на предаване и по този начин осигурява криптиране и декриптиране.
Междувременно SOAP услугите са по-сигурни, тъй като разполагат и с WSS (Web Services Security), което гарантира неразкриване по време на комуникация между услугата и приложението.
Както всички знаем, всяка уеб услуга (за разлика от Web API) се нуждае от мрежа, за да извърши своята работа. Поради това е необходимо уеб услугите да осигуряват сигурност, когато са свързани към мрежа. Следователно Web Services има три важни обекта, които покриват фактора на сигурност по време на прехвърлянето на съобщения.
- Удостоверяване и упълномощаване (Вече е обяснено по-горе).
- Поверителност: Това зависи изцяло от SSL, който осигурява криптиране и декриптиране на SOAP плика.
- Мрежова сигурност: Това означава да извлечете всички SOAP и XML - RPC отговори, които получавате от сървъра. Например, Ако вземете някакъв инструмент за уеб услуги като POSTMAN или PARASOFT, ще откриете, че под HTTP заглавния мениджър има опция за задаване на стойността на Content-Type. Стойността може да бъде зададена на Application / JSON, така че да извлече всички REST (Тъй като SOAP услугите не поддържат опции на HTTP Header manager) По този начин можете да предадете типа съдържание: Application / XML в полезен товар под формата на XML. Това също би извлекло SOAP и XML-RPC.
Тези три фактора съставляват сигурността на уеб услугите за справяне с външните атаки.
Архитектурата на услугата SOAP
Всяка SOAP услуга зависи от три обекта, които в крайна сметка формират архитектурата на SOAP услугата.
каква е добрата безплатна защитна стена за Windows 7 64-bit?
- Доставчик на услуги: Всички софтуерни системи или приложения, които са част или предоставят уеб услуга.
- Заявител на услугата: Всички софтуерни системи или приложения, които са част от заявките за уеб услуга от доставчика на услуги.
- Сервизен регистър: Регистър или хранилище, където цялата информация за уеб услугата се предоставя от доставчика на услуги. (Вече се обсъжда в UDDI)
Обяснение
Тези три обекта си взаимодействат помежду си, за да извършат успешно внедряване на уеб услуга. Това се прави на три фази. Първата фаза е Публикуване () фаза, при която доставчик на услуги съхранява всички подробности за уеб услуга в регистър на услуги или хранилище.
Втората фаза е Намирам() където заявка за услуга основно клиентското приложение намира подробностите за уеб услугата от хранилище (също има WSDL XML файл). Последната фаза е Обвързване () където клиентското приложение или заявителят на услуги се синхронизира с доставчика на услуги за окончателното внедряване на уеб услугата.
# 2) RESTful услуга
REST означава представително държавно прехвърляне, което е a Без гражданство Обслужване.
Той се нарича Stateless, тъй като уеб сървърът не съхранява никаква информация за клиентската сесия (времетраене до свързване и изпълнение на клиентското приложение), което означава, че всеки тип заявка се третира и изпълнява лесно с помощта на REST вградени методи като GET, POST, CUSTOM (PUT), DELETE, HEAD и така нататък.
Всъщност тези методи не присъстват в SOAP.
Метод или глаголи
Всеки метод в REST има своето значение. По-долу е даден брифинг за всеки от тях.
- ВЗЕМЕТЕ: Този метод се използва за извличане на информацията, която се изпраща до сървъра, използвайки някой от методите като PUT или POST. Това няма орган за искане. Успешното изпълнение ще ви даде 200 обекта за отговор.
- ПОЩА: Този метод се използва за създаване на документ или запис, като се използва тяло на заявката, посочен URL, ключ на документ, контекстен ключ и др. Същото може да бъде извлечено с помощта на метода GET. Успешното изпълнение ще ви даде 201 отговор.
- СЛАГАМ: Това е под опцията CUSTOM, която се предлага в POSTMAN или PARASOFT. Този метод се използва за актуализиране на всеки документ или запис, който вече е наличен. Успешното изпълнение ще ви даде 201 или 200 отговор.
- ИЗТРИЙ: Този метод се използва за изтриване на всеки запис. Успешното изпълнение ще ви даде 204 отговор (без съдържание).
Забележка: Кодовете за HTTP отговор зависят от начина, по който разработчиците кодират и могат да бъдат манипулирани понякога. Изброихме често срещаните кодове за отговор, които получаваме от всеки тип метод.
Архитектурата на REST услугата
Архитектурата на REST услугата зависи от две обекти, т.е.потребител на услуги или заявител и доставчик на услуги. Потребителят на услуги е този, който се възползва от уеб услугата, а доставчикът на услуги е колекцията от софтуер или система, която предоставя уеб услугата.
Клиентското приложение, което обикновено е потребител на услуги, използва вградени методи за REST, URL или URI, HTTP версия и полезен товар (ако се поддържа от метод).
САПУН срещу ПОЧИВКА
Въпреки че тези два вида уеб услуги се използват за изпълнение на заявката и отговора, те са напълно различни в начина си на работа.
Техните разлики са изброени за справка.
- SOAP пликът може да се използва в REST, но не и обратно. E.g. Потребителски маркер, който е създаден в SOAP, може да бъде предаден в REST заявката под HTTP заглавния мениджър -> Упълномощаване.
- SOAP обикновено е по-сигурен от REST услугите, тъй като SOAP услугите предоставят WSS, освен SSL. Този SSL присъства както в SOAP, така и в REST.
- SOAP е по-бавен от REST, тъй като обработката на заявката отнема повече време в SOAP поради формата на данните XML. REST използва JSON, който е много лек и по този начин го прави по-бърз.
- SOAP няма вграден метод, но REST има GET, PUT, POST и т.н.
- SOAP е с състояние, докато REST е без гражданство.
- Органите за заявки и отговори в SOAP поддържат само формата на XML данни. В REST органите за заявки и отговори поддържат много формати с данни като JSON, XML, обикновен текст и др.
Заключение
Този урок за уеб услуги обяснява архитектурата, компонентите и видовете уеб услуги.
Също така научихме за разликите между SOAP и REST услугите, заедно с други важни концепции и терминологии, свързани с уеб услугите.
Надяваме се, че този урок ви е помогнал да разберете уеб услугите !!
Препоръчително четене
- Урок за Python DateTime с примери
- Java SWING Урок: Контейнер, компоненти и обработка на събития
- Урок за инжектиране на HTML: Видове и превенция с примери
- Урок за скриптове на Unix Shell с примери
- Намиране на елемент от селен чрез урок с текст с примери
- Урок за основната функция на Python с практически примери
- Учебник за тестване по двойки или за всички двойки с инструменти и примери
- Урок за тестване на конфигурация с примери