Logo ImpresaCity.it

App mobili e gestione dati: è questione di approccio

La reattività delle app mobili dipende anche da come gestiscono i dati, in equilibrio tra cloud e storage locale

Autore: Redazione Impresacity

Attraverso le app mobili transita buona parte della nostra vita digitale e non è esagerato dire che il successo delle aziende e dei loro servizi passa anche attraverso l'efficacia delle loro app. Forse non si abbandona una banca perché la sua app di mobile banking non funziona al meglio, ma l'ipotesi non è nemmeno così astrusa.

Il buon funzionamento e la reattività di una app mobile derivano dall'architettura sottostante per la gestione dei dati. Nella stragrande maggioranza dei servizi erogati via app i dati sono gestiti sia dialogando con un database centralizzato in cloud sia con una memorizzazione in locale. Sarebbe infatti impossibile avere prestazioni adeguate se un'app si affidasse sempre e solo alla memorizzazione dei dati in cloud.

Raramente un'azienda, magari una startup, sviluppa da zero un suo sistema per la sincronizzazione e la memorizzazione dei dati delle app mobili. Di norma usa quelli offerti in PaaS dai principali cloud provider, da scegliere valutando le loro caratteristiche.

smartphone.jpg
Una delle principali è l'approccio alla soluzione degli inevitabili conflitti. Quando più dispositivi modificano gli stessi dati simultaneamente, il sistema deve decidere quale modifica accettare. L'approccio più immediato - ma non sempre più corretto - è la gestione delle modifiche in ordine cronologico. Altri sistemi privilegiano il dispositivo che ha eseguito più modifiche nel lasso di tempo prima del conflitto.

Ci sono anche ulteriori strade possibili, è comunque importante che la risoluzione dei conflitti non sia solo automatica ma dia modo all'utente di scegliere cosa privilegiare.

Altro elemento chiave è la sicurezza delle informazioni. Indipendentemente dal modello adottato (classicamente relazionale o NoSQL) i dati più importanti e sensibili devono essere sempre protetti con procedure di autenticazione per utenti e dispositivi e con la cifratura sia in locale (su server e client) sia in transito. Molti servizi prevedono anche accessi anonimi, quindi l'autenticazione in sé potrebbe non bastare: serve anche un filtro su quali dati un utente può effettivamente consultare.

tablet.jpg
La natura del singolo servizio impone anche la logica da seguire nel garantire il funzionamento offline dell'app. E' una questione di topologia. Di norma il singolo dispositivo dialoga direttamente con i server in una architettura a stella, dunque per il funzionamento offline basta conservare i dati in locale sino alla prossima sincronizzazione.

Altri sistemi sono più articolati perché ammettono che i device possano scambiarsi dati anche quando non sono collegati ai server ma sono connessi fra loro. Questi scambi possono avvenire in logica peer-to-peer (con sincronizzazione diretta) oppure con una sorta di topologia ad albero in cui un nodo più importante fa da "quasi server" per gli altri.
Pubblicato il: 28/09/2017

Tag:

Cosa pensi di questa notizia?

Speciali

speciali

Red Hat Open Source Day, il futuro ha il sapore dell’open source

speciali

L’affermazione della stampa 3D tra prototipazione e produzione