• Non ci sono risultati.

3.8 Windows Azure platform

4.1.3 Client Mobile

L’applicazione client deve essere eseguire sul sistema operativo Windows phone 7. Essa si interfaccia con il servizio al fine di recuperare i dati e visualizzarli all’utente.

Di seguito vengono riportati i requisiti che tale applicazione deve rispettare:

R_M_1:l’applicazione deve eseguire su dispositiviWindows Phone 7;

R_M_1.1:l’applicazione deve essere sviluppata su piattaforma Silverlight;

R_M_2:l’applicazione deve interfacciarsi con il servizio per ottenere i dati da visualizzare;

R_M_3:l’applicazione deve mostrare i dati esposti dal servizio;

R_M_3.1:l’applicazione deve visualizzare le immagini esposte dal servizio;

R_M_3.2:l’applicazione deve visualizzare la data e l’ora in cui l’immagine è stata catturata dalle webcam;

R_M_3.3:l’applicazione deve visualizzare le immagini ordinate secondo la data è l’ora in cui sono state catturate;

R_M_4: l’applicazione deve mantenere in memoria un numero consono di immagini;

R_M_5:l’applicazione deve aggiornare periodicamente le immagini in memoria;

R_M_5.1:se si è raggiunto il numero massimo di immagini mantenibili in memoria l’applicazione deve preoccuparsi di eliminare le immagini meno recenti;

R_M_5.2:l’aggiornamento va eseguito ad intervalli regolari;

R_M_6: l’applicazione deve prevedere due modalità di visualizzazione delle immagini;

R_M_6.1:l’applicazione deve rendere disponibile una modalità di visualiz-zazione dove l’utente può scorrere tra le immagini attualmente presenti in memoria;

R_M_6.2:l’applicazione deve rendere disponibile una modalità di visualiz-zazione delle immagini dove viene visualizzata sempre l’immagine più recente;

45 45 di 87

R_M_7: le interazioni con il servizio non devono in alcun modo rallentare o appesantire l’interazione con l’utente;

R_M_7.1: le interazioni con il servizio devono essere eseguite tutte on maniera asincrona;

R_M_8:l’applicazione deve gestire il caso in cui il servizio risulti non disponibile all’inizio o durante dell’esecuzione;

R_M_9: l’applicazione deve implementare politiche che permettano all’appli-cazione di essere sospesa e successivamente riattivata;

R_M_9.1:al momento della riattivazione l’applicazione deve presentarsi graficamente come al momento della precedente chiusura.

Capitolo 5

Definizione Soluzione

Dato il problema precedentemente esposto e i requisiti emersi in fase di analisi è stato scelto di andare a creare una soluzione che rispetti alcuni importanti principi:

la soluzione è sviluppata su piattaforma .NET;

la soluzione deve minimizzare il TCO;

• la soluzione si compone di tre macro componenti: un servizio, un client desktop e un client windows phone 7;

• per la gestione e l’esposizione del servizio ci si appoggia su Windows Azure AppFabric;

il servizio è di tipo on-premise e la comunicazione con i client verrà gestita grazie aWindows Azure AppFabric service bus.

Il servizio va ad esporre metodi per l’acquisizione di un feed contente i link alle immagini scattate, la loro data e la loro descrizione, ed inoltre va ad esporre le immagini stesse ai quali i link fanno riferimento. Tale feed può essere letto dai client che, nel caso del client desktop e del client WP7, possono quindi ottenere una lista di riferimenti alla immagini disponibili e quindi decidere come gestire tali dati. L’imple-mentazione del servizio avviene tramite tecnologiaWCFil quale permette di esporre un endpoint la cui comunicazione viene gestita tramiteWindows Azure Service Bus permettendoci quindi di ospitare il servizio all’interno di un qualsiasi computer. Per rendere il servizio interpolabile e consumabile da una vasta varietà di client si utilizza il protocollo REST, che non rende necessario l’utilizzo di particolari tecnologie per accedere al servizio. In questo modo diventa consumabile da qualsiasifeed reader e anche da semplice browser. In figura Figura 5.1 è riportato uno schema riassuntivo della soluzione.

