Utilizzare Windows Azure Mobile Service come back-end e push notification per le nostre mobile app

di Cristian Civera, in Windows Azure,

Lo sviluppo di applicazioni mobile è un'attività sempre più diffusa, grazie al largo uso dei dispositivi come smartphone e tablet. Tutte le tipologie di piattaforme disponibili sul mercato hanno un loro framework di sviluppo e permettono di creare applicazioni in codice nativo o con virtual machine e molte di queste si contraddistinguono dal fatto che necessitano di servizi remoti per interrogare o memorizzare informazioni. Oltre ai servizi, per risparmiare e ottimizzare al massimo l'uso della batteria, le piattaforme mobile dispongono di un meccanismo di push notification che invertono il modello basato su polling, in modo che siano i servizi a notificare la presenza di nuove informazioni, attraverso un unico canale di comunicazione gestito dal sistema operativo.

Supportare questi scenari non è banale, perché richiede anche lo sviluppo di un'infrastruttura server, con servizi, back-end, database, un sistema stabile, e soprattutto scalabile, che garantisca le prestazioni e l'affidabilità delle push notification. Per uno sviluppatore occasionale o un hobbista non è certamente facile e tutto ciò richiede anche un sostegno economico per mantenere attivo il tutto.

Per venire incontro a questa esigenza disponiamo però di un nuovo alleato all'interno della piattaforma Windows Azure: Mobile Service. Con questo strumento sono semplificati l'implementazione di un back-end e del meccanismo di push notification a prezzi molto accessibili e variabili a seconda delle esigenze. In questo articolo affrontiamo questo nuovo servizio con un caso reale di applicazione che ci permetta di affrontare tutte le sue caratteristiche.

Configurazione iniziale

L'applicazione di esempio che vogliamo sviluppare ha l'intento di mandare notizie sportive alle persone che utilizzano la nostra applicazione. All'utente che apre l'app proponiamo di specificare gli sport di suo interesse e tramite una console amministrativa mandiamo le notizie via push notification. Per raggiungere questo scopo, prima di tutto, dobbiamo sottolineare che Mobile Service è un servizio basato sull'infrastruttura di Windows Azure, ma che permette di lavorare con il back-end tramite richieste REST, dispone di diversi SDK e supporta il sistema di push notification per le Windows Store app, Windows Phone 8, iOS e presto anche Android. In questo articolo restiamo nel mondo .NET e creiamo una Windows Store app, sebbene molti concetti e molti aspetti sono identici indipendentemente dalla piattaforma client.

Per iniziare partiamo dal portale di gestione di Windows Azure accedendo alla sezione mobile services. Se questa sezione non è disponibile dobbiamo andare nella gestione del nostro account e richiedere l'accesso a questo servizio, attualmente in preview, attraverso la sezione di anteprima delle funzionalità.

Premendo "new" ci viene chiesto l'indirizzo del nostro servizio: è pubblico e servirà per accedere ai servizi di back-end.

Viene inoltre richiesto il SQL Database da utilizzare, che possiamo creare sul momento o utilizzarne uno esistente. Questa parte è fondamentale perché Mobile Service poggia su un database SQL ospitato sempre dalla piattaforma di Windows Azure, i cui costi dipendono dalla versione e dalla dimensione dei dati che memorizziamo. Creata la sezione viene proposto quale sistema vogliamo supportare: Windows Store, Windows Phone 8 o iOS. Contrariamente a quanto possiamo pensare, non è una scelta che determina quale piattaforma vogliamo supportare, ma che semplicemente ci guida con tutorial ed esempi all'implementazione su quella specifica piattaforma.

Possiamo quindi ignorare la pagina e accedervi in un secondo momento per poter scaricare SDK di ogni piattaforma client. Nel pannello abbiamo varie sezioni per gestire e configurare alcuni aspetti che affronteremo. Possiamo però già vedere che attraverso la sezione scale siamo in grado di scegliere se il servizio vive in una macchina condivisa con altri servizi, oppure se riservare una o più CPU a questo scopo. In quest'ultimo caso possiamo anche scalare e aumentare il numero di istanze (i server) che mettiamo a disposizione per rispondere alle richieste. Anche per quanto riguarda il database possiamo scegliere la versione web o business, che determina la dimensione massima del database e il numero di core utilizzati. Tutte le impostazioni di questa sezione possono essere modificate in qualsiasi momento e determinano l'effettivo costo di utilizzo. Attualmente in un ambiente condiviso il servizio è gratuito, ma invitiamo a controllare la previsione di costi accedendo al calcolatore. Configurato il servizio possiamo procedere alla creazione del client.

Back-end da una Windows Store app

Per procedere alla creazione del client dobbiamo installare l'SDK, raggiungibile a questo indirizzo che installa le librerie per le Windows Store e per Windows Phone 8. Creato il progetto in Visual Studi 2012, possiamo referenziare tali librerie attraverso il menu add reference, come nella figura.

Nella DLL troviamo una classe fondamentale, di nome MobileServiceClient che dispone di tutte le funzionalità esposte da Mobile Service. La principale è costituita dal fatto che possiamo facilmente creare un back-end per memorizzare informazioni in forma tabellare, ma senza le problematiche dei database relazionali: lo schema è flessibile e non ci sono foreign key. I servizi sono raggiungibili via REST e il formato di scambio è JSON. Disponiamo inoltre dei metodi più comuni di ordinamento, ricerca e paginazione.

4 pagine in totale: 1 2 3 4
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc