SlideShare a Scribd company logo
1 of 12
I web socket
A cura dell’Ing Buttolo Marco
I web sockets
Lo scopo di queste slide è quello di fornire una breve descrizione di cosa sono i web sockets. I web sockets sono una alternativa alla comunicazione HTTP (Hyper
Text Markup Language) nelle applicazioni web. La logica di base è la comunicazione bidirezionale tramite scambio di messaggi JSON.
Una volta stabilita la connessione, il canale rimane aperto con una bassa latenza e poco sovraccarico.
I web sockets
Diversamente dall’HTTP, con una web socket si può inviare un messaggio al client senza che il client ne faccia specifica richiesta. Il client ed il server possono
parlare tra loro contemporaneamente.
I web sockets sono utili per la comunicazione in tempo reale e di lunga durata. Di seguito viene mostrato un esempio di client web socket (estensione di chrome
liberamente installabile):
Web sockets
Web sockets
L’immagine mostra la connessione via wss (web socket secure).
Server web socket
La creazione di un web server socket avviene sfruttando
nodeJS (javascript lato server) nella maniera mostrata a lato.
Per prima cosa si utilizza la libreria WS e si istanzia una classe
server di tipo webSocket.
Successivamente si sviluppa il codice di gestione dei messaggi
in entrata al server. Nel caso di scambio messaggi via JSON è
necessario ogni qualvolta effettuare un parsing del json, come
viene mostrato nella terza immagine a lato.
Client web socket
Nel codice javascript a lato è presente un esempio minimale di
client web socket. La porta non sarà 8080 ma 1234 come
mostrato nel codice del server.
Architettura REST
Scopo delle prossime slide è quello di illustrare brevemente cosa si intende per REST. REST è l’acronimo di Representational State Transfer. E’ un tipo di
architettura software. E’ uno standard nella creazione di web A.P.I (Application Program Interface).
Con REST si descrive ogni tipo di interfaccia per lo scambio di messaggi tramite protocollo HTTP.
Un web service invece è un modulo software pensato per favorire l’interoperabilità tra le applicazioni.
Architettura REST
Ci sono due approcci per creare un web service:
• SOAP (Simple Object Access Protocol) il quale sfrutta un meccanismo chiamato RPC =Remote Procedure Call
• REST
L’approccio REST si basa su cinque principi:
• Identificazione delle risorse
• Utilizzo esplicito dei metodi HTTP
• Risorse auto descritte
• Collegamenti tra risorse
• Comunicazione senza stato
Web services
I web services si basano sul concetto di risorsa. Per risorsa si intende un qualsiasi oggetto su cui è possibile effettuare delle operazioni. Ogni risorsa viene
identificata in modo univoco da un URI (Uniform Resource Identifier).
Le operazioni effettuabili su una URI sono i metodi predefiniti HTTP, ossia:
• GET -> lettura
• POST -> creazione
• PUT -> aggiornamento
• DELETE -> Cancellazione
Queste sono tipiche operazioni CRUD (Creation, Read, Update, Delete)
Alcune considerazioni
L’esempio mostrato nelle slide precedenti è stato sviluppato in NodeJS, un framework Javascript che permette di sviluppare e di utilizzare Javascript lato server. Si
basa sulla programmazione asincrona con un modello di programmazione «event-driven».
Per installare pacchetti Javascript si usa il comando NPM ossia il classico gestore di pacchetti Node Package Manager.
Miei contatti
Mail: mbuttolo@libero.it
Personal web site: www.marcobuttolo.com

More Related Content

What's hot

SmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applicationsSmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applications
Claudio Bosticco
 

What's hot (14)

SmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applicationsSmartClient by Isomorphic - Rich internet applications
SmartClient by Isomorphic - Rich internet applications
 
Lezione 10: Web Service in Java (2)
Lezione 10: Web Service in Java (2)Lezione 10: Web Service in Java (2)
Lezione 10: Web Service in Java (2)
 
Web api 2.0
Web api 2.0Web api 2.0
Web api 2.0
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Lezione 6: Remote Method Invocation
Lezione 6: Remote Method InvocationLezione 6: Remote Method Invocation
Lezione 6: Remote Method Invocation
 
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, PiacenzaSviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
Sviluppo Web con React e Delphi - Seminario Delphi Day 2016, Piacenza
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
Lezione 11: Accesso ai RESTful Web Services in Java
Lezione 11: Accesso ai RESTful Web Services in JavaLezione 11: Accesso ai RESTful Web Services in Java
Lezione 11: Accesso ai RESTful Web Services in Java
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
 
