serviciu web

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În calculul unui serviciu Web ( serviciu web), așa cum este definit de World Wide Web Consortium (W3C), este un software de sistem conceput pentru a sprijini interoperabilitatea între diferite computere din aceeași rețea sau într-un context distribuit .

Istorie

Consorțiul OASIS ( Organizația pentru avansarea standardelor de informații structurate ) și W3C sunt în principal responsabili de arhitectura și standardizarea serviciilor web; pentru a îmbunătăți interoperabilitatea între diferitele implementări ale serviciilor web, organizația WS-I dezvoltă, de asemenea, o serie de „profiluri” pentru a defini mai bine standardele implicate.

Descriere

Această caracteristică este obținută prin asocierea aplicației cu o interfață software (descrisă într-un format elaborabil automat, cum ar fi, de exemplu, Limbajul de descriere a serviciilor web ), care expune serviciul (serviciile) asociat (ă) și folosind care alte sisteme pot interacționa cu aplicația. prin activarea operațiunilor descrise în interfață ( servicii sau solicitări de proceduri la distanță ) prin „mesaje” speciale de solicitare: aceste mesaje de solicitare sunt incluse într-un „plic” (cel mai faimos este SOAP ), formatate conform standardelor XML , încapsulate și transportat prin protocoalele web (de obicei HTTP ), de unde și denumirea de serviciu web . De fapt, prin urmare, serviciul web constă dintr-un apel către un serviciu foarte asemănător cu o funcție , subrutină sau metodă scrisă într-un mod neobișnuit în raport cu standardul și cu metodele de apelare menționate anterior, utile în termeni de interoperabilitate într-un complex tipic arhitectura de tip modular .

Datorită utilizării standardelor bazate pe XML, printr-o arhitectură bazată pe servicii web (denumită, în terminologie engleză , Service oriented Architecture - SOA ), aplicațiile software scrise în diferite limbaje de programare și implementate pe diferite platforme hardware pot fi, prin urmare, utilizate, prin intermediul interfețele pe care acestea le „expun” public și prin utilizarea funcțiilor pe care sunt capabile să le îndeplinească („serviciile” pe care le pun la dispoziție) pentru schimbul de informații și efectuarea de operațiuni complexe (cum ar fi, de exemplu, realizarea proceselor de afaceri care implică mai multe zone ale aceleiași companii) atât pe rețele corporative, cât și pe internet : posibilitatea interoperabilității între diferite limbaje de programare (de exemplu, între Java și Python ) și sisteme de operare diferite (cum ar fi Windows și Linux ) este făcut posibil prin utilizarea standardelor „deschise” .

Caracteristici

Unele dintre avantajele care pot fi obținute prin utilizarea serviciilor web sunt următoarele:

  • permite interoperabilitatea între diferite aplicații software pe diferite platforme hardware;
  • utilizează standarde și protocoale „deschise”; protocoalele și formatul de date sunt, acolo unde este posibil, în format text, ceea ce le face mai ușor de înțeles și de utilizat de către dezvoltatori;
  • prin utilizarea HTTP pentru transportul mesajelor, serviciile Web nu necesită în mod normal modificări ale regulilor de securitate utilizate ca filtru pe firewall-uri ;
  • pot fi ușor utilizate, în combinație între ele (indiferent de cine le oferă și unde sunt puse la dispoziție) pentru a forma servicii „integrate” și complexe;
  • permit reutilizarea infrastructurilor și aplicațiilor deja dezvoltate și sunt (relativ) independenți de orice modificare a acestora;
  • ascund complexitatea arhitecturală a cadrului de utilizator, oferind rezultatul execuției serviciului într-o posibilă interfață (front end) (de exemplu, valorile anumitor câmpuri ale unui tabel într-o aplicație).

În schimb, există următoarele aspecte de luat în considerare:

  • în prezent nu există standarde consolidate pentru aplicații critice, cum ar fi tranzacțiile distribuite ;
  • performanțele legate de utilizarea serviciilor web pot fi mai mici decât cele găsite folosind abordări alternative de calcul distribuit, cum ar fi Java RMI , CORBA sau DCOM :
  • Utilizarea HTTP permite serviciilor Web să evite măsurile de securitate ale firewall-urilor (ale căror reguli sunt adesea stabilite tocmai pentru a evita comunicațiile între programele „externe” și „interne” către firewall).

Motive pentru utilizare

Principalul motiv pentru crearea și utilizarea serviciilor web este „decuplarea” pe care interfața standard expusă de serviciul web o face posibilă între sistemul utilizatorului și serviciul web în sine: modificările la una sau alta dintre aplicații pot fi implementate în un mod "transparent" la interfața dintre cele două sisteme; această flexibilitate permite crearea de sisteme software complexe formate din componente care sunt independente una de cealaltă și permite o reutilizare puternică a codului și a aplicațiilor deja dezvoltate.

Serviciile web au câștigat, de asemenea, suport, deoarece, ca protocol de transport, pot utiliza HTTP "peste" TCP pe portul 80; acest port este în mod normal unul dintre puținele (dacă nu singurul) lăsat „deschis” de sistemele firewall către traficul de intrare și ieșire din exterior către sistemele companiei și acest lucru se datorează faptului că traficul HTTP al browserelor web tranzitează pe acest port : aceasta permite utilizarea serviciilor web fără modificări ale configurațiilor de securitate ale companiei (aspect care, deși este pozitiv, ridică probleme de securitate).

Un motiv final care a favorizat adoptarea și proliferarea serviciilor web este lipsa, înainte de dezvoltarea SOAP, a interfețelor cu adevărat funcționale pentru utilizarea funcțiilor distribuite în rețea: EDI , RPC și alte tipuri de API ( Interfață de programare a aplicațiilor) ) au fost și rămân mai puțin cunoscute și ușor de utilizat decât arhitectura serviciilor web.

Morman de protocol

Exemplu de utilizare a protocoalelor pentru serviciile Web

Stiva de protocoale a serviciilor web este setul de protocoale de rețea utilizate pentru a defini, localiza, crea și face serviciile web să interacționeze între ele; este compus în principal din patru zone:

  • Serviciul de transport : responsabil pentru transportul mesajelor între aplicațiile din rețea, include protocoale precum HTTP , SMTP , FTP , XMPP și recentul protocol de schimb extensibil Blocks ( BEEP ).
  • Mesagerie XML : toate datele schimbate sunt formatate folosind „etichete” XML astfel încât să poată fi utilizate la ambele capete ale conexiunilor; mesajul poate fi codat conform standardului SOAP , precum și folosind JAX-RPC , XML-RPC sau REST .
  • Descrierea serviciului : interfața publică a unui serviciu Web este descrisă prin WSDL ( Web Services Description Language ), un limbaj bazat pe XML utilizat pentru crearea „documentelor” care descriu modalitățile de interfață și de utilizare a serviciului Web.
  • Lista serviciilor : centralizarea descrierii și localizării serviciilor web într-un „ registru ” comun permite căutarea rapidă și recuperarea serviciilor web disponibile în rețea; în acest scop este utilizat în prezent protocolul UDDI .

Protocoalele standard suplimentare utilizate sunt:

  • WS-Security : protocolul de securitate a serviciilor web a fost adoptat ca standard OASIS; acest standard permite autentificarea utilizatorului și confidențialitatea mesajelor schimbate cu interfața serviciului web
  • WS-Fiabilitate : Acestea sunt specificații bazate pe SOAP și acceptate ca standard OASIS care satisfac cererea de mesaje „fiabile” (fiabile), cerere critică pentru unele dintre aplicațiile care utilizează servicii Web (cum ar fi, de exemplu, tranzacții monetare sau aplicații ale comerțului electronic ).

Elemente conexe

linkuri externe

Controlul autorității LCCN ( EN ) sh2003001435