Sobes.tech
Junior

Ce este arhitectura orientată pe REST (ROA)?

sobes.tech AI

Răspuns de la AI

Arhitectura orientată pe REST (Transferul de Stare Reprezentatională) este un stil arhitectural pentru sistemele distribuite, bazat pe un set de principii care definesc modul în care resursele sunt identificate și modul în care are loc interacțiunea între client și server.

Principiile de bază ale REST:

  1. Client-server (Client-Server): Separarea responsabilităților. Clientul se ocupă de interfața utilizatorului, serverul de stocarea și procesarea datelor.
  2. Fără stare (Stateless): Fiecare solicitare de la client către server trebuie să conțină toate informațiile necesare pentru procesare. Serverul nu păstrează starea clientului între solicitări.
  3. Cacheabil: Clienții și nodurile intermediare pot stoca răspunsurile serverului pentru a îmbunătăți performanța și scalabilitatea.
  4. Interfață unificată:
    • Identificarea resurselor: Resursele sunt identificate în mod unic prin URL-uri.
    • Manipularea resurselor prin reprezentări: Clientul poate manipula resursele folosind reprezentarea resursei (de exemplu, JSON, XML).
    • Mesaje auto-descriptive: Fiecare mesaj conține suficiente informații pentru a fi înțeles și procesat.
    • Gestionarea stării aplicației prin hipermedia (HATEOAS): Clientul interacționează cu aplicația exclusiv prin hyperlink-uri furnizate în răspunsurile serverului.
  5. Sistem în straturi: Sistemul poate fi organizat în straturi (de exemplu, proxy-uri, gateway-uri), iar fiecare componentă vede doar următorul strat cu care interacționează.
  6. Cod la cerere (Code-On-Demand - opțional): Serverul poate extinde temporar funcționalitatea clientului transmitând cod executabil (de exemplu, JavaScript).

În QA, testarea API-urilor REST include verificarea conformității cu aceste principii, precum și:

  • Teste funcționale (metode HTTP GET, POST, PUT, DELETE).
  • Teste de încărcare.
  • Teste de securitate.
  • Teste de compatibilitate (diferite formate de date, clienți).