Vai al contenuto
Home » Notes » La struttura RPC di GWT (comunicazione Client – Server)

La struttura RPC di GWT (comunicazione Client – Server)

connessione client server gwt

Se per qualche motivo dovessi trovarti a sviluppare un progetto con GWT (Google Web Toolkit) o a modificare un progetto esistente, potrebbe farti comodo scoprire come funziona la connessione e comunicazione client – server di GWT. Oggi ho preparato una guida con la quale te lo spiego, nella maniera più semplice ed esaustiva possibile.

Cos’è GWT RPC?

Quando il client, che sta eseguendo la web app GWT, ha necessità di interagire con il server, tutto ciò che fa è lanciare una richiesta HTTP.
GWT mette a disposizione RPC, un piccolo framework per gestire la connessione e la comunicazione tra i client e il server che permette anche di passare oggetti Java al e dal server in maniera facile.

Come funziona GWT RPC?

Per spiegarti come funziona la connessione e l’interazione client-server in GWT ho preparato un disegno e un esempio di codice.

gwt rpc connessione e comunicazione client server guida schema

Quindi con GWT RPC, facendo una semplificazione estrema, ciò che accade nella connessione e comunicazione tra client e server è questo:

  • il client vuole inviare una certa richiesta al server
  • il client chiama un metodo dell’interfaccia ConnServiceAsync
  • il metodo esegue sul server lo stesso metodo dell’interfaccia ConnService
  • si trasferisce la risposta al client sotto forma di Callback asincrona (AsyncCallback).

Esempio connessione collegamento client server di GWT

Nel seguente esempio (banale, ma utile a capire la struttura dell’architettura RPC), il client può chiamare un metodo:

String sempliceChiamataAlServer(String input)

che permette di inviare al server una stringa data in input dall’utente tramite una TextBox, e il server risponde con un saluto e la stringa appena ricevuta da parte del client.

Interfaccia ConnService: interfaccia con i metodi che saranno realizzati dal server, in questo caso solo il nostro String sempliceChiamataAlServer(String input)

Interfaccia ConnServiceAsync: contiene gli stessi metodi dell’interfaccia ConnService, con il valore di ritorno void e un parametro AsyncCallback dello stesso tipo (classe wrap, non primitivo) del valore di ritorno originale.

Classe ConnServiceImpl: questo è effettivamente il nostro server. Quando riceve la chiamata del metodo sempliceChiamataAlServer ritorna al client una Stringa con “ciao sono il server”+ la stringa ricevuta in input dal client.

E infine, la Classe MainPage: è il client, è composta da un contenitore della pagina vPanel, il titolo, la TextBox per inserire il messaggio e il pulsante per inviare la richiesta al server. La risposta ricevuta dal server viene visualizzata in un alert del browser.

Codice sorgente del progetto completo disponibile al download a questo link

Eseguendo il progetto, ecco il risultato dopo aver premuto il pulsante invia al server:

Il progetto contiene già le librerie necessarie ad eseguirlo quindi basta importarlo sul tuo ambiente di lavoro e lanciarlo ma se dovessi avere problemi ti consiglio di dare un’occhiata alla mia guida su come configurare GWT con Eclipse

Ora sai come funziona il collegamento tra client e server in GWT.

Grazie per la lettura!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *