Creare un servizio mobile e una tabella

18 marzo 2013

Le app iOS (le applicazioni mobile in generale) spesso sfruttano il client-server, sfruttando datacenter remoti per archiviare le informazioni e richiamandole all’occorrenza tramite chiamate web service. I vantaggi di questa architettura sono molteplici: dalla condivisione di risorse tra gli utenti allo spostamento di attività computazionali (anche complesse) su server dedicati.

Se a questo sommiamo una diffusione dei servizi cloud che spinge le maggiori società informatiche (come Apple, Google e Microsoft) a rilasciare le proprie le piattaforme cloud, diventa evidente la connessione tra le due tecnologie.

In particolare, lo scopo di questa guida è quello di fornire gli strumenti necessari a sviluppare un’applicazione iOS che effettui delle chiamate a Windows Azure, la piattaforma di cloud computing di Microsoft.

Questa piattaforma ci consentirà di creare servizi web utilizzando semplicemente l’interfaccia web messa a disposizione (non dovremo scrivere linee di codice, salvo in rari casi) e di creare una struttura dati di tipo relazionale (che possiamo vedere come un normalissimo database) per effettuare le più comuni operazioni quali inserimento, modifica, cancellazione e lettura.

Vedremo inoltre come, con semplice codice JavaScript, sia possibile aggiungere dei controlli di validazione sulle richieste che vengono effettuate dai client.

Registrazione

Per poter utilizzare le funzionalità offerte da Windows Azure è necessario creare un account; Microsoft consente sia la registrazione di un account gratuito (ovviamente con delle limitazioni) sia un account a pagamento.

Ovviamente per gli scopi di questo tutorial possiamo registrare un account gratuito; se possediamo già un indirizzo mail di Microsoft (live o hotmail) sarà sufficiente effettuare il login su questa pagina. Una volta entrati apparirà la seguente schermata che ci consentirà di attivare l’account Windows Azure:

Figura 1. Valutazione gratuita

Valutazione gratuita

Procediamo compilando i campi relativi alle nostre informazioni personali dopodiché inseriamo un numero di telefono al quale verrà inviato un codice di conferma e clicchiamo su “invia messaggi di testo”.

Figura 2. Ottenere il codice di conferma

Ottenere il codice di conferma

A questo punto l’interfaccia si aggiornerà mostrando un nuovo campo di testo per l’immissione del codice ricevuto tramite messaggio.

Inseriamo il codice, clicchiamo sulla freccia in basso a destra e, se il codice è corretto, apparirà un form per l’inserimento dei dati di una carta di credito:

Figura 3. Inserire la carta di credito

Inserire la carta di credito

L’inserimento di questi dati è per garanzia di identità ed è obbligatorio per poter utilizzare le funzionalità di Windows Azure anche se utilizziamo un account gratuito.

Per terminare la registrazione accettiamo le condizioni di utilizzo e clicchiamo su “Iscriviti”.

Creare un servizio mobile

Ora siamo pronti per creare il primo servizio che poi interrogheremo dalla nostra applicazione iOS. Andiamo sul pannello di amministrazione del nostro account Windows Azure:

Figura 4. Pannello di amministrazione Windows Azure

Pannello di amministrazione Windows Azure

Nella parte sinistra dell’interfaccia troviamo tutti i servizi che possiamo utilizzare, ma per il momento focalizziamo l’attenzione sui servizi mobili e clicchiamo su crea nuovo servizio mobile. Si aprirà la seguente schermata nella quale verrà richiesto l’inserimento di alcuni dati:

Figura 5. Creare un servizio mobile

Creare un servizio mobile

In particolare:

CampoDescrizione
URLindica il nome del sottodominio per il servizio mobile che vogliamo creare
Databaseviene richiesto di selezionare un database SQL. Dato che stiamo creando il nostro primo servizio mobile selezioniamo l’opzione create a new SQL database

Nel nostro caso creiamo il servizio articles, perché prevediamo di memorizzare e gestire articoli.

Terminata la compilazione del form clicchiamo sulla freccia in basso a destra e compiliamo il nuovo form che ci verrà mostrato come segue:

Figura 6. Impostazioni del database

Impostazioni del database

Analizziamo i campi del form più rilevanti:

CampoDescrizione
NomeIl nome che vogliamo dare al nostro database
ServerAnche in questo caso, dato che stiamo creando il primo servizio mobile, selezioniamo l’opzione nuovo server di database SQL
Nome di accesso e Passwordinseriamo uno username e una password per poter accedere al database

A questo punto clicchiamo sul check in basso a destra e dopo qualche secondo, la pagina relativa ai servizi mobili del nostro account Windows Azure, mostrerà le informazioni relative ai servizi presenti:

Figura 7. Riepilogo servizi mobili

Riepilogo servizi mobili

La procedura di creazione del servizio consente di realizzare esclusivamente l’infrastruttura del servizio stesso, ovvero abbiamo creato un punto di comunicazione tra il server (sul quale è presente il database che conterrà tutti dati) e l’applicazione iOS che chiederà di reperire i dati salvati proprio sul server.

Vedremo poi come aggiungere una tabella nel database dal quale il servizio attingerà i dati che verranno poi inviati all’applicazione iOS.

Windows Azure: pannello di amministrazione di un servizio mobile

Una volta creato il servizio Mobile che invocheremo dalla nostra applicazione iOS, dobbiamo collegare ad esso la struttura dati che consenta di salvare in maniera permanente le informazioni che vogliamo inserire.

Andiamo dunque nel managment portal e selezioniamo la voce di menu servizi mobili. La pagina mostrerà solo il servizio mobile articles, che abbiamo creato. È sufficiente cliccare sulla label articles per accedere al dettaglio del servizio mobile selezionato. La pagina mostrata sarà la seguente:

Figura 8. Dettaglio del servizio mobile

Dettaglio del servizio mobile

Il menu che troviamo in alto nella pagina ci permetterà di configurare il nostro servizio mobile secondo le nostre esigenze. Concentriamoci sulle prime due voci del menu: dashboard e dati.

Cliccando sulla voce dashboard si accede ad un vero e proprio riepilogo sull’utilizzo del servizio mobile selezionato, come possiamo vedere nello screenshot seguente:

Figura 9. Dashboard relativa al servizio mobile

Dashboard relativa al servizio mobile

Grazie a questa vista possiamo tenere sotto controllo l’utilizzo del servizio mobile, i dati in uscita, l’utilizzo della memoria e molto altro. Ovviamente i contatori relativi al nostro servizio sono tutti valorizzati a zero dato che non abbiamo fatto nessuna chiamata e quindi non c’è ancora stato uno scambio di dati tra applicazione e servizio.

Fatta una breve panoramica sulla dashboard, che approfondiremo una volta effettuati i primi scambi dati tra servizio e applicazione, clicchiamo sulla voce del menu dati, che mostrerà la lista di strutture dati, in particolare tabelle, che il servizio mobile utilizza per effettuare la memorizzazione dei dati:

Figura 10. Sezione ‘Dati’ del servizio mobile

Sezione 'Dati' del servizio mobile

Come possiamo vedere dallo screenshot ci viene notificato che non abbiamo ancora creato nessuna tabella per questo servizio.

Creare una tabella da associare al servizio mobile

È giunto il momento di creare la nostra prima tabella. Clicchiamo sul bottone Aggiungi una tabella; verrà mostrata la seguente interfaccia:

Figura 11. Creare una tabella

Creare una tabella

Come si vede, la maschera è divisa in due parti:

  • l’inserimento del nome della tabella, nel nostro caso scriviamo “articledata”
  • l’assegnamento dei vari permessi in relazione alle operazioni eseguibili sulla tabella (inserimento, aggiornamento, cancellazione e lettura). Ovviamente, per ognuna di queste operazioni, è possibile selezionare permessi differenti a seconda della criticità dell’operazione.

Facciamo una breve panoramica sui permessi assegnabili alle singole operazioni:

PermessoDescrizione
Everyoneè il permesso meno restrittivo e vincolante di tutti. Qualsiasi richiesta associata all’operazione (inserimento, modifica etc.) verrà accettata. Di conseguenza il modello di dati risulta totalmente aperto e dunque potenzialmente pericoloso
Anybody with the Application Keyle operazioni sulla tabella vengono eseguite solo se viene utilizzando l’application key. Affrofondiremo questo concetto quando creeremo l’applicazione iOS
Only Authenticated Usersconsente l’operazione solo se prima viene effettuata un’autenticazione. Anche in questo caso vedremo come autenticare un utente tramite l’applicazione iOS
Only Scripts and Adminsconsente l’operazione solo agli admins oppure agli script associati alla tabella. Ovviamente questo permesso è il più restrittivo tra quelli a disposizione

Fatta questa breve digressione sui permessi associati alle tabelle, per il nostro esempio impostiamo tutti i permessi a Everyone e clicchiamo sull’icona del check in basso a destra. La pagina effettuerà un refresh e ci verrà notificato che adesso il nostro servizio possiede una tabella:

Figura 12. Riepilogo dopo la creazione della tabella

Riepilogo dopo la creazione della tabella

Una volta creata la tabella sembra naturale inserire le colonne per darle una struttura. Questa operazione non è permessa tramite interfaccia web, ma sarà possible aggiungere colonne alla tabella esclusivamente tramite l’applicazione iOS (in maniera molto semplice) e vedremo come fare nelle prossime lezioni.

Vediamo ora invece come gestire una tabella. Clicchiamo sul nome della tabella (che appare nella schermata precedente) e accediamo al relativo pannello di amministrazione:

Figura 13. Pannello amministrazione di una tabella

Pannello amministrazione di una tabella

Analizziamo brevemente le voci di menu:

Voce di menuDescrizione
Sfogliamostra la lista dei record inseriti all’interno della tabella. Ovviamente nel nostro caso la tabella è vuota
Scriptmostra la lista di script associati alla tabella divisi per tipo di operazione (approfondiremo più avanti cosa sono e come possono essere utilizzati gli script)
Colonnemostra la struttura della tabella
Autorizzazioniconsente la modifica dei permessi associati alle operazioni della tabella

Al momento ci interessa esclusivamente capire la struttura della tabella che abbiamo creato, presumibilmente vuota dato che non abbiamo inserito nessuna colonna. Cliccando sulla voce Colonne noteremo una particolarità:

Figura 14. Struttura della tabella

Struttura della tabella

Come possiamo vedere è presente una colonna id; tale colonna viene generata automaticamente in fase di creazione della tabella e rappresenta la primary key della tabella stessa.

A questo punto il lavoro sul pannello di amministrazione di Windows Azure è terminato e possiamo dedicarci alla creazione dell’applicazione iOS.

Uno speciale ringraziamento va a Eva Gjeci di Microsoft per l’aggiornamento di parte di questa pagina

Tutte le lezioni

 

1 2 34

Se vuoi aggiornamenti su Creare un servizio mobile e una tabella inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Creare un servizio mobile e una tabella

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy