web services tutorial
Acest tutorial pentru servicii web explică arhitectura, tipurile și componentele unui serviciu web, împreună cu terminologii importante și diferențele dintre SOAP Vs REST:
In acest Seria tutorială completă de testare API , am explorat totul Testarea API în tutorialul nostru anterior. Parcurgeți acest tutorial pentru a vă familiariza cu WSDL și UDDI și modul în care acestea stochează și definesc un serviciu web.
Acest tutorial va explica, de asemenea, modul în care serviciile web funcționează intern atunci când o aplicație client face o cerere. WSS, care este un alt concept foarte important al serviciilor SOAP, este de asemenea explicat aici.
Ce veți învăța:
Terminologii importante în testarea serviciilor web
Înainte de a începe explorarea serviciilor web, ar trebui să fim familiarizați cu termenii importanți utilizați în testarea serviciilor web.
Să începem!!
# 1) Interoperabilitate
Serviciile Web acceptă „One Code Different Applications”. Aceasta înseamnă un cod generic pentru toate aplicațiile de pe diferite platforme.
Astfel, interoperabilitatea este procesul care facilitează mai multe aplicații să comunice cu celelalte aplicații care se află pe o altă platformă.
# 2) Autentificare și autorizare
Acestea sunt utilizate în principal în Serviciile Web SOAP. În termeni generali, autentificarea înseamnă validarea ceva, în timp ce autorizarea înseamnă acordarea / dreptul de a accesa ceva.
De exemplu - Dacă am o pagină de Facebook, atunci pot fi tratat ca un utilizator autentificat de Facebook. Întrucât, dacă aveți dreptul să vizualizați fotografiile mele pe facebook, atunci sunteți un utilizator autorizat.
Combinând aceste două putem spune că „Toți utilizatorii autentificați care au acces la resurse sunt cunoscuți ca Utilizatori autorizați pentru aceste resurse.”
Același lucru se întâmplă și în serviciile web, adică ID-ul de utilizator și parola care sunt utilizate pentru a genera simbolul acoperă porțiunea de autentificare și acest simbol care va fi utilizat la trimiterea unei cereri către serverul web acoperă porțiunea de autorizare.
# 3) Arhitectură slab cuplată
Serviciile web se bazează pe arhitectura cuplată liber. Acest lucru înseamnă că interfețele serviciilor web au o natură dinamică (modificări pe parcursul unei anumite cronologii). Dar logica clientului nu trebuie neapărat să se schimbe în timp ce interacționează cu serviciul.
Acest lucru facilitează integrarea mai multor software într-un mod mai eficient. Dacă a fost o arhitectură strâns cuplată, atunci de fiecare dată când interfața se schimbă, logica clientului trebuie schimbată pentru a o sincroniza cu serviciul.
# 4) Artefact
Este un termen care este utilizat în Serviciile Web pentru a indica informații sau date. Acestea nu sunt datele întregi, ci o informație care poate include o adresă URL sau un URI, cheie de context, cheie de document, o sarcină utilă sau imagini de susținere.
# 5) Punct final
Acesta este un termen foarte comun care este utilizat în fiecare solicitare a serviciului web. Aceasta este adresa URL completă care atinge instanța serviciului web.
De exemplu - https://www.facebook.com/imsaket -> aceasta este adresa URL completă sau punctul final care are facebook.com ca adresă URL și „imsaket” este transmis ca cheie de context pentru a identifica în mod unic o anumită adresă.
cum să rulați fișiere .torrent
# 6) Idempotent
Acest lucru este în interacțiunea client-server în care nu contează de câte ori ați lovit instanța serviciului, iar serverul va returna întotdeauna același răspuns clientului.
# 7) Marshalling și Demarshalling
După cum știm, încapsularea este un principiu OOPS care este definit ca înfășurarea codului și a datelor într-unul singur. Același lucru se întâmplă în SOAP Web Services. Când înfășurăm sau încapsulăm date în sarcină utilă (XML) pentru a forma un mesaj SOAP și îl trimitem la server, atunci acest proces de încapsulare se numește Marshalling.
Demarshalling-ul este doar reciprocul Marshalling-ului. Metoda de decapsulare sau desfacere a datelor și codului (XML) din mesajul SOAP se numește „Demarshalling”.
Ce este un serviciu web?
După cum sa discutat mai devreme, Serviciile Web sunt serviciile care servesc de la o mașină la alta printr-o rețea.
Exemplu de servicii web: AWS (Amazon Web Services) care permite utilizatorilor online să vizualizeze prețurile diferitelor articole vândute pe Amazon.com și Amazon.in
Componentele serviciilor web
Mai jos sunt enumerate diferitele componente ale serviciilor web.
# 1) SAPUN
Serviciile Web utilizează Protocolul de acces la obiecte simple (SOAP) care utilizează XML ca sarcină utilă sau corp de cerere. Acesta este un protocol de stare deoarece nu există o metodă independentă pentru tipul specific de operație.
Toate cererile și răspunsurile sunt efectuate simultan prin XML și nu sunt furnizate în mod explicit metode independente precum GET, PUT, POST sau DELETE.
# 2) WSDL
Această solicitare SOAP folosește Limbajul de descriere a serviciilor web (WSDL) care este o componentă foarte utilă a serviciului web.
Aceasta definește locul de reședință al Serviciului Web și, de asemenea, tipul de Serviciu Web care trebuie preluat pentru o cerere specifică. Aceasta folosește un fișier XML care descrie funcționalitatea serviciului web.
# 3) UDDI
O altă componentă utilă este UDDI . Aceasta înseamnă Universal Discovery Discovery and Integration. Există un furnizor de servicii care furnizează serviciul web. Prin urmare, pentru un anumit furnizor de servicii, acest UDDI este utilizat pentru descrierea, descoperirea și publicarea acelor Servicii Web.
UDDI este responsabil pentru a permite unui client să afle (UDDI oferă un depozit pentru WSDL) unde se află fișierul XML al WSDL. Acesta este modul în care este definit și descris un serviciu web.
# 4) XML-RPC
Reprezintă Extensible Markup Language - Remote Procedure. O altă componentă foarte importantă a serviciului web este XML - RPC, care este responsabil pentru trimiterea mesajelor pe sisteme. Cererile și răspunsurile sunt sub formă de XML și sunt trimise / primite prin HTTP POST.
Cea mai bună caracteristică a XML-RPC este că o aplicație client care se află pe o altă platformă poate comunica cu un alt server. Există ceva numit JSON-RPC care a fost explicat în ultima parte a articolului, deoarece nu formează o componentă a unui serviciu web.
Arhitectura unui serviciu web
Arhitectura unui serviciu web poate fi descrisă în următoarea diagramă.
După cum știm deja, o arhitectură tipică de servicii web cuprinde trei entități, adică un client, un server web și un internet pentru a efectua operațiunea. Operațiunea nu este altceva decât cererea și răspunsul într-o arhitectură client-server.
Un Client este de obicei un set de toate aplicațiile sau sistemele software care solicită un serviciu Web, făcându-l astfel un consumator de servicii.
Un server web este un set de toate aplicațiile sau sistemele software care furnizează servicii web. Fiecare serviciu web necesită o rețea pentru a efectua și acest lucru duce la a treia entitate numită Internet.
Aceasta este doar o prezentare generală a arhitecturii unui serviciu web.
Diagrama de lucru a unui serviciu web este definită de cele trei componente prezentate mai jos.
- Solicitant de service (Găsiți ())
- Furnizor de servicii (Publish ())
- Registrul de servicii sau depozitul (Bind ())
Acest lucru este explicat (în detaliu cu diagrama) în arhitectura serviciului SOAP.
site-uri anime gratuite pentru vizionare online
Tipuri de servicii web
Două tipuri de servicii Web sunt explicate mai jos în detaliu.
# 1) Serviciu SOAP
Serviciul SOAP reprezintă Protocolul de acces la obiecte simple. Serviciile SOAP sunt servicii de stare care utilizează limbajul XML pentru a forma un plic. Un plic SOAP poate fi descris în două porțiuni, adică una este a Antet și corp SOAP , cealaltă este protocol folosit pentru a trimite mesaje SOAP.
Acest antet SOAP constă din autentificare și autorizare care acordă acces. Corpul face parte din secțiunea privind sarcina utilă a cererii care folosește WSDL pentru a descrie serviciul web, iar protocolul este în principal HTTP (HyperText Transmission Protocol).
Securitatea serviciilor web
Serviciile SOAP au un strat SSL (Secure Socket Layer) care este responsabil pentru evitarea oricărei scurgeri de date în timpul transmiterii și, astfel, asigură criptarea și decriptarea.
Între timp, serviciile SOAP sunt mai sigure, având și WSS (Web Services Security) care garantează nicio divulgare în timpul comunicării dintre serviciu și aplicație.
După cum știm cu toții, fiecare serviciu web (spre deosebire de API-ul Web) are nevoie de o rețea pentru a-și desfășura operațiunile. Astfel, devine necesar ca Serviciile Web să ofere securitate atunci când sunt conectați la o rețea. Prin urmare, Serviciile Web are trei entități importante pentru a acoperi factorul de securitate în timpul transferului de mesaje.
- Autentificare și autorizare (Deja explicat mai sus).
- Confidențialitate: Acest lucru depinde în totalitate de SSL, care asigură criptarea și decriptarea plicului SOAP.
- Securitatea retelei: Aceasta înseamnă să extrageți toate răspunsurile SOAP și XML - RPC pe care le primiți de pe server. De exemplu, Dacă luați orice instrument de serviciu web, cum ar fi POSTMAN sau PARASOFT, veți găsi că, în managerul de antet HTTP, există o opțiune pentru a seta valoarea tipului de conținut. Valoarea poate fi setată la Aplicație / JSON, astfel încât să extragă toate REST (Deoarece serviciile SOAP nu acceptă opțiunile de gestionare a antetului HTTP). Astfel, puteți trece tipul de conținut: Application / XML într-un încărcătură utilă în sine sub forma XML. Acest lucru ar extrage, de asemenea, SOAP și XML-RPC.
Acești trei factori constituie securitatea serviciilor web pentru a face față atacurilor externe.
Arhitectura serviciului SOAP
Fiecare serviciu SOAP depinde de trei entități care formează în cele din urmă arhitectura serviciului SOAP.
- Furnizor de servicii: Toate sistemele sau aplicațiile software care fac parte sau furnizează servicii Web.
- Solicitant de service: Toate sistemele sau aplicațiile software care fac parte din solicitările de servicii web de la furnizorul de servicii.
- Registrul de servicii: Un registru sau un depozit unde toate informațiile despre serviciul web sunt furnizate de către furnizorul de servicii. (Discutat deja în UDDI)
Explicaţie
Aceste trei entități interacționează între ele pentru a realiza o implementare cu succes a serviciului web. Acest lucru se face în trei faze. Prima fază este Publica() fază în care un furnizor de servicii furnizează toate detaliile despre un serviciu web într-un registru de servicii sau într-un depozit.
A doua fază este Găsi() în cazul în care o cerere de serviciu în principal aplicația client găsește detaliile despre serviciul web dintr-un depozit (are și fișier XML WSDL). Ultima fază este Legare() în cazul în care aplicația client sau solicitantul de servicii se sincronizează cu furnizorul de servicii pentru implementarea finală a serviciului web.
# 2) Serviciu RESTful
REST înseamnă Transfer de stat reprezentativ, care este un Fara stare Serviciu.
Se numește apatrid, deoarece serverul web nu stochează nicio informație despre sesiunea clientului (durata de timp până când aplicația client este conectată și în execuție) ceea ce înseamnă că fiecare tip de cerere este tratat și efectuat cu ușurință cu ajutorul metodelor încorporate REST precum GET, POST, CUSTOM (PUT), DELETE, HEAD și așa mai departe.
Într-adevăr, aceste metode nu sunt prezente în SOAP.
Metodă sau Verbe
Fiecare metodă din REST are semnificația sa. Dat mai jos este un briefing despre fiecare dintre ele.
- OBȚINE: Această metodă este utilizată pentru a prelua informațiile trimise către server folosind oricare dintre metodele precum PUT sau POST. Aceasta nu are un corp de solicitare. Executarea cu succes vă va oferi 200 de obiecte de răspuns.
- POST: Această metodă este utilizată pentru a crea un document sau o înregistrare folosind un corp de solicitare, un URL specificat, o cheie de document, o cheie de context etc. Același lucru poate fi recuperat folosind metoda GET. Executarea cu succes vă va oferi un răspuns 201.
- A PUNE: Aceasta se află sub opțiunea CUSTOM care este disponibilă în POSTMAN sau PARASOFT. Această metodă este utilizată pentru a actualiza orice document sau înregistrare care este deja prezent. Executarea cu succes vă va oferi un răspuns de 201 sau 200.
- ȘTERGE: Această metodă este utilizată pentru a șterge orice înregistrare. Executarea cu succes vă va oferi un răspuns 204 (fără conținut).
Notă: Codurile de răspuns HTTP depind de modul în care dezvoltatorii codifică și pot fi manipulate uneori. Am enumerat codurile de răspuns comune pe care le obținem de la fiecare tip de metodă.
Arhitectura serviciului REST
Arhitectura serviciului REST depinde de două entități, adică consumator de servicii sau solicitant și furnizor de servicii. Consumatorul de servicii este cel care folosește serviciul web și furnizorul de servicii este colecția de software sau sistem care furnizează serviciul web.
Aplicația client care este de obicei un consumator de servicii folosește metode încorporate de REST, o adresă URL sau URI, o versiune HTTP și o sarcină utilă (dacă este acceptată de metodă).
SAPUN vs REST
Deși aceste două tipuri de servicii web sunt utilizate pentru a efectua cererea și răspunsul, acestea sunt complet diferite în modul în care funcționează.
cel mai bun software gratuit pentru a accelera calculatorul
Diferențele lor sunt enumerate pentru referință.
- Plicul SOAP poate fi utilizat în REST, dar nu și invers. De exemplu. Un jeton de utilizator care este creat în SOAP poate fi transmis în cererea REST în managerul de antet HTTP -> Autorizare.
- SOAP este de obicei mai sigur decât serviciile REST deoarece serviciile SOAP oferă WSS în afară de SSL. Acest SSL este prezent atât în SOAP, cât și în REST.
- SOAP este mai lent decât REST, deoarece procesarea solicitării necesită mai mult timp în SOAP datorită formatului de date XML. REST folosește JSON, care este foarte ușor și astfel îl face mai rapid.
- SOAP nu are nicio metodă încorporată, dar REST are GET, PUT, POST etc.
- SAPUNUL este statal, în timp ce REST este apatrid.
- Corpurile de solicitare și răspuns din SOAP acceptă doar formatul de date XML. În REST, organismele de solicitare și răspuns acceptă multe formate de date, cum ar fi JSON, XML, text simplu etc.
Concluzie
Acest tutorial Servicii Web a explicat arhitectura, componentele și tipurile de Servicii Web.
De asemenea, am aflat despre diferențele dintre serviciile SOAP și REST, împreună cu alte concepte și terminologii importante legate de serviciile web.
Sperăm că acest tutorial v-a ajutat să înțelegeți serviciile web !!
Lectură recomandată
- Tutorial Python DateTime cu exemple
- Tutorial Java SWING: Container, componente și gestionarea evenimentelor
- Tutorial de injecție HTML: tipuri și prevenire cu exemple
- Tutorial Unix Shell Scripting cu exemple
- Tutorial Selenium Find Element By Text cu exemple
- Tutorial de funcții principale Python cu exemple practice
- Testare pereche sau Tutorial de testare completă cu instrumente și exemple
- Tutorial de testare a configurației cu exemple