web services tutorial
Ovaj vodič za web usluge objašnjava arhitekturu, vrste i komponente web usluga, zajedno s važnim terminologijama i razlikama između SOAP-a I OSTALOG:
U ovome Kompletna serija vodiča za testiranje API-ja , istražili smo sve o API ispitivanje u našem prethodnom vodiču. Prođite kroz ovaj vodič da biste se upoznali s WSDL-om i UDDI-jem te kako oni pohranjuju i definiraju web uslugu.
Ovaj će vodič također objasniti kako internetske usluge interno rade kada klijentska aplikacija podnese zahtjev. Ovdje je također objašnjen WSS, što je još jedan vrlo važan koncept SOAP usluga.
Što ćete naučiti:
Važne terminologije u testiranju web usluga
Prije nego što započnemo s istraživanjem web usluga, trebali bismo se upoznati s važnim pojmovima koji se koriste u testiranju web usluga.
Počnimo!!
# 1) Interoperabilnost
Podrška za web usluge 'Različite aplikacije s jednim kodom'. To znači jedan generički kod za sve aplikacije na različitim platformama.
Stoga je interoperabilnost postupak koji omogućuje višestrukim aplikacijama komunikaciju s ostalim aplikacijama koje se nalaze na drugoj platformi.
# 2) Autentifikacija i autorizacija
Oni se uglavnom koriste u web-uslugama SOAP. Općenito, Autentifikacija znači provjeru valjanosti nečega, dok Autorizacija znači davanje / imati pravo pristupa nečemu.
Na primjer - Ako imam Facebook stranicu, onda mogu biti tretiran kao ovjereni korisnik Facebooka. Ako imate pravo pregledavati moje fotografije na facebooku, onda ste ovlašteni korisnik.
Kombinirajući ovo dvoje možemo reći da su „Svi ovjereni korisnici koji imaju pristup resursima poznati kao ovlašteni korisnici za te resurse.“
Ista se stvar događa u web uslugama, tj. Korisnički ID i lozinka koji se koriste za generiranje tokena pokrivaju dio provjere autentičnosti, a ovaj token koji će se koristiti za slanje zahtjeva web poslužitelju pokriva autorizacijski dio.
# 3) Labavo spojena arhitektura
Web usluge temelje se na labavo spojenoj arhitekturi. To znači da su sučelja Web usluga dinamične (promjene tijekom određenog vremenskog slijeda). Ali logika klijenta ne mora se nužno mijenjati tijekom interakcije sa uslugom.
To olakšava integraciju više softvera na učinkovitiji način. Ako se radilo o tijesno spojenoj arhitekturi, svaki put kada se promijeni sučelje, klijentska logika mora se mijenjati kako bi se sinkronizirala s uslugom.
# 4) Artefakt
To je pojam koji se u web uslugama koristi za označavanje podataka ili podataka. Ovo nisu cjeloviti podaci, već dio podataka koji može uključivati URL ili URI, kontekstni ključ, ključ dokumenta, korisni teret ili potporne slike.
# 5) Krajnja točka
Ovo je vrlo čest izraz koji se koristi u svakom zahtjevu web usluge. Ovo je cjelovit URL koji pogađa instancu web usluge.
Na primjer - https://www.facebook.com/imsaket -> ovo je cjeloviti URL ili krajnja točka koja ima facebook.com kao URL, a 'imsaket' se prenosi kao kontekstni ključ za jedinstvenu identifikaciju određene adrese.
loadrunner intervju pitanja i odgovori za iskusne
# 6) Idempotentna
To je u interakciji klijent-poslužitelj u kojoj nije važno koliko ste puta pogodili instancu usluge, a poslužitelj će klijentu uvijek vratiti isti odgovor.
# 7) Marširanje i demarširanje
Kao što znamo, inkapsulacija je OOPS princip koji se definira kao zamatanje koda i podataka u jedan. Ista stvar događa se u SOAP web servisima. Kada podatke umotamo ili uvrstimo u korisni teret (XML) kako bismo oblikovali SOAP poruku i poslali je poslužitelju, tada se taj postupak kapsuliranja naziva marširanje.
Demarshalling je samo recipročna vrijednost Marshallinga. Metoda dekapsulacije ili odmotavanja podataka i koda (XML) iz SOAP poruke naziva se 'Demarshalling'.
Što je web usluga?
Kao što je ranije spomenuto, web usluge su usluge koje se s jednog računala na drugi uslužuju putem mreže.
Primjer web usluga: AWS (Amazon Web Services) koji mrežnim korisnicima omogućuje pregled cijena različitih predmeta prodanih na Amazon.com i Amazon.in
Komponente web usluga
U nastavku su navedene razne komponente web usluga.
# 1) SAPUN
Web usluge koriste Jednostavni protokol za pristup objektima (SOAP) koji koristi XML kao korisni teret ili tijelo zahtjeva. Ovo je protokol s državom jer ne postoji neovisna metoda za određenu vrstu operacije.
Svi se zahtjevi i odgovori prenose odjednom kroz XML i nisu izričito navedene neovisne metode poput GET, PUT, POST ili DELETE.
# 2) WSDL
Ovaj SOAP zahtjev koristi Jezik opisa web usluga (WSDL) što je vrlo korisna komponenta web usluge.
Ovo definira gdje web usluga stvarno boravi, a također i vrstu web usluge koju treba preuzeti za određeni zahtjev. Ovo koristi XML datoteku koja opisuje funkcionalnost web usluge.
# 3) UDDI
Druga korisna komponenta je UDDI . Ovo je skraćenica od Universal Description Discovery and Integration. Postoji davatelj usluga koji pruža web uslugu. Stoga se za određenog davatelja usluga ovaj UDDI koristi za opisivanje, otkrivanje i objavljivanje tih web usluga.
UDDI je odgovoran za dopuštanje klijentu da sazna (UDDI nudi spremište za WSDL) gdje se nalazi XML datoteka WSDL-a. Tako se definira i opisuje web usluga.
# 4) XML-RPC
Oznaka je Proširivi označni jezik - daljinski postupak. Još jedna vrlo važna komponenta web usluge je XML - RPC koji je odgovoran za slanje poruka kroz sustave. Zahtjevi i odgovori su u obliku XML-a i šalju se / primaju putem HTTP POST-a.
Najbolja značajka XML-RPC je da klijentska aplikacija koja boravi na drugoj platformi može komunicirati s drugim poslužiteljem. Postoji nešto što se naziva JSON-RPC, a što je objašnjeno u drugom dijelu članka jer ne čini komponentu web usluge.
Arhitektura web usluge
Arhitektura web usluge može se prikazati na sljedećem dijagramu.

Kao što već znamo, tipična arhitektura web usluga sastoji se od tri cjeline, tj. Klijenta, web poslužitelja i interneta za provođenje operacije. Operacija nije ništa drugo nego zahtjev i odgovor u arhitekturi klijent-poslužitelj.
Klijent je obično skup svih aplikacija ili softverskih sustava koji zahtijeva web uslugu i time postaje potrošač usluge.
Web poslužitelj skup je svih aplikacija ili softverskih sustava koji pružaju web uslugu. Svaka web usluga zahtijeva mrežu za izvedbu, a to rezultira trećim entitetom koji se naziva Internet.
Ovo je samo pregled arhitekture web usluge.
Dijagram rada web usluge definiran je s tri dolje prikazane komponente.
- Podnositelj zahtjeva za uslugu (Pronađi ())
- Pružatelj usluga (Objavi ())
- Registar usluga ili spremište (Bind ())
To je objašnjeno (detaljno sa dijagramom) u arhitekturi SOAP usluge.
Pitanja i odgovori na poslovnom analitičaru
Vrste web usluga
U nastavku su detaljno objašnjene dvije vrste web usluga.
# 1) SOAP usluga
SOAP usluga skraćenica je od Simple Object Access Protocol. SOAP usluge su usluge s državnim statusom koje koriste XML jezik za stvaranje omotnice. SOAP omotnica može se opisati u dva dijela, tj. Jedan je a SOAP zaglavlje i tijelo , drugi je protokol koristi se za slanje SOAP poruka.
Ovo SOAP zaglavlje sastoji se od Autentifikacije i autorizacije koje daje pristup. Tijelo dolazi u odjeljak korisnog tereta zahtjeva koji koristi WSDL za opisivanje web usluge, a protokol je uglavnom HTTP (HyperText Transmission Protocol).
Sigurnost web usluga
SOAP usluge imaju SSL sloj (Secure Socket Layer) koji je odgovoran za izbjegavanje curenja podataka tijekom prijenosa, a time pruža šifriranje i dešifriranje.
U međuvremenu, SOAP usluge su sigurnije jer ima i WSS (Web Services Security) koji jamči nikakvo otkrivanje tijekom komunikacije između usluge i aplikacije.
Kao što svi znamo, svaka web usluga (za razliku od Web API-a) treba mrežu da bi izvršila svoj rad. Stoga web uslugama postaje nužno pružiti sigurnost kada su povezane s mrežom. Stoga Web usluge imaju tri važna entiteta koja pokrivaju faktor sigurnosti tijekom prijenosa poruke.
- Autentifikacija i autorizacija (Već je objašnjeno gore).
- Povjerljivost: To u potpunosti ovisi o SSL-u koji omogućuje šifriranje i dešifriranje SOAP omotnice.
- Sigurnost mreže: To znači izdvojiti sve SOAP i XML - RPC odgovore koje dobijete od poslužitelja. Na primjer, Ako uzmete bilo koji alat za web usluge poput POSTMAN-a ili PARASOFT-a, vidjet ćete da pod upraviteljem zaglavlja HTTP postoji opcija za postavljanje vrijednosti Content-Type. Vrijednost se može postaviti na Application / JSON tako da će izdvojiti sve REST (budući da SOAP usluge ne podržavaju mogućnosti upravitelja HTTP zaglavlja). Dakle, možete proslijediti tip sadržaja: Application / XML u korisni teret sama u obliku XML-a. Ovo bi također izdvojilo SOAP i XML-RPC.
Ova tri čimbenika čine sigurnost web usluga za suočavanje s vanjskim napadima.
Arhitektura SOAP usluge
Svaka SOAP usluga ovisi o tri cjeline koje u konačnici tvore arhitekturu SOAP usluge.
- Pružatelj usluge: Svi softverski sustavi ili programi koji su dio ili pružaju web uslugu.
- Podnositelj zahtjeva za uslugu: Svi softverski sustavi ili aplikacije koji su dio zahtjeva web uslugu od dobavljača usluga.
- Registar usluga: Registar ili spremište u kojem pružatelj usluga pruža sve informacije o web usluzi. (Već raspravljeno u UDDI)
Obrazloženje

Ova tri entiteta međusobno komuniciraju radi uspješne implementacije web usluga. To se radi u tri faze. Prva faza je Objaviti() faza u kojoj davatelj usluga uvodi sve detalje o web usluzi u registar usluga ili spremište.
Druga faza je Pronaći() gdje Zahtjev za uslugom uglavnom klijentska aplikacija pronalazi detalje o web usluzi iz spremišta (također ima WSDL XML datoteku). Posljednja faza je Obvezujući () gdje se klijentska aplikacija ili Podnositelj zahtjeva za uslugu sinkronizira s Pružateljem usluga za konačnu implementaciju web usluge.
# 2) RESTful usluga
REST je skraćenica od Reprezentativni državni prijenos koji je Bez državljanstva Servis.
Nazvan je bez državljanstva jer web poslužitelj ne pohranjuje nikakve podatke o sesiji klijenta (trajanje vremena dok se klijentska aplikacija ne poveže i ne izvrši), što znači da se svaka vrsta zahtjeva obrađuje i izvodi lako uz pomoć ugrađenih REST metoda poput GET, OBJAVI, PRILAGOĐI (STAVI), BRISI, GLAVA i tako dalje.
DVD ripping softver za Windows 10
Zapravo, ove metode nisu prisutne u SOAP-u.
Metoda ili Glagoli
Svaka metoda u REST-u ima svoje značenje. S obzirom na to, u nastavku slijedi brifing o svakom od njih.
- DOBITI: Ova se metoda koristi za dohvaćanje podataka koji se šalju poslužitelju pomoću bilo koje metode poput PUT ili POST. Ovo nema tijelo zahtjeva. Uspješnim izvršavanjem dobit ćete 200 objekata odgovora.
- POŠTA: Ova metoda koristi se za stvaranje dokumenta ili zapisa pomoću tijela zahtjeva, navedenog URL-a, ključa dokumenta, kontekstnog ključa itd. Isti se može dohvatiti metodom GET. Uspješno izvršenje dat će vam 201 odgovor.
- STAVITI: Ovo je pod CUSTOM opcijom koja je dostupna u POSTMAN-u ili PARASOFT-u. Ovom se metodom ažurira bilo koji dokument ili zapis koji je već prisutan. Uspješno izvršenje dat će vam odgovor 201 ili 200.
- IZBRISATI: Ova se metoda koristi za brisanje bilo kojeg zapisa. Uspješno izvršenje dat će vam odgovor 204 (bez sadržaja).
Bilješka: HTTP kodovi odgovora ovise o tome kako programeri kodiraju i mogu se njima povremeno manipulirati. Naveli smo uobičajene kodove odgovora koje dobivamo od svake vrste metode.
Arhitektura REST usluge
Arhitektura REST usluge ovisi o dva entiteta, tj. Potrošaču usluge ili naručitelju i davatelju usluga. Potrošač usluge je onaj koji koristi web uslugu, a davatelj usluga je zbirka softvera ili sustava koji pruža web uslugu.
Klijentska aplikacija koja je obično Korisnik usluge koristi ugrađene metode REST, URL ili URI, HTTP verziju i korisni teret (ako to metoda podržava).

SAPUN vs OSTALO
Iako se ove dvije vrste web usluga koriste za izvršavanje zahtjeva i odgovora, one se u načinu rada potpuno razlikuju.
Njihove su razlike navedene za vašu referencu.
- SOAP omotnica može se koristiti u ostatku, ali ne i obrnuto. Npr. Korisnički token koji je stvoren u SOAP-u može se proslijediti u REST zahtjevu pod upraviteljem HTTP zaglavlja -> Autorizacija.
- SOAP je obično sigurniji od REST usluga jer SOAP usluge pružaju WSS, osim SSL-a. Ovaj SSL prisutan je i u SOAP-u i u REST-u.
- SOAP je sporiji od REST-a jer obrada zahtjeva oduzima više vremena u SOAP-u zbog XML formata podataka. REST koristi JSON koji je vrlo lagan i time ga čini bržim.
- SOAP nema ugrađenu metodu, ali REST ima GET, PUT, POST, itd.
- SOAP je bez državljanstva, dok je REST bez državljanstva.
- Tijela zahtjeva i odgovora u SOAP-u podržavaju samo XML format podataka. U REST-u, tijela za zahtjev i odgovor podržavaju mnoge formate podataka poput JSON, XML, obični tekst itd.
Zaključak
Ovaj vodič za Web usluge objasnio je arhitekturu, komponente i vrste Web usluga.
Također smo saznali o razlikama između usluga SOAP i REST, zajedno s drugim važnim konceptima i terminologijama povezanim s web uslugama.
Nadamo se da vam je ovaj vodič pomogao da razumijete web usluge !!
Preporučena literatura
- Python DateTime Vodič s primjerima
- Java SWING Vodič: Spremnici, komponente i upravljanje događajima
- Vodič za HTML injekcije: Vrste i prevencija s primjerima
- Vodič za skripte za Unix Shell sa primjerima
- Selen Pronađi element pomoću udžbenika teksta s primjerima
- Vodič za glavne funkcije Pythona s praktičnim primjerima
- Vodič za testiranje u parovima ili za sve parove s alatima i primjerima
- Vodič za ispitivanje konfiguracije s primjerima