Junior
Cos'è l'architettura orientata a REST (ROA)?
sobes.tech AI
Risposta dell'AI
L’architettura REST (Transfer of Representational State) è uno stile architetturale per sistemi distribuiti, basato su un insieme di principi che definiscono come le risorse sono identificate e come avviene l’interazione tra client e server.
Principi fondamentali di REST:
- Client-Server: Separazione delle responsabilità. Il client si occupa dell’interfaccia utente, il server dell’archiviazione e dell’elaborazione dei dati.
- Senza stato (Stateless): Ogni richiesta del client al server deve contenere tutte le informazioni necessarie per il suo processamento. Il server non mantiene lo stato del client tra le richieste.
- Cacheabile: I client e i nodi intermedi possono memorizzare le risposte del server in cache per migliorare le prestazioni e la scalabilità.
- Interfaccia uniforme:
- Identificazione delle risorse: Le risorse sono identificate in modo univoco tramite URL.
- Manipolazione delle risorse tramite rappresentazioni: Il client può manipolare le risorse usando la rappresentazione della risorsa (ad esempio, JSON, XML).
- Messaggi auto-descrittivi: Ogni messaggio contiene abbastanza informazioni per comprenderne il trattamento.
- Gestione dello stato dell’applicazione tramite ipermedia (HATEOAS): Il client interagisce con l’applicazione esclusivamente tramite i link ipertestuali forniti nelle risposte del server.
- Sistema a strati: Il sistema può essere organizzato in strati (ad esempio, proxy, gateway), e ogni componente vede solo lo strato successivo con cui interagisce.
- Codice su richiesta (Code-On-Demand - opzionale): Il server può temporaneamente estendere la funzionalità del client trasmettendo codice eseguibile (ad esempio, JavaScript).
In QA, i test API REST includono la verifica della conformità a questi principi, oltre a:
- Test funzionali (metodi HTTP GET, POST, PUT, DELETE).
- Test di carico.
- Test di sicurezza.
- Test di compatibilità (diversi formati di dati, clienti).