Il primo incontro ha un tema prettamente tecnico, da sviluppatori, è dedicato al "web programmabile" con focus sulle architetture "RESTful".
A che servono? Come funzionano? Come ne possono beneficiare le nostre applicazioni? Come, soprattutto, ne possono beneficiare i cittadini, le imprese, grazie ad applicazioni che sfruttano questo tipo di tecniche?
Relatore: Ing. Flavio Troia - CEO Stasbranger
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.