REST service – Introduzione

imagesHo avuto necessita’ di implementare alcuni servizi REST in un mio progetto. Ho pensato di scrivere un articolo per tenermi traccia di quello che ho fatto (purtroppo l’eta’ avanza e la memoria invece scompare poco alla volta)…. Quindi iniziamo. Prima di iniziare rispondiamo alla domanda: Ma cos’e’ un servizio REST? REST sta per REpresentional State Transfer ed indica uno stile architetturale (non una tecnologia o una specifica, tenetelo bene a mente) per la realizzazione di soluzioni distribuite.

In internet e’ possibile trovare un sacco di documentazione sui REST quindi ecco qualche link interessante:

Inizialmente REST venne descritto da Fielding nel contesto del protocollo HTTP e questo e il protocollo a livello Applicazione maggiormente utilizzato; ma un sistema RESTful si puo’ appoggiare ad un qualunque altro protocollo che fornisca unvocabolario altrettando ricco.
A di fferenza di altre speci che per Web Service (es. SOAP) REST sfrutta infatti a pieno la semantica e la ricchezza dei comandi HTTP e le sue funzionalita come, ad esempio, la negoziazione dei contenuti.

Abbiamo detto che REST non è un’architettura nè uno standard, ma un insieme di linee guida per la realizzazione di un’architettura di sistema. Ma quali sono questi principi che rendono il Web adatto a realizzare Web Service secondo l’approccio REST? Il tutto può essere riassunto nei seguenti cinque principi:

  • Identificazione delle risorse
  • Utilizzo esplicito dei metodi HTTP
  • Risorse autodescrittive
  • Collegamenti tra risorse
  • Comunicazione senza stato
GET Recupera una risorsa
E’ in sola lettura
Cacheable
PUT Aggiorna una risorsa
Utilizzato anche per creare le risorse se il client ne conosce l’indirizzo a priori
Idempotent
DELETE Cancella la risorsa specificata
Idempotent
POST Crea una nuova risorsa
Unsafe
Il vantaggio di utilizzare i metodi HTTP consiste nel fornire le nostre applicazioni di una interfaccia unica e condivisa.
l principio dell’uso esplicito dei metodi HTTP ci indica di sfruttare i metodi (o verbi) predefiniti di questo protocollo, e cioè GET, POST, PUT e DELETE che sono metodi universalmente conosciuti e ampiamente supportati da diversi framework.
In sostanza, quindi, l’utilizzo dell’HTTP, dei suoi metodi e più ampiamente anche dei suoi messaggi di risposta (Status Code) consente l’accesso alla nostra applicazione a qualsiasi client che li supporta, semplificandone l’utilizzo rispetto al più complesso sistema gestito in SOA.
Come detto questo e’ solo un piccolo memoriale per non perdere informazioni. Se qualcuno cercasse informazioni maggiori, su internet e’ possibile trovare tutorial ed articoli fantastici  che descrivono meglio l’argomento.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...