.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet.Net 4.0 Preview @ UGIdotNet
.Net 4.0 Preview @ UGIdotNet
 
Ajax
AjaxAjax
Ajax
 
Lezione12: Autenticazione e gestione delle sessioni in REST
Lezione12: Autenticazione e gestione delle sessioni in RESTLezione12: Autenticazione e gestione delle sessioni in REST
Lezione12: Autenticazione e gestione delle sessioni in REST
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
 
Asp net (versione 1 e 2)
Asp net (versione 1 e 2)Asp net (versione 1 e 2)
Asp net (versione 1 e 2)
 

Similar to Web sockets

Come funziona la navigazione Web
Come funziona la navigazione WebCome funziona la navigazione Web
Come funziona la navigazione Web
extrategy
 
Web Project - LESSON 1
Web Project - LESSON 1Web Project - LESSON 1
Web Project - LESSON 1
Yunikon Design
 
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
 
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
 

Similar to Web sockets (20)

Come funziona la navigazione Web
Come funziona la navigazione WebCome funziona la navigazione Web
Come funziona la navigazione Web
 
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
 
Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1Web service architetture e standard - Tesi - cap1
Web service architetture e standard - Tesi - cap1
 
Web services
Web servicesWeb services
Web services
 
RESTful "il web programmabile"
RESTful "il web programmabile"RESTful "il web programmabile"
RESTful "il web programmabile"
 
Web Project - LESSON 1
Web Project - LESSON 1Web Project - LESSON 1
Web Project - LESSON 1
 
Corso di servlet jsp e pattern
Corso di servlet jsp e patternCorso di servlet jsp e pattern
Corso di servlet jsp e pattern
 
World wide web
World wide webWorld wide web
World wide web
 
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
 
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
 
Sistemi distribuiti
Sistemi distribuitiSistemi distribuiti
Sistemi distribuiti
 
Corso web services
Corso web servicesCorso web services
Corso web services
 
Composite Apps
Composite AppsComposite Apps
Composite Apps
 
Composite Application
Composite ApplicationComposite Application
Composite Application
 
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
 
WebAPI 2.0
WebAPI 2.0WebAPI 2.0
WebAPI 2.0
 
Introduzione alla creazione di siti internet
Introduzione alla creazione di siti internetIntroduzione alla creazione di siti internet
Introduzione alla creazione di siti internet
 
Costruisci il tuo Sito Web - 1a parte
Costruisci il tuo Sito Web - 1a parteCostruisci il tuo Sito Web - 1a parte
Costruisci il tuo Sito Web - 1a parte
 
Introduzione ai Web Services
Introduzione ai Web ServicesIntroduzione ai Web Services
Introduzione ai Web Services
 
corso web developer - Introduzione al web
corso web developer - Introduzione al webcorso web developer - Introduzione al web
corso web developer - Introduzione al web
 

More from Marco Buttolo

More from Marco Buttolo (20)

Protocollo ssh
Protocollo sshProtocollo ssh
Protocollo ssh
 
Cognitive services
Cognitive servicesCognitive services
Cognitive services
 
Introduzione ros
Introduzione rosIntroduzione ros
Introduzione ros
 
Corso automazione modulo2
Corso automazione modulo2Corso automazione modulo2
Corso automazione modulo2
 
Corso automazione modulo1
Corso automazione modulo1Corso automazione modulo1
Corso automazione modulo1
 
Antropologia
AntropologiaAntropologia
Antropologia
 
Introduzione psicologia
Introduzione psicologiaIntroduzione psicologia
Introduzione psicologia
 
Bisogni educativispeciali
Bisogni educativispecialiBisogni educativispeciali
Bisogni educativispeciali
 
Seminario robotica ia
Seminario robotica iaSeminario robotica ia
Seminario robotica ia
 
Socket python
Socket pythonSocket python
Socket python
 
Campi elettrici magnetici_devices
Campi elettrici magnetici_devicesCampi elettrici magnetici_devices
Campi elettrici magnetici_devices
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumate
 
Post gresql su_raspberry
Post gresql su_raspberryPost gresql su_raspberry
Post gresql su_raspberry
 
