ITLAB – Laboratorio IT

SOA (Service Oriented Architecture), Web 2.0, Open Source e Java.

  • Feed

    Feed ITLAB

  • Chi sono

    Mi chiamo Andrea Gumina. Sono laureato in Scienze dell'Informazione e lavoro per un'azienda di consulenza IT. Da qualche anno mi occupo di integrazione di sistemi, di SOA (Service Oriented Architecture) da poco meno di tre.

  • Bookmarks

  • Licenza

  • Statistiche

REST (REpresentational State Transfer): fondamenti

Pubblicato da Andrea Gumina su 9 Giugno 2008

Roy Thomas Fielding sintetizza in questa presentazione il contenuto della sua tesi di dottorato “Architectural Styles and the Design of Network-based Software Architectures” (con cui, nel 2000, introduceva REST).

La presentazione definisce i concetti architettura software (astrazione degli elementi di run-time di un sistema, durante una delle sue fasi operative) e stile (insieme di vincoli che inducono le qualità e i compromessi di un’architettura) e indica quali vincoli caratterizzano lo stile di architettura denominato REST:

  • mancanza di stato (ha qualità di migliorare la scalabilità, l’affidabilità e la visibilità – circoscrivendo la richiesta – ma ha come compromessi il degrado delle prestazioni – a causa del maggior numero di dati da presentare – e il legame più stretto tra client e server)

  • client-server (separa le competenze e migliora la scalabilità)

  • caching (migliora l’efficienza e la scalabilità ma riduce l’affidabilità – i dati in cache potrebbero non essere aggiornati)

  • interfaccia uniforme (migliora la visibilità, semplifica e disaccoppia ma riduce l’efficienza – a causa della generalizzazione)

  • gerarchia a livelli (introduce l’incapsulamento e l’intermediazione, semplifica i client ma aumenta la latenza)

  • codice on-demand (download ed esecuzione di applet e script: semplifica i client, aumenta le possibilità di estensione ma riduce la visibilità)

Spiega poi in dettaglio il vincolo di “interfaccia uniforme”:

  • tutte le risorse sono identificate da URI

  • i metodi hanno semantica indipendente dalle risorse

  • i messaggi scambiati (rappresentazione delle risorse) sono auto-descrittivi

  • le rappresentazioni indicano lo stato della risorsa, gli eventuali link presenti le transizioni possibili

Elenca infine i benefici di REST:

  • scalabilità

  • semplicità

  • minimo accoppiamento

Vale la pena – lo sto facendo – leggersi la tesi (pubblicata anche come pdf).

—-><—-

Hai trovato questo post interessante? Sottoscrivi il feed completo e partecipa alla discussione

Lascia un commento

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>