(3) RETI E ARCHITETTURE
Architettura
Mobile Station
Mobile Device
Sim
BTS Base Transceiver Station (Antenna)
BSC Base station Controller
Network Subsystem
Potenza diminuisce con la distanza
Ostacoli (ambiente fisico)
Utilizzo del canale
Intervallo di frequenze per ogni tecnologia
Comunicazione con onde radio
Numero limitato di portanti (unlink e downlink)
FDM
TDM
Session Handover
Comunicazione in mobilità
Connessione assente
Cambio di connessione (e di ip) da wifi a connessione dati
Non c'è session Handover
Connection less (HTTP)
Connection oriented (TCP)
Architettura three-tier
Per il web
Verso applicazioni
Browser, Web Serve, DB
Risposta Dati e formattazione
Applicazione, Web Service, DB
Risposta SOLO DATI (codificati in XML o JSON)
Web App soluzione
Scrivo una web app che si interfaccia con il web service con le stesse chiamate delle app
Protocollo Connection - less
Codifica dell'informazione
XML Extensible Markup Language
JSON
Human readable
Ben formattato
Tutti i tag aperti e chiusi
CONTROLLA GLI ALTRI CRITERI
Contro
Verboso
Non facilmente leggibile
Migliore Verbosità
Migliore leggibilità
Definisce entità
Definisce oggetti
Entrambi in quanto dati hanno lo stato MA NON IL COMPORTAMENTO (non sono codice html)
Inserire/ Prelevare Dati
Serializzare (marshalling)
Deserializzare (unmarshalling)
Gson
Soluzione Google per la serializzazione e de-serializzazione automatica degli oggetti
Codifica dati binaria (Base64)
Trasformo la codifica binaria in lettere
Protocol Buffer
Comunicazione Asincrona
Comunicazione asincrona problemi (richiedono esecuzione in Background)
Mantenere comunicazione aperta via TCP
Non va bene, vogliamo Connection less
Client in attesa (Es Socket)
Client non dovrebbe rimanere in attesa
Client fa polling
Costoso in termini di banda e di CPU
Protocollo Bosh
PUSH NOTIFICATION
Componenti:
Utente
SO sul device
App che deve ricevere la notifica
Push server (Es. Di apple o google)
App server (server che vuole inviare il messaggio come Whatsapp)
DeviceToken
identificatore di una coppia device-applicazione
È un’informazione cifrata, che non può essere modificata
Se utente acconsente alle notifiche
So contatta il push server
Push server: crea il device Token
Push server: memorizza e invia il device Token
S.O. invia il device token all'app (localmente)
Fasi della Push Notification
Setup
Invio notifica
App server comunica a push server device token e payload
Push server controlla validità del token e invia al S.O. la notifica
Perchè è cos' complicato? Evita:
Spamming
Impersonificazione
Messaggi indesiderati
Flooding
Notifiche Push Locali sono generate dal S.O.