web services tutorial
Tento výukový program webových služieb vysvetľuje architektúru, typy a komponenty webovej služby spolu s dôležitými terminológiami a rozdielmi medzi SOAP Vs REST:
V tomto Kompletná séria výučby testovania API , preskúmali sme všetko okolo Testovanie API v našom predchádzajúcom návode. V tomto výučbe sa oboznámite s WSDL a UDDI a s tým, ako ukladajú a definujú webovú službu.
V tomto výučbe sa tiež dozviete, ako interne fungujú webové služby, keď klientská aplikácia požiada. Je tu tiež vysvetlené WSS, čo je ďalší veľmi dôležitý koncept SOAP Services.
Čo sa dozviete:
Dôležité terminológie pri testovaní webových služieb
Predtým, ako začneme skúmať webové služby, mali by sme sa oboznámiť s dôležitými výrazmi, ktoré sa používajú pri testovaní webových služieb.
Začnime!!
# 1) Interoperabilita
Webové služby podporujú „Jeden kód, rôzne aplikácie“. To znamená jeden všeobecný kód pre všetky aplikácie na rôznych platformách.
Interoperabilita je teda proces, ktorý uľahčuje komunikáciu viacerých aplikácií s ostatnými aplikáciami nachádzajúcimi sa na inej platforme.
# 2) Autentifikácia a autorizácia
Používajú sa hlavne v SOAP webových službách. Všeobecne platí, že autentifikácia znamená overenie niečoho, zatiaľ čo autorizácia znamená udelenie / mať právo na prístup k niečomu.
Napríklad - Ak mám stránku na Facebooku, môže ma považovať za autentizovaného používateľa Facebooku. Zatiaľ čo ak máte právo prezerať si moje fotografie na facebooku, ste oprávneným používateľom.
Ich kombináciou môžeme povedať, že „Všetci autentifikovaní používatelia, ktorí majú prístup k zdrojom, sú pre tieto zdroje známi ako Autorizovaní používatelia.“
To isté sa deje vo webových službách, t. J. ID používateľa a heslo, ktoré sa používajú na generovanie tokenu, pokrýva autentifikačnú časť a tento token, ktorý sa použije pri odosielaní žiadosti na webový server, pokrýva autorizačnú časť.
# 3) Voľne spojená architektúra
Webové služby sú založené na architektúre s voľným prepojením. To znamená, že rozhrania webových služieb majú dynamickú (zmeny počas danej časovej osi). Logika klienta sa ale nemusí nevyhnutne meniť pri interakcii so službou.
To uľahčuje integráciu viacerých softvérov efektívnejším spôsobom. Ak to bola úzko spojená architektúra, potom vždy, keď sa rozhranie zmení, je potrebné zmeniť logiku klienta, aby bola synchronizovaná so službou.
# 4) Artefakt
Je to termín, ktorý sa používa vo webových službách na označenie informácií alebo údajov. Nejde o celé údaje, ale o informácie, ktoré môžu obsahovať adresu URL alebo URI, kontextový kľúč, kľúč dokumentu, užitočné zaťaženie alebo podporné obrázky.
# 5) Koncový bod
Toto je veľmi častý pojem, ktorý sa používa v každej požiadavke webovej služby. Toto je úplná adresa URL, ktorá zasahuje inštanciu webovej služby.
Napríklad - https://www.facebook.com/imsaket -> toto je úplná adresa URL alebo koncový bod, ktorý má ako adresu URL facebook.com a výraz „imsaket“ sa odovzdáva ako kontextový kľúč na jednoznačnú identifikáciu konkrétnej adresy.
loadrunner rozhovor otázky a odpovede pre skúsených
# 6) Idempotentný
Ide o interakciu klient-server, v ktorej nezáleží na tom, koľkokrát narazíte na inštanciu služby, a server vráti klientovi vždy rovnakú odpoveď.
# 7) Marshalling and Demarshalling
Ako vieme, zapuzdrenie je princípom OOPS, ktorý je definovaný ako zabalenie kódu a údajov do jedného. To isté sa deje v SOAP webových službách. Keď zabalíme alebo zapuzdríme údaje do užitočného zaťaženia (XML), aby sme vytvorili správu SOAP a odoslali ich na server, potom sa tento proces zapuzdrenia nazýva Marshalling.
Demarshalling je iba recipročný Marshalling. Metóda dekapsulácie alebo rozbalenia údajov a kódu (XML) zo správy SOAP sa nazýva „Demarshalling“.
Čo je to webová služba?
Ako sme už diskutovali, webové služby sú služby, ktoré slúžia z jedného stroja na druhý po sieti.
Príklad webových služieb: AWS (Amazon Web Services), ktorá umožňuje online používateľom zobraziť ceny rôznych položiek predávaných na stránkach Amazon.com a Amazon.in
Súčasti webových služieb
Nižšie sú uvedené rôzne komponenty webových služieb.
# 1) MYDLO
Webové služby používajú protokol Simple Object Access Protocol (SOAP), ktorý používa XML ako užitočné dáta alebo telo žiadosti. Toto je stavový protokol pretože pre konkrétny typ operácie neexistuje nezávislá metóda.
Všetky požiadavky a odpovede sa prenášajú naraz prostredníctvom XML a výslovne sa neposkytujú žiadne nezávislé metódy ako GET, PUT, POST alebo DELETE.
# 2) WSDL
Táto požiadavka na SOAP využíva Jazyk popisu webových služieb (WSDL) čo je veľmi užitočná súčasť webovej služby.
Toto definuje, kde sa webová služba skutočne nachádza, a tiež typ webovej služby, ktorá sa má vyzdvihnúť pre konkrétnu požiadavku. Využíva sa tak súbor XML, ktorý popisuje funkčnosť webovej služby.
# 3) UDDI
Ďalšou užitočnou súčasťou je UDDI . To znamená Universal Description Discovery a integrácia. Webovú službu poskytuje poskytovateľ služieb. Preto sa pre konkrétneho poskytovateľa služieb toto UDDI používa na popis, objavovanie a publikovanie týchto webových služieb.
Spoločnosť UDDI je zodpovedná za to, že umožní klientovi zistiť (UDDI poskytuje úložisko pre WSDL), kde sa nachádza súbor XML WSDL. Takto je definovaná a opísaná webová služba.
# 4) XML-RPC
Je skratkou pre Extensible Markup Language - Remote Procedure. Ďalším veľmi dôležitým komponentom webovej služby je XML - RPC, ktorý je zodpovedný za odosielanie správ naprieč systémami. Žiadosti a odpovede majú formu XML a sú odosielané / prijímané prostredníctvom protokolu HTTP POST.
Najlepšou vlastnosťou XML-RPC je to, že klientská aplikácia nachádzajúca sa na inej platforme môže komunikovať s iným serverom. V druhej časti článku je vysvetlené niečo, čo sa volá JSON-RPC, pretože netvorí súčasť webovej služby.
Architektúra webovej služby
Architektúra webovej služby je znázornená na nasledujúcom diagrame.
Ako už vieme, typická architektúra webových služieb pozostáva z troch entít, tj. Klienta, webového servera a internetu na vykonanie operácie. Operácia nie je nič iné ako požiadavka a odpoveď v architektúre klient-server.
Klient je zvyčajne súbor všetkých aplikácií alebo softvérových systémov, ktoré požadujú webovú službu, čím sa z nej stáva spotrebiteľ služby.
Webový server je sada všetkých aplikácií alebo softvérových systémov, ktoré poskytujú webové služby. Každá webová služba vyžaduje na fungovanie sieť a výsledkom je tretí subjekt nazývaný internet.
Toto je iba prehľad architektúry webovej služby.
Pracovný diagram webovej služby je definovaný tromi komponentmi zobrazenými nižšie.
- Žiadateľ o službu (Nájsť ())
- Poskytovateľ služieb (Zverejniť ())
- Servisný register alebo úložisko (väzba ())
To je vysvetlené (podrobne diagramom) v architektúre služby SOAP.
bezplatné anime stránky na pozeranie online
Typy webových služieb
Ďalej sú podrobne vysvetlené dva typy webových služieb.
# 1) SOAP služba
Služba SOAP znamená Simple Object Access Protocol. Služby SOAP sú stavové služby, ktoré na vytvorenie obálky používajú jazyk XML. Obálku SOAP možno opísať v dvoch častiach, tj. Jedna je a Hlavička a text SOAP , druhý je protokol slúži na odosielanie správ SOAP.
Táto hlavička SOAP pozostáva z overovania a autorizácie, ktorá udeľuje prístup. Telo spadá pod časť užitočného zaťaženia žiadosti, ktorá na opis webovej služby používa WSDL, a protokol je hlavne HTTP (HyperText Transmission Protocol).
Zabezpečenie webových služieb
Služby SOAP majú vrstvu SSL (Secure Socket Layer), ktorá je zodpovedná za zabránenie úniku údajov počas prenosu, a poskytuje tak šifrovanie a dešifrovanie.
Medzitým sú služby SOAP bezpečnejšie, pretože majú aj WSS (Web Services Security), ktoré zaručujú žiadne prezradenie počas komunikácie medzi službou a aplikáciou.
Ako všetci vieme, každá webová služba (na rozdiel od webového rozhrania API) potrebuje na svoje fungovanie sieť. Preto je nevyhnutné, aby webové služby poskytovali bezpečnosť pri pripojení k sieti. Webové služby preto majú tri dôležité subjekty, ktoré pokrývajú bezpečnostný faktor počas prenosu správy.
- Autentifikácia a autorizácia (Už bolo vysvetlené vyššie).
- Dôvernosť: To úplne závisí od protokolu SSL, ktorý poskytuje šifrovanie a dešifrovanie obálky SOAP.
- Zabezpečenie siete: To znamená extrahovať všetky odpovede SOAP a XML - RPC, ktoré dostanete zo servera. Napríklad, Ak použijete akýkoľvek nástroj webových služieb, ako je POSTMAN alebo PARASOFT, zistíte, že v správcovi hlavičiek HTTP existuje možnosť nastaviť hodnotu typu obsahu. Hodnotu je možné nastaviť na Aplikáciu / JSON, aby extrahovala všetky REST (Pretože služby SOAP nepodporujú možnosti správcu hlavičiek HTTP). Môžete teda odovzdať typ obsahu: Aplikácia / XML v a užitočné zaťaženie vo forme XML. Týmto by sa extrahovali aj SOAP a XML-RPC.
Tieto tri faktory tvoria zabezpečenie webových služieb, aby sa vyrovnali s externými útokmi.
Architektúra služby SOAP
Každá služba SOAP závisí od troch entít, ktoré nakoniec tvoria architektúru služby SOAP.
- Poskytovateľ služieb: Všetky softvérové systémy alebo aplikácie, ktoré sú súčasťou alebo poskytujú webovú službu.
- Žiadateľ o službu: Všetky softvérové systémy alebo aplikácie, ktoré sú súčasťou, vyžadujú od poskytovateľa služieb webovú službu.
- Servisný register: Register alebo úložisko, kde poskytovateľ služieb poskytuje všetky informácie o webovej službe. (Už diskutované v UDDI)
Vysvetlenie
Tieto tri entity navzájom spolupracujú, aby vykonali úspešnú implementáciu webových služieb. Toto sa deje v troch fázach. Prvá fáza je Zverejniť () fáza, kedy poskytovateľ služieb podáva všetky podrobnosti o webovej službe v registri služieb alebo úložisku.
Druhá fáza je Nájsť() kde požiadavka na službu hlavne klientská aplikácia vyhľadá podrobnosti o webovej službe z úložiska (má tiež súbor WSDL XML). Posledná fáza je Viazanie () kde sa klientská aplikácia alebo žiadateľ o službu synchronizuje s poskytovateľom služby pre finálnu implementáciu webovej služby.
# 2) RESTful Service
REST znamená Reprezentatívny štátny prevod, čo je a Bezstavový Služby.
Nazýva sa to Stateless, pretože webový server neukladá žiadne informácie o relácii klienta (čas do pripojenia klientskej aplikácie a počas vykonávania), čo znamená, že každý typ žiadosti je liečený a vykonávaný ľahko pomocou vstavaných metód REST, ako je GET, POŠTOVAŤ, VLASTNÉ (VLOŽIŤ), ODSTRÁNIŤ, HLAVIŤ atď.
Tieto metódy v SOAP skutočne nie sú.
Metóda alebo slovesá
Každá metóda v REST má svoj význam. Ďalej je uvedený briefing o každej z nich.
- ZÍSKAJTE: Táto metóda sa používa na získanie informácií, ktoré sa posielajú na server, pomocou ktorejkoľvek z metód, ako je PUT alebo POST. Toto nemá telo žiadosti. Úspešné vykonanie vám dá 200 objektov odpovede.
- POST: Táto metóda sa používa na vytvorenie dokumentu alebo záznamu pomocou tela žiadosti, zadanej adresy URL, kľúča dokumentu, kontextového kľúča atď. To isté je možné získať pomocou metódy GET. Úspešné vykonanie vám poskytne 201 odpovedí.
- PUT: Toto je v rámci možnosti VLASTNÉ, ktorá je k dispozícii v programoch POSTMAN alebo PARASOFT. Táto metóda sa používa na aktualizáciu všetkých dokumentov alebo záznamov, ktoré už existujú. Úspešné vykonanie vám poskytne odpoveď 201 alebo 200.
- ODSTRÁNIŤ: Táto metóda sa používa na odstránenie ľubovoľného záznamu. Úspešné vykonanie vám dá odpoveď 204 (žiadny obsah).
Poznámka: Kódy odpovedí HTTP závisia od toho, ako vývojári kódujú, a dá sa s nimi občas manipulovať. Uviedli sme bežné kódy odpovedí, ktoré dostávame od jednotlivých typov metód.
Architektúra služby REST
Architektúra služby REST závisí od dvoch entít, tj od spotrebiteľa služby alebo žiadateľa a poskytovateľa služby. Spotrebiteľ služby je ten, kto využíva webové služby, a poskytovateľ služieb je kolekcia softvéru alebo systému, ktorý poskytuje webové služby.
Klientská aplikácia, ktorá je zvyčajne zákazníkom služieb, používa vstavané metódy REST, URL alebo URI, verziu HTTP a užitočné zaťaženie (ak to metóda podporuje).
ako zobraziť súbory eps v systéme Windows 10
MYDLO vs REST
Aj keď sa tieto dva typy webových služieb používajú na vykonávanie požiadaviek a odpovedí, svojím fungovaním sa úplne líšia.
Ich rozdiely sú uvedené nižšie pre vašu referenciu.
- Obálku SOAP je možné použiť v REST, ale nie naopak. Napr. Užívateľský token, ktorý je vytvorený v SOAP, je možné odovzdať v požiadavke REST pod správcom hlavičiek HTTP -> Autorizácia.
- SOAP je zvyčajne bezpečnejší ako služby REST, pretože služby SOAP poskytujú okrem protokolu SSL aj WSS. Tento SSL je prítomný v SOAP aj REST.
- SOAP je pomalší ako REST, pretože spracovanie žiadosti trvá dlhšie v SOAP kvôli formátu údajov XML. REST používa JSON, ktorý je veľmi ľahký a preto je rýchlejší.
- SOAP nemá žiadnu zabudovanú metódu, ale REST má GET, PUT, POST atď.
- SOAP je stavový, zatiaľ čo REST je bez štátnej príslušnosti.
- Orgány požiadaviek a odpovedí v SOAP podporujú iba dátový formát XML. V REST-e orgány žiadosti a odpovede podporujú mnoho dátových formátov ako JSON, XML, Plain Text atď.
Záver
Tento tutoriál o webových službách vysvetlil architektúru, komponenty a typy webových služieb.
Dozvedeli sme sa tiež o rozdieloch medzi službami SOAP a REST spolu s ďalšími dôležitými konceptmi a terminológiami súvisiacimi s webovými službami.
Dúfame, že vám tento návod pomohol porozumieť webovým službám !!
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Výukový program pre Python DateTime s príkladmi
- Výukový program Java SWING: Kontajnery, komponenty a spracovanie udalostí
- Výukový program pre vstrekovanie HTML: Typy a prevencia s príkladmi
- Výukový program pre skriptovanie Unixu s príkladmi
- Sprievodca hľadaním prvkov selénom podľa výučby s príkladmi
- Výukový program pre hlavné funkcie Pythonu s praktickými príkladmi
- Výukový program pre párové testovanie alebo testovanie všetkých párov s nástrojmi a príkladmi
- Výukový program na testovanie konfigurácie s príkladmi