5.1 Vantaggi di Windows Azure AppFabric Service Bus

La scelta che maggiormente influenza la soluzione proposta è di certo l’utilizzo di Windows Azure AppFabric Service Busper gestire la comunicazione tra i vari compo-nenti. Le possibili soluzioni al problema sono molteplici, ad esempio l’utilizzo di una VPN per il collegamento con i client. Soluzioni alternative come questa presentano

svantaggi cheWindows Azure AppFabric Service Buspermette di superare.

L’utilizzo di una VPN porta con sè alcuni importanti problemi. Il primo è sicura-mente la necessità di andare ad effettuare installazioni di componenti esterni per

47

Figura 5.1: Schema riassuntivo soluzione.

istanziare la VPN, sia all’interno del dispositivo ospitante il servizio, sia all’interno del dispositivo consumatore del servizio. Inoltre, a seguito dell’installazione, sarà necessario eseguire delle configurazioni, anche a basso livello. Questo crea anche un ulteriore limitazione di utilizzo, tutti i software dovranno collegarsi attraverso la VPN creata (a meno di non avere più schede di rete).

Tutti questi problemi con Windows Azure AppFabric Service Busnon si presentano, infatti non è necessario installare software diversi dal client che si vuole utilizzare per consumare il servizio, non è necessario eseguire alcuna configurazione, e quindi non va in alcun modo a modificare le impostazioni di connessione, non andando ad interferire con altre applicazioni che utilizzano la rete. Viene anche assicurata la sicurezza che offrono le VPN grazie anche a Windows Azure Access Control. ConWindows Azure AppFabric Service Busè inoltre possibile anche evitare problemi riguardanti la configurazione della rete stessa, infatti non si necessita nè di modificare in alcun modo le impostazioni di eventuali dispositiviNATnè di aggiungere eccezioni a firewall.

Inoltre utilizzando Service Busnon dovremmo preoccuparci della posizione geografi-ca del dispositivo che ospita il nostro servizio, in quantoWindows Azure AppFabric Service Bus crea in automatico un indirizzo che è completamente indipendente dal dispositivo che esegue l’host del servizio e dalla sua posizione geografica.

La scelta di creare un servizio RESTFulè data dal fatto di voler rendere l’interazione con il servizio possibile alla quasi totalità dei client. L’utilizzo del paradigma REST permette anche a client poco complessi di accedere al servizio, senza che ci sia necessità di utilizzare una particolare tecnologia. La possibilità, fornita dall’architet-tura REST, di accedere al servizio tramite semplici URI permette di consumare il servizio anche tramite il solo browser. Vista la necessità, sorta in fase di analisi, di creare un servizio che potesse essere consumato da tre client diversi si è ritenuto opportuno creare un servizio fortemente interpolabile, e utilizzabile non solo dai client espressamente richiesti, ma anche da qualsiasi altra applicazione capace di interfacciarsi tramite il semplice protocollo HTTP. Tale scelta ha inoltre portato a creare client meno complessi e quindi più facili da sviluppare e mantenere.

La scelta di usareWindows Azure AppFabric Service Busè stata fatta per ottenere

Luca Pasa5.1. VANTAGGI DI WINDOWS AZURE APPFABRIC SERVICE BUS benefici anche dal punto di vista economico. Uno dei maggiori vantaggi che vengono offerti è la possibilità di pagare in base a ciò che viene usato eliminando cosi la necessità di operare politiche di provisioning. Oltre quindi ad evitare i rischi di sovradimensionare, o ancora peggio di sottodimensionare le previsioni del numero di connessioni necessarie è anche possibile evitare costi iniziali, dovuti ad esempio all’affitto o all’acquisto di uno o più server.