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

Web sockets

  • 1.
    I web socket Acura dell’Ing Buttolo Marco
  • 2.
    I web sockets Loscopo 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 Diversamentedall’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):
  • 4.
  • 5.
    Web sockets L’immagine mostrala connessione via wss (web socket secure).
  • 6.
    Server web socket Lacreazione 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 Nelcodice 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 delleprossime 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 sonodue 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 webservices 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 mostratonelle 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.

Editor's Notes

  • #13 In modalità Presentazione seleziona le frecce per visitare i collegamenti.