Come anticipato in una precedente trattazione “Sistemi push per le comunicazioni in ambiente mobile”, nel presente articolo illustriamo il funzionamento della piattaforma software di Google per la realizzazione del servizio C2DM di comunicazione push per ANDROID.
C2DM è l’acronimo di “Cloud to Device messaging”, da cui si evince che il servizio opera in ambiente cloud di Google offrendo, tra i diversi vantaggi, un elevato livello di affidabilità. Per una trattazione più dettagliata del cloud computing rimandiamo all’articolo: “Cloud computing: cos’è?”
Lo scopo principale di C2DM non è quello di inviare un nuovo contenuto al software in esecuzione sul device Android, bensì di segnalare a quest’ultimo la presenza di nuovi dati sul server. Il compito di recuperare e visualizzare la nuova informazione sul dispositivo mobile è affidato al software stesso che riceve il messaggio e che può prevedere anche un meccanismo asincrono di fetching di dati. Per tale motivo il messaggio inviato tramite C2DM ha una dimensione massima di 1024 bytes.
Un’altra caratterisitca interessante di C2DM è quella che l’applicazione Android destinataria di un messaggio non deve essere in esecuzione per riceverlo: il sistema operativo, ricevuta la segnalazione, si farà carico di instradarla all’applicazione specifica.
Quanto visto fino ad ora ci ha permesso già di soffermarci su alcune delle parti coinvolte nel meccanismo di comunicazione. Con l’esattezza, l’architettura di C2DM prevede l’interazione di tre moduli software: il server, il device Android ed il server Google C2DM.
Il server è l’applicazione, solitamente di terze parti, che si occupa di inviare i messaggi ai dispositivi android che si sono accreditati per la ricezione dei messaggi.
Google C2DM rappresenta il software che si pone come intermediario tra i servers di terze parti e le applicazioni android, svolgendo principalmente compiti di instradamento delle informazioni.
Per poter realizzare l’instradamento, il server C2DM deve ricevere ed immagazzinare le opportune informazioni sia sulla presenza dei server che sulla persenza dei client accreditati ai diversi servizi push.
L’applicazione Android è la destinataria dei messaggi di tipo push e offrirà, tra le altre funzionalità, anche quella di recupero e gestione dell’informazione presente sul server.
Il protocollo di comunicazione tra le parti prevede una prima fase di accreditamento sia del server che dei client interessati sul server C2DM. Successivamente può prendere vita la comunicazione vera e propria attraverso l’invio di un messaggio push dal server al C2DM. Quest’ultimo dopo aver ricavato le informazioni dei device di destinazione, procede a consegnare la segnalazione ai device interessati.
Da quanto visto emerge che il server non ha vincoli implementativi per quanto riguarda il linguaggio e le tecnologie utilizzate per lo sviluppo in quanto deve solo occuparsi di inviare messaggi con il protocollo atteso da C2DM.
Autore
Vincenzo Tirelli
Innovation Manager – Senior Software Designer
Ho iniziato a collaborare con la SNAP a partire dal 2007, in qualità di ...