Upload
luciana-mauro
View
223
Download
0
Embed Size (px)
Citation preview
Realizzazione di moduli applicativi per messaggistica e gestione preferenze nel
«carpooling»
Università degli Studi del SannioDipartimento di Ingegneria
Corso di laurea in Ingegneria Informatica
Isabella Lombardi
Outline
Il carpooling: definizione e vantaggi
Il carpooling: stato dell’arte ed applicazioni esistenti
L’applicazione «There I Go» per Android
Modulo applicativo per la registrazione ed il login degli utenti
Modulo applicativo per la gestione delle preferenze di
carpooling
Scambio di messaggi e Google Cloud Messaging (GCM)
Modulo applicativo per le notifiche push e lo scambio di
messaggi tra dispositivi
Conclusioni
Il carpooling
DefinizioneModalità di trasporto che consiste nella condivisione di automobili private tra un gruppo di persone che hanno percorsi di strada semi-comuni.
Obbiettivi principaliRidurre i costi di trasportoIncentivare la mobilità sostenibile
Vantaggi Riduzione dei costi legati all’auto (manutenzione, tasse, carburante)Riduzione dei problemi di congestione di traffico e di parcheggioRiduzione dell’inquinamento e delle emissioni di CO2
Il carpooling
FunzionamentoUn automobilista mette a disposizione il proprio veicoloI passeggeri, per usufruire del servizio, contribuiscono con adeguate somme economiche proporzionali al tragitto condivisoUtilizzo di piattaforme web o applicazioni mobiliCon le nuove tecnologie è possibile comunicare in tempo reale con tutti i soggetti e sapere la posizione geografica effettiva di passeggeri e automobilisti
ProblemaDato un certo numero di offerte di automobilisti e di domande di passeggeri, sorge il problema di come combinare queste richieste in modo efficienteDeterminare quali delle diverse opzioni risultano le migliori per ogni singolo soggetto facente parte del sistema
Il carpooling
Applicazioni esistenti e tecniche utilizzate
Stato dell’arte Supporti virtuali per la gestione di prenotazioni Social network che permettono agli utenti di incontrarsi,
pubblicare le loro richieste, scambiare informazioni• Limiti per quanto riguarda la funzionalità, l’accessibilità
ecc.• Funzionamento non in real-time
Si basano sul confronto dei tragitti di automobilisti e passeggeri
Si determinano i punti comuni ai tragitti di automobilista e passeggeri• Metodo poco efficiente al crescere delle lunghezze dei
tragitti e del numero di richieste• Aumento del tempo di calcolo
L’applicazione Android «There I Go»
Permette agli utenti di:• offrire un passaggio• cercare un
passaggio • pianificare un
viaggio
Descrizione del funzionamento
Innovatività dell’applicazione
L’algoritmo dell’applicazione deve essere in grado di:• elaborare le diverse richieste provenienti dai
passeggeri • classificarle• selezionare le migliori
Comunicazione tra smartphone o tablet e GIS interno o esterno, es. «Google Maps»
Le richieste dei passeggeri vengono ordinate in modo da massimizzare l’utilità in termini economici sia per l’automobilista che per il passeggero.
Algoritmo più efficiente con riduzione dei tempi di calcolo
Modulo applicativo per il login e la registrazione degli utenti
MotivazioniL’applicazione “There I Go” non era dotata di schermate autenticazione e registrazione
Permette agli utenti :• di essere riconosciuti dall’applicazione,• di memorizzare dati importanti per la pianificazione dei
viaggi,• di avere un servizio personalizzato e più sicuro, basato
sulle proprie preferenze di viaggio.
Prevede :• una schermata di login con campi per e-mail e password • una schermata di registrazione per la creazione di un
account con campi full name (nome e cognome), e-mail e password
E’ possibile la navigazione ed il passaggio da una schermata all’altra
MotivazioniRealizzato per la scelta delle preferenze di carpooling nell’applicazione “There I Go”Permette agli utenti di personalizzare il proprio viaggio rendendolo più confortevole e sicuro.
PreferenzePermette di scegliere fra diverse preferenze di viaggio: musica, fumo, animali a bordo, bambini a bordo, «chiacchiere». E’ possibile scegliere se si desidera o meno viaggiare in un’auto in cui:
• il conducente ascolta musica• si fuma• si trasportano animali domestici• ci sono bambini a bordo• ci sono compagni di viaggio “chiacchieroni”
PreferenzeE’ inoltre possibile scegliere :
• le dimensioni del bagaglio da portare a bordo tra piccolo, medio e grande
• il numero dei propri compagni di viaggio.
• se viaggiare con solo uomini, solo donne o con entrambi
• il tipo di auto
SicurezzaScegliendo l’opzione “solo donne”, è possibile un viaggio riservato solo alle donne
Modulo applicativo per lo scambio di messaggi e notifche push
MotivazioniPermette di aggiungere all’applicazione la possibilità di ricevere notifiche o messaggi in tempo reale. Approccio migliore rispetto ad e-mail o SMS.
ImplementazioneLe notifiche push:
• sono implementate utilizzando il servizio GCM (Google Cloud Messaging)
• consentono all’utente di riceve informazioni in tempo reale ed in modo gratuito
Servizio che consente agli sviluppatori di inviare dati dai server alle loro applicazioni Android. Gestisce tutti gli aspetti di accodamento dei messaggi e di consegna all’applicazione Android in esecuzione sul dispositivo di destinazione.
VantaggiTempestività con cui le informazioni vengono inviate e ricevuteRiduzione del traffico on-line Risparmio del consumo di batteria GCM è gratuito
Google Cloud Messaging (GCM)
Google Cloud Messaging (GCM)
Funzionamento
Il server dell’applicazione invia prima i dati ai server GCMIl server GCM invia una notifica a tutti i terminali AndroidI terminali Android ricevono il messaggio, si connettono al server, e quindi sincronizzano i dati.
Architettura
Comunicazione a scambio di messaggi
Tipologie
• comunicazione asincrona• comunicazione sincrona• remote invocation
Per la realizzazione del modulo per lo scambio di messaggi è stata utilizzata una comunicazione asincrona con server CCS (XMPP)
Vantaggi comunicazione asincrona Consente di inviare più messaggi con meno risorse
Comunicazione bidirezionale Utilizzo dello stesso collegamento usato per la ricezione, con
miglioramento della durata della batteria
Passi seguiti per la realizzazione dell’applicazione:• creare un nuovo progetto in Google Developers Console• ottenere una API Key per il server• scegliere il tipo di GCM Connection Server• ottenere l’approvazione da Google per l’accesso API• implementare server e client
Modulo applicativo per lo scambio di messaggi e notifche push, con server CCS (XMPP)
FunzionamentoSchermata iniziale con due possibili opzioni:
• “Register with Google GCM CCS Server”, permette la registrazione al Server CCS e l’ottenimento del RegID.
• “Send Message to XMPP Server”, consente di inviare un messaggio di notifica al server.
Modulo applicativo per lo scambio di messaggi e notifche push, con server javaMotivazioniNon è ancora stata ricevuta alcuna risposta per l’approvazione di Google, necessaria a testare il funzionamento del modulo presentato
Struttura dell’applicazioneclient :•verifica la corretta connessione con il server•permette la visualizzazione nel LogCat del RegId•riceve il messaggioserver java:•permette la creazione e l’invio di un messaggio al server GCM
FunzionamentoUna volta che il programma server sarà eseguito, si riceverà sul device una notifica da parte dell’applicazione che ha risposto al messaggio
Conclusioni
Nel lavoro proposto è stato descritto il funzionamento di un sistema per il carpooling , facendo riferimento all’applicazione Android “There I Go”.
La parte centrale del lavoro ha riguardato la progettazione di moduli applicativi per la registrazione ed il login, per la gestione delle preferenze, per lo scambio di messaggi e notifiche push di supporto alla suddetta applicazione.
I moduli realizzati aggiungono all’applicazione importanti funzionalità, permettendo agli utenti di personalizzare la propria esperienza di carpooling.
Grazie al modulo per lo scambio di messaggi è stato possibile aggiungere all’applicazione la possibilità di ricevere notifiche in tempo reale e gratuitamente.
Grazie per l’attenzione