Înțelegerea serviciilor web

 

Înțelegerea serviciilor web

După citirea acestui articol, vei obține o înțelegere completă a serviciilor web, inclusiv scopul lor, aplicațiile, beneficiile și tehnologiile de bază, cum ar fi arhitectura REST și protocolul de mesaje SOAP. Indiferent dacă ești nou în domeniul serviciilor web sau vrei să-ți extinzi cunoștințele, acest ghid te va echipa cu informațiile necesare pentru a începe.

Să începem cu începutul.

Ce sunt serviciile web?

Odată cu evoluția internetului, a apărut și conceptul de serviciu web.

Un serviciu web constă într-o colecție de operațiuni accesibile prin rețea și protocolul HTTP. Odată ce devin disponibile public sau printr-o listă de acces, beneficiile sunt accesibile de către una sau mai multe aplicații. Acesta asigură comunicarea între diferite aplicații software care pot rula pe platforme diferite. În cazurile generale, reprezintă interfața web către o bază de date.

Serviciile web moderne suportă atât funcționalități sincrone, cât și asincrone.

Conceptul REST

Este un stil arhitectural simplu, bazat pe standardele Web și HTTP, care a devenit chiar mai utilizat decât modelul SOAP.

Există cinci metode principale HTTP utilizate pentru definirea operațiunilor unui serviciu web RESTful:

  • POST – crearea unui resurs;
  • PUT – actualizarea stării unei resurse;
  • PATCH – actualizare parțială a resursei;
  • GET – citirea / returnarea unei resurse fără a o modifica;
  • DELETE – ștergerea unei resurse.

Resursele pot fi reprezentate în mai multe formate: JSON sau XML.

Serviciile Web sunt o arhitectură scalabilă deoarece separă responsabilitățile aplicației client de cele ale serverului. Este un model fără stare deoarece serverul nu păstrează starea clientului.

Serviciile Web sunt adesea folosite cu un sistem de caching pentru entitățile care nu suferă modificări semnificative. Acest lucru duce la o creștere a vitezei de răspuns a serviciului web.

Exemplu de mesaj JSON:

{
“first_name”: ”Ioan”,
“last_name”: ”Pop”,
“age”: 32,
“benefits”: [“scalabilitate”, “interoperabilitate”, “distribuție”],
“address”: {
“city”: ”Baia Mare”,
“street”: “Mihai Eminescu”,
“number”: 23
}
}

Despre SOAP (Simple Object Access Protocol)

SOAP a fost primul protocol pentru conectarea la serviciile web SOA (Service Oriented Architecture). SOAP este construit pe specificația XML și folosește HTTP pentru transport.

Un mesaj SOAP este definit ca o structură de antet și un element de corp. Antetul poate conține informații de autentificare sau definiția tipurilor complexe de date. Elementul de corp descrie metodele web și informațiile despre parametrii acestora.

Envelope SOAP:

<soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance>
<soap:Body>
<AWeserviceResponse xmls=http://tempuri.org/>
<AWebServiceResult>string</AWebServiceResul>
<AWebserviceResponse>
<soap:Body>
</soap:Envelope>

Cele mai bune practici de dezvoltare

Versionare

Lansarea unei noi versiuni a serviciului web care nu este compatibilă cu versiunea anterioară necesită versionarea serviciului web și menținerea ambelor versiuni atâta timp cât clienții adoptă noua versiune.

Documentație

Serviciile web ar trebui să afișeze informații despre metadatele operațiunilor pe care le pot efectua. Fiecare metodă web ar trebui să fie descrisă prin metoda HTTP, URI, anteturile HTTP Accept și Content-Type, coduri posibile ale răspunsurilor HTTP, anteturi personalizate, exemplu de răspuns și exemple de corpuri de solicitare.

Logare

Informațiile de logare ar trebui să fie grupate în aceeași secțiune a cererii și imprimate la final pentru a facilita găsirea acestora în fișierele de log.

Gestionarea erorilor

Erorile trebuie raportate clientului prin coduri de stare HTTP:

200 Ok – Succes

400 – Cerere incorectă

401 – Neautorizat

403 – Interzis

404 – Negăsit

405 – Metodă nepermisă

500 – Eroare internă de server

503 – Serviciu indisponibil

Design URI

UR-urile ar trebui să fie concise, ușor de reținut, neambigue în privința resursei gestionate și construite din substantive care descriu resursa, nu verbe care descriu acțiunea. Acțiunea este descrisă de metodele de cerere HTTP care implicite descriu tipul de acțiune realizată asupra resursei. Este mai greu să schimbi URI-urile unui serviciu web odată ce acestea sunt publicate și utilizate de clienți. URI /client/{id}/message/{msg_id}

Beneficii

Interoperabilitate

Integrarea cu serviciile web oferă o soluție viabilă atunci când lucrezi cu diferite sisteme, sisteme legate sau aplicații în alte limbaje de programare. Această problemă a fost mult discutată încă din anii 2000.

Ușurința utilizării

Serviciile web sunt construite pentru a fi accesibile prin web, la fel ca o pagină HTML accesibilă prin Internet.

Reutilizare

O aplicație client poate folosi mai multe servicii web, adăugând valoare managementului informațiilor. Prin serviciile web, poți integra aplicații diferite, în special sisteme legate.

Distribuție

Distribuirea unui serviciu web utilizând un server cu funcționalități sincrone sau asincrone este simplă. În același timp, o nouă versiune a serviciului poate fi instalată și deveni accesibilă într-un timp scurt.

Calitate

Odată construit, serviciul web este testat independent de aplicațiile client, ceea ce se face într-un timp mai scurt decât aplicațiile monolitice.

Cost

Odată ce un set de servicii web este expus, aplicațiile client sunt dezvoltate mult mai ușor și la costuri mai mici datorită timpului mai scurt de dezvoltare și integrare.

De ce să folosești servicii web

  • Pentru a oferi integrare punct-cu-punct;
  • Pentru a gestiona activele legate;
  • Pentru a vinde Software-as-a-Service clienților tăi;
  • Pentru a oferi API-uri web pentru afacerea ta către diferite aplicații din organizația ta;
  • Pentru a reduce costurile de dezvoltare.
Comments (0)
Join the discussion
Read them all
 

Comment

Hide Comments
Back

This is a unique website which will require a more modern browser to work!

Please upgrade today!

Share