web services tutorial
Ta vadnica spletnih storitev pojasnjuje arhitekturo, vrste in komponente spletne storitve, skupaj s pomembnimi izrazi in razlikami med SOAP VS REST:
V tem Popolna serija vadnic za testiranje API , smo raziskovali vse okoli Testiranje API v naši prejšnji vadnici. V tej vadnici se seznanite z WSDL in UDDI ter kako shranjujejo in definirajo spletno storitev.
Ta vadnica bo tudi pojasnila, kako spletne storitve delujejo interno, ko odjemalska aplikacija poda zahtevo. Tu je razložen tudi WSS, ki je še en zelo pomemben koncept storitev SOAP.
Kaj se boste naučili:
Pomembne terminologije pri testiranju spletnih storitev
Preden začnemo raziskovati spletne storitve, se moramo seznaniti s pomembnimi izrazi, ki se uporabljajo pri testiranju spletnih storitev.
Začnimo!!
# 1) Interoperabilnost
Podpora spletnih storitev »One Code Different Applications«. To pomeni eno generično kodo za vse aplikacije na različnih platformah.
Tako je interoperabilnost postopek, ki omogoča več aplikacijam komunikacijo z drugimi aplikacijami, ki prebivajo na drugi platformi.
# 2) Preverjanje pristnosti in avtorizacija
Te se v glavnem uporabljajo v spletnih storitvah SOAP. Na splošno Authentication pomeni potrditev nečesa, Authorization pa daje / ima pravico do dostopa do nečesa.
Na primer - Če imam Facebook stran, me lahko obravnavajo kot overjenega uporabnika Facebooka. Če imate pravico do ogleda mojih fotografij na facebooku, ste pooblaščeni uporabnik.
Če združimo to dvoje, lahko rečemo, da 'so vsi overjeni uporabniki, ki imajo dostop do virov, imenovani pooblaščeni uporabniki za te vire.'
Enako se zgodi pri spletnih storitvah, tj. Uporabniški ID in geslo, ki se uporabljata za generiranje žetona, zajemata del preverjanja pristnosti, ta žeton, ki bo uporabljen pri pošiljanju zahteve spletnemu strežniku, pa del pooblastila.
# 3) Ohlapno sklopljena arhitektura
Spletne storitve temeljijo na ohlapno povezani arhitekturi. To pomeni, da so vmesniki spletnih storitev po naravi dinamični (spremembe v določeni časovni premici). Toda med interakcijo s storitvijo ni nujno, da se odjemalska logika spreminja.
To olajša integracijo več programske opreme na učinkovitejši način. Če je šlo za tesno sklopljeno arhitekturo, je treba vsakič, ko se vmesnik spremeni, spremeniti odjemalsko logiko, da se sinhronizira s storitvijo.
# 4) Artefakt
To je izraz, ki se v spletnih storitvah uporablja za označevanje informacij ali podatkov. To niso celotni podatki, ampak del informacij, ki lahko vključuje URL ali URI, kontekstni ključ, ključ dokumenta, koristni tovor ali podporne slike.
# 5) Končna točka
To je zelo pogost izraz, ki se uporablja pri vsaki zahtevi spletne storitve. To je celoten URL, ki zadene primerek spletne storitve.
Na primer - https://www.facebook.com/imsaket -> to je celotni URL ali končna točka, ki ima kot URL naslov facebook.com, »imsaket« pa je poslan kot kontekstni ključ za enolično identifikacijo določenega naslova.
prenesite vse pesmi s seznama predvajanja YouTube
# 6) Idempotentno
To je pri interakciji odjemalec-strežnik, pri kateri ni pomembno, kolikokrat ste zadeli primerek storitve, strežnik pa bo odjemalcu vedno vrnil enak odziv.
# 7) Marshalling In Demarshalling
Kot vemo, je inkapsulacija načelo OOPS, ki je opredeljeno kot zavijanje kode in podatkov v eno. Enako se zgodi pri spletnih storitvah SOAP. Ko podatke zavijemo ali kapsuliramo v koristni tovor (XML), da oblikujemo sporočilo SOAP in ga pošljemo strežniku, potem se ta postopek inkapsulacije imenuje maršaliziranje.
Demarshalling je le vzajemnost Marshallinga. Metoda dekapsulacije ali razpakiranja podatkov in kode (XML) iz sporočila SOAP se imenuje »Demarshalling«.
Kaj je spletna storitev?
Kot smo že omenili, so spletne storitve storitve, ki služijo od enega računalnika do drugega prek omrežja.
Primer spletnih storitev: AWS (Amazon Web Services), ki spletnim uporabnikom omogoča ogled cen različnih izdelkov, prodanih na Amazon.com in Amazon.in
Komponente spletnih storitev
Spodaj so navedeni različni sestavni deli spletnih storitev.
# 1) MILO
Spletne storitve uporabljajo protokol SOAP (Simple Object Access Protocol), ki uporablja XML kot koristni tovor ali telo zahteve. To je protokol s stanjem saj za določeno vrsto operacije ni neodvisne metode.
Vse zahteve in odgovori se prenašajo naenkrat prek XML in nobena neodvisna metoda, kot je GET, PUT, POST ali DELETE, ni izrecno navedena.
# 2) WSDL
Ta zahteva za SOAP uporablja Jezik za opis spletnih storitev (WSDL) ki je zelo uporaben sestavni del spletne storitve.
To določa, kje spletna storitev dejansko prebiva, in tudi vrsto spletne storitve, ki jo je treba izbrati za določeno zahtevo. To uporablja datoteko XML, ki opisuje funkcionalnost spletne storitve.
# 3) UDDI
Druga uporabna komponenta je UDDI . To pomeni Universal Description Discovery and Integration. Ponudnik storitev ponuja spletno storitev. Zato se za določenega ponudnika storitev ta UDDI uporablja za opis, odkrivanje in objavo teh spletnih storitev.
UDDI je odgovoren za to, da odjemalec izve (UDDI ponuja repozitorij za WSDL), kje je datoteka XML WSDL. Tako je definirana in opisana spletna storitev.
# 4) XML-RPC
Okrajšava je razširljiv označevalni jezik - oddaljeni postopek. Druga zelo pomembna komponenta spletne storitve je XML - RPC, ki je odgovoren za pošiljanje sporočil med sistemi. Zahteve in odgovori so v obliki XML in se pošiljajo / prejemajo prek HTTP POST.
Najboljša lastnost XML-RPC je, da lahko odjemalska aplikacija, ki prebiva na drugi platformi, komunicira z drugim strežnikom. Obstaja nekaj, kar se imenuje JSON-RPC, kar je bilo pojasnjeno v zadnjem delu članka, ker ni sestavni del spletne storitve.
Arhitektura spletne storitve
Arhitektura spletne storitve je lahko prikazana na naslednjem diagramu.

Kot že vemo, tipična arhitektura spletnih storitev vključuje tri entitete, tj. Odjemalca, spletni strežnik in internet za izvedbo operacije. Operacija ni nič drugega kot zahteva in odziv v arhitekturi odjemalec-strežnik.
Naročnik je običajno skupek vseh aplikacij ali sistemov programske opreme, ki zahteva spletno storitev, s čimer postane uporabnik storitve.
Spletni strežnik je skupek vseh aplikacij ali sistemov programske opreme, ki ponujajo spletne storitve. Vsaka spletna storitev zahteva delovanje omrežja, kar povzroči tretjo entiteto, imenovano internet.
To je le pregled arhitekture spletne storitve.
Delovni diagram spletne storitve je opredeljen s tremi komponentami, prikazanimi spodaj.
- Zahtevalec storitve (Najdi ())
- Ponudnik storitev (Objavi ())
- Register storitev ali repozitorij (Bind ())
To je razloženo (podrobno z diagramom) v arhitekturi storitve SOAP.
najboljši youtube downloader za Windows 10
Vrste spletnih storitev
Spodaj sta podrobno razloženi dve vrsti spletnih storitev.
# 1) Storitev SOAP
Storitev SOAP pomeni Simple Object Access Protocol. Storitve SOAP so storitve s stanjem, ki uporabljajo jezik XML za oblikovanje ovojnice. Ovojnico SOAP lahko opišemo v dveh delih, tj. Eden je a Glava in telo SOAP , drugi je protokol za pošiljanje sporočil SOAP.
Ta glava SOAP je sestavljena iz preverjanja pristnosti in avtorizacije, ki omogoča dostop. Telo je pod odsekom koristnega tovora zahteve, ki za opis spletne storitve uporablja WSDL, protokol pa je večinoma HTTP (HyperText Transmission Protocol).
Varnost spletnih storitev
Storitve SOAP imajo plast SSL (Secure Socket Layer), ki je odgovorna za preprečevanje uhajanja podatkov med prenosom in tako zagotavlja šifriranje in dešifriranje.
odpiranje datotek .jar v operacijskem sistemu Windows 10
Medtem so storitve SOAP bolj varne, saj ima tudi WSS (Web Services Security), ki zagotavlja, da med komunikacijo med storitvijo in aplikacijo ni razkritja.
Kot vsi vemo, vsaka spletna storitev (za razliko od spletnega API-ja) potrebuje omrežje za izvajanje svojega delovanja. Tako morajo spletne storitve zagotoviti varnost, ko so povezane v omrežje. Spletne storitve imajo zato tri pomembne entitete, ki pokrivajo dejavnik varnosti med prenosom sporočil.
- Preverjanje pristnosti in avtorizacija (Že razloženo zgoraj).
- Zaupnost: To je v celoti odvisno od SSL, ki zagotavlja šifriranje in dešifriranje ovojnice SOAP.
- Varnost omrežja: To pomeni, da izvlečemo vse odgovore SOAP in XML - RPC, ki jih dobimo s strežnika. Na primer, Če vzamete katero koli orodje za spletne storitve, na primer POSTMAN ali PARASOFT, boste ugotovili, da pod upraviteljem glave HTTP obstaja možnost nastavitve vrednosti Content-Type. Vrednost lahko nastavite na Application / JSON, tako da bo izvlekel vse REST (ker storitve SOAP ne podpirajo možnosti upravitelja glave HTTP). Tako lahko vsebino tipa: Application / XML prenesete v datoteko tovor v obliki XML. To bi tudi izvleklo SOAP in XML-RPC.
Ti trije dejavniki predstavljajo varnost spletnih storitev za spopadanje z zunanjimi napadi.
Arhitektura storitve SOAP
Vsaka storitev SOAP je odvisna od treh entitet, ki na koncu tvorijo arhitekturo storitve SOAP.
- Ponudnik storitev: Vsi programski sistemi ali aplikacije, ki so del ali zagotavljajo spletno storitev.
- Zahtevalec storitve: Vsi programski sistemi ali aplikacije, ki so del zahteve, od ponudnika storitev zahtevajo spletno storitev.
- Register storitev: Register ali repozitorij, kjer vse informacije o spletnih storitvah zagotavlja ponudnik storitev. (Že razpravljano v UDDI)
Pojasnilo

Te tri enote med seboj sodelujejo za izvedbo uspešne implementacije spletnih storitev. To poteka v treh fazah. Prva faza je Objavi () faza, v kateri ponudnik storitev vnese vse podrobnosti o spletni storitvi v register storitev ali skladišče.
Druga faza je Najti() kjer storitev Request v glavnem odjemalska aplikacija najde podrobnosti o spletni storitvi iz repozitorija (ima tudi datoteko WSDL XML). Zadnja faza je Vezava () kjer se odjemalska aplikacija ali prosilec za storitve sinhronizira s ponudnikom storitev za končno izvedbo spletne storitve.
# 2) RESTful storitev
REST pomeni Reprezentativni državni prenos, ki je Brez državljanstva Storitev.
Imenuje se brez državljanstva, ker spletni strežnik ne shrani nobenih informacij o odjemalski seji (trajanje časa, dokler se odjemalska aplikacija ne poveže in ne izvaja), kar pomeni, da je vsako vrsto zahteve obdelano in enostavno izvedeno s pomočjo vgrajenih metod REST, kot je GET, POST, CUSTOM (PUT), DELETE, HEAD in tako naprej.
Teh metod v SOAP dejansko ni.
Metoda ali Glagoli
Vsaka metoda v REST ima svoj pomen. Spodaj je navodilo o vsakem od njih.
- GET: Ta metoda se uporablja za pridobivanje informacij, ki se pošljejo strežniku s katero koli metodo, kot sta PUT ali POST. Ta nima telesa zahteve. Uspešna izvedba vam bo dala 200 odzivnih predmetov.
- POST: Ta metoda se uporablja za ustvarjanje dokumenta ali zapisa z uporabo telesa zahteve, določenega URL-ja, ključa dokumenta, kontekstnega ključa itd. Istega je mogoče pridobiti z metodo GET. Uspešna izvedba vam bo dala 201 odgovor.
- PUT: To je pod možnostjo CUSTOM, ki je na voljo v programu POSTMAN ali PARASOFT. Ta metoda se uporablja za posodobitev katerega koli že obstoječega dokumenta ali zapisa. Uspešna izvedba vam bo dala 201 ali 200 odgovorov.
- IZBRIŠI: Ta metoda se uporablja za brisanje katerega koli zapisa. Uspešna izvedba vam bo dala 204 odgovor (brez vsebine).
Opomba: Kode odziva HTTP so odvisne od tega, kako kodirajo razvijalci, in jih je mogoče včasih manipulirati. Našteli smo splošne odzivne kode, ki jih dobimo za posamezno vrsto metode.
Arhitektura REST storitve
Arhitektura storitve REST je odvisna od dveh entitet, tj.potrošnika storitve ali naročnika in ponudnika storitev. Potrošnik storitev je tisti, ki uporablja spletne storitve, ponudnik storitev pa je zbirka programske opreme ali sistema, ki zagotavlja spletno storitev.
Odjemalska aplikacija, ki je običajno uporabnik storitve, uporablja vgrajene metode REST, URL ali URI, različico HTTP in koristni tovor (če to metoda podpira).

MILO vs POČITEK
Čeprav se ti dve vrsti spletnih storitev uporabljata za izvajanje zahteve in odgovora, se v svojem načinu delovanja popolnoma razlikujeta.
Njihove razlike so navedene za vašo referenco.
- Ovojnico SOAP lahko uporabite v REST, ostalo pa ne obratno. Npr. Uporabniški žeton, ki je ustvarjen v SOAP-u, se lahko pošlje v zahtevi REST pod upraviteljem glave HTTP -> Pooblastilo.
- SOAP je običajno varnejši od storitev REST, saj storitve SOAP poleg SSL nudijo tudi WSS. Ta SSL je prisoten tako v SOAP kot v REST.
- SOAP je počasnejši od REST, saj obdelava zahtev traja več časa v SOAP zaradi podatkovne oblike XML. REST uporablja JSON, ki je zelo lahek in s tem hitrejši.
- SOAP nima vgrajene metode, REST pa ima GET, PUT, POST itd.
- SOAP je brez države, REST pa brez državljanstva.
- Tela zahtev in odzivov v SOAP podpirajo samo format podatkov XML. V REST-u organi za zahteve in odzive podpirajo številne oblike zapisa podatkov, kot so JSON, XML, navadno besedilo itd.
Zaključek
Ta vadnica spletnih storitev je razložila arhitekturo, komponente in vrste spletnih storitev.
Spoznali smo tudi razlike med storitvami SOAP in REST ter druge pomembne koncepte in terminologije, povezane s spletnimi storitvami.
Upamo, da vam je ta vadnica pomagala razumeti spletne storitve !!
PREV Vadnica | NASLEDNJA Vadnica
Priporočeno branje
- Vadnica Python DateTime s primeri
- Java SWING Vadnica: Vsebnik, komponente in obdelava dogodkov
- Vadnica za vbrizgavanje HTML: Vrste in preprečevanje s primeri
- Vadnica za skriptiranje lupine Unix s primeri
- Vadnica za iskanje selena z besedilom z primeri
- Vadnica za glavne funkcije Pythona s praktičnimi primeri
- Vadnica za testiranje v parih ali za vse pare z orodji in primeri
- Vadnica za preizkušanje konfiguracije s primeri