SlideShare a Scribd company logo
1 of 20
RESTful
“Il Web Programmabile”
Primo Incontro di Co-Learning
#ANDRIAINNOVA
20 Nov 2015 - Officina San Domenico
Andria (BT)
Ing.Flavio Troia - CEO Stasbranger
Assessorato all’
Innovazione
Tecnologica
cos’è RESTful?
REpresentational State Transfer (REST)
E’ un tipo di architettura software che si applica ai
sistemi di ipertesto distribuiti come il World Wide Web
(www).
REST o RESTful?
Non parliamo di uno standard di fatto o di un protocollo ma di un
metodo per sviluppare web services.
a cosa serve?
a cosa serve?
a cosa serve?
i principi dell’architettura REST
1. Identificazione delle risorse
2. Utilizzo esplicito dei metodi HTTP
3. Risorse autodescrittive
4. Memorizzabile in cache
5. Comunicazione senza stato
6. Collegamenti tra risorse
1. identificazione delle risorse
Per risorsa si intende un qualsiasi elemento oggetto di
elaborazione, un qualsiasi oggetto su cui è possibile
effettuare operazioni.
esempio di risorsa
● http://www.myapp.com/clienti/1234
● http://www.myapp.com/ordini/2011/98765
● http://www.myapp.com/prodotti/7654
● http://www.myapp.com/ordini/2011
● http://www.myapp.com/prodotti?colore=rosso
http://www.myapp.com/tgw34/2099ww ???
2. utilizzo esplicito dei metodi HTTP
Mappare le azioni ‘CRUD’ sui metodi HTTP
GET → http://www.myapp.com/addCustomer?name=Rossi ???
3. risorse autodescrittive
Un Web Service non invia al client direttamente un record del suo database, ma
una sua rappresentazione in una codifica dipendente dalla richiesta del client.
Rappresentazioni multiple?
seguendo i principi REST nel progettare un’applicazione Web è possibile
costruire sia una Web API che una Web UI.
4. memorizzabile in cache
Una gestione ben fatta della cache può ridurre o parzialmente
eliminare le comunicazioni client server, migliorando
scalabilità e performance.
5. comunicazione senza stato
Questa è infatti una delle caratteristiche principali del protocollo HTTP, cioè
ciascuna richiesta non ha alcuna relazione con le richieste precedenti e
successive
6. collegamenti tra risorse
Un altro vincolo dei principi REST consiste nella necessità che le risorse siano tra
loro messe in relazione tramite link ipertestuali.
HATEOAS?
(HATEOAS)
HATEOAS (Hypermedia as the Engine of Application State)
Il principio consiste in un client che interagisce con un'applicazione web
esclusivamente attraverso gli ipermedia forniti dinamicamente dai server
dell'applicazione stessa.
database rest
1. Neo4j
2. MongoDB
3. MySQL
4. Redis -> Webdis
5. PostgreSQL
6. SQLServer -> OData API
7. Oracle -> ORDS
come mappare
esempio
● Previsioni Meteo:
http://api.openweathermap.org/data/2.5/weather?q=Andria&appid=<ACCESS_TOKEN>
● SMS:
curl --user <ACCESS_TOKEN> -XPOST https://api.smshosting.it/rest/api/sms/send -d "from=flavio" -d "to=393475158555" -
d "text=Restful il web programmabile"
piattaforme utili
domande?

More Related Content

Similar to RESTful "il web programmabile"

Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa Bif
Emanuele Della Valle
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
Whymca
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
Emanuele Della Valle
 

Similar to RESTful "il web programmabile" (20)

Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
 
Web sockets
Web socketsWeb sockets
Web sockets
 
Cefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa BifCefriel Della Valle Web 2.0 And Soa Bif
Cefriel Della Valle Web 2.0 And Soa Bif
 
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successoWSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
WSO2 MASTER CLASS ITALIA #9 - Come creare API di successo
 
Corso di servlet jsp e pattern
Corso di servlet jsp e patternCorso di servlet jsp e pattern
Corso di servlet jsp e pattern
 
WebAPI 2.0
WebAPI 2.0WebAPI 2.0
WebAPI 2.0
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 
SVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROIDSVILUPPO DI SERVIZI REST PER ANDROID
SVILUPPO DI SERVIZI REST PER ANDROID
 
Applicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web ApiApplicazioni RESTful con ASP.NET Web Api
Applicazioni RESTful con ASP.NET Web Api
 
Giuffrida
GiuffridaGiuffrida
Giuffrida
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
Architetture.Distribuite
Architetture.DistribuiteArchitetture.Distribuite
Architetture.Distribuite
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
SBMT Presentation
SBMT PresentationSBMT Presentation
SBMT Presentation
 
Net core base
Net core baseNet core base
Net core base
 
Swagger per tutti
Swagger per tuttiSwagger per tutti
Swagger per tutti
 
Il mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettiveIl mercato SOA: futuro e prospettive
Il mercato SOA: futuro e prospettive
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIA
 
.NET Microservices
.NET Microservices.NET Microservices
.NET Microservices
 

RESTful "il web programmabile"

  • 1. RESTful “Il Web Programmabile” Primo Incontro di Co-Learning #ANDRIAINNOVA 20 Nov 2015 - Officina San Domenico Andria (BT) Ing.Flavio Troia - CEO Stasbranger Assessorato all’ Innovazione Tecnologica
  • 2. cos’è RESTful? REpresentational State Transfer (REST) E’ un tipo di architettura software che si applica ai sistemi di ipertesto distribuiti come il World Wide Web (www). REST o RESTful? Non parliamo di uno standard di fatto o di un protocollo ma di un metodo per sviluppare web services.
  • 6. i principi dell’architettura REST 1. Identificazione delle risorse 2. Utilizzo esplicito dei metodi HTTP 3. Risorse autodescrittive 4. Memorizzabile in cache 5. Comunicazione senza stato 6. Collegamenti tra risorse
  • 7. 1. identificazione delle risorse Per risorsa si intende un qualsiasi elemento oggetto di elaborazione, un qualsiasi oggetto su cui è possibile effettuare operazioni.
  • 8. esempio di risorsa ● http://www.myapp.com/clienti/1234 ● http://www.myapp.com/ordini/2011/98765 ● http://www.myapp.com/prodotti/7654 ● http://www.myapp.com/ordini/2011 ● http://www.myapp.com/prodotti?colore=rosso http://www.myapp.com/tgw34/2099ww ???
  • 9. 2. utilizzo esplicito dei metodi HTTP Mappare le azioni ‘CRUD’ sui metodi HTTP GET → http://www.myapp.com/addCustomer?name=Rossi ???
  • 10. 3. risorse autodescrittive Un Web Service non invia al client direttamente un record del suo database, ma una sua rappresentazione in una codifica dipendente dalla richiesta del client. Rappresentazioni multiple? seguendo i principi REST nel progettare un’applicazione Web è possibile costruire sia una Web API che una Web UI.
  • 11. 4. memorizzabile in cache Una gestione ben fatta della cache può ridurre o parzialmente eliminare le comunicazioni client server, migliorando scalabilità e performance.
  • 12. 5. comunicazione senza stato Questa è infatti una delle caratteristiche principali del protocollo HTTP, cioè ciascuna richiesta non ha alcuna relazione con le richieste precedenti e successive
  • 13. 6. collegamenti tra risorse Un altro vincolo dei principi REST consiste nella necessità che le risorse siano tra loro messe in relazione tramite link ipertestuali. HATEOAS?
  • 14. (HATEOAS) HATEOAS (Hypermedia as the Engine of Application State) Il principio consiste in un client che interagisce con un'applicazione web esclusivamente attraverso gli ipermedia forniti dinamicamente dai server dell'applicazione stessa.
  • 15.
  • 16. database rest 1. Neo4j 2. MongoDB 3. MySQL 4. Redis -> Webdis 5. PostgreSQL 6. SQLServer -> OData API 7. Oracle -> ORDS
  • 18. esempio ● Previsioni Meteo: http://api.openweathermap.org/data/2.5/weather?q=Andria&appid=<ACCESS_TOKEN> ● SMS: curl --user <ACCESS_TOKEN> -XPOST https://api.smshosting.it/rest/api/sms/send -d "from=flavio" -d "to=393475158555" - d "text=Restful il web programmabile"