Galleggiamento corpo
Galleggiamento corpoGalleggiamento corpo
Galleggiamento corpo
 
Elaborazione suono
Elaborazione suonoElaborazione suono
Elaborazione suono
 
Trattamento termico
Trattamento termicoTrattamento termico
Trattamento termico
 
Introduzione ai cmms
Introduzione ai cmmsIntroduzione ai cmms
Introduzione ai cmms
 
Processo fosfatazione
Processo fosfatazioneProcesso fosfatazione
Processo fosfatazione
 
Processo burattatura
Processo burattaturaProcesso burattatura
Processo burattatura
 
Bootstrap
BootstrapBootstrap
Bootstrap
 

Recently uploaded

Recently uploaded (9)

GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptx
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO Antonio
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA Roberto
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptx
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI Alessandro
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
 
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
 

Web sockets

  • 1. I web socket A cura dell’Ing Buttolo Marco
  • 2. I web sockets Lo scopo di queste slide è quello di fornire una breve descrizione di cosa sono i web sockets. I web sockets sono una alternativa alla comunicazione HTTP (Hyper Text Markup Language) nelle applicazioni web. La logica di base è la comunicazione bidirezionale tramite scambio di messaggi JSON. Una volta stabilita la connessione, il canale rimane aperto con una bassa latenza e poco sovraccarico.
  • 3. I web sockets Diversamente dall’HTTP, con una web socket si può inviare un messaggio al client senza che il client ne faccia specifica richiesta. Il client ed il server possono parlare tra loro contemporaneamente. I web sockets sono utili per la comunicazione in tempo reale e di lunga durata. Di seguito viene mostrato un esempio di client web socket (estensione di chrome liberamente installabile):
  • 5. Web sockets L’immagine mostra la connessione via wss (web socket secure).
  • 6. Server web socket La creazione di un web server socket avviene sfruttando nodeJS (javascript lato server) nella maniera mostrata a lato. Per prima cosa si utilizza la libreria WS e si istanzia una classe server di tipo webSocket. Successivamente si sviluppa il codice di gestione dei messaggi in entrata al server. Nel caso di scambio messaggi via JSON è necessario ogni qualvolta effettuare un parsing del json, come viene mostrato nella terza immagine a lato.
  • 7. Client web socket Nel codice javascript a lato è presente un esempio minimale di client web socket. La porta non sarà 8080 ma 1234 come mostrato nel codice del server.
  • 8. Architettura REST Scopo delle prossime slide è quello di illustrare brevemente cosa si intende per REST. REST è l’acronimo di Representational State Transfer. E’ un tipo di architettura software. E’ uno standard nella creazione di web A.P.I (Application Program Interface). Con REST si descrive ogni tipo di interfaccia per lo scambio di messaggi tramite protocollo HTTP. Un web service invece è un modulo software pensato per favorire l’interoperabilità tra le applicazioni.
  • 9. Architettura REST Ci sono due approcci per creare un web service: • SOAP (Simple Object Access Protocol) il quale sfrutta un meccanismo chiamato RPC =Remote Procedure Call • REST L’approccio REST si basa su cinque principi: • Identificazione delle risorse • Utilizzo esplicito dei metodi HTTP • Risorse auto descritte • Collegamenti tra risorse • Comunicazione senza stato
  • 10. Web services I web services si basano sul concetto di risorsa. Per risorsa si intende un qualsiasi oggetto su cui è possibile effettuare delle operazioni. Ogni risorsa viene identificata in modo univoco da un URI (Uniform Resource Identifier). Le operazioni effettuabili su una URI sono i metodi predefiniti HTTP, ossia: • GET -> lettura • POST -> creazione • PUT -> aggiornamento • DELETE -> Cancellazione Queste sono tipiche operazioni CRUD (Creation, Read, Update, Delete)
  • 11. Alcune considerazioni L’esempio mostrato nelle slide precedenti è stato sviluppato in NodeJS, un framework Javascript che permette di sviluppare e di utilizzare Javascript lato server. Si basa sulla programmazione asincrona con un modello di programmazione «event-driven». Per installare pacchetti Javascript si usa il comando NPM ossia il classico gestore di pacchetti Node Package Manager.
  • 12. Miei contatti Mail: mbuttolo@libero.it Personal web site: www.marcobuttolo.com

Editor's Notes

  1. In modalità Presentazione seleziona le frecce per visitare i collegamenti.