Windows Mobile
Architettura di una soluzione mobile
Fabio Santini
[email protected]
www.fsantini.net
http://blogs.msdn.com/fabiosantini
Agenda






Perchè una soluzione mobile
Scelta della tecnologia e del dispositivo
Domande
Strategie per la gestione dei dati
Strategie per l’installazione e
l’aggiornamento dell’applicazione
Aspetti che si sottovalutano sempre 
Perchè una soluzione mobile
Cosa si intende per soluzione mobile
Ci sono tre aspetti importanti che chi
sviluppa un’applicazione mobile deve
tenere in considerazione:
 Tempo


Spazio


L’utente deve poter usare l’applicazione
quando vuole
L’utente deve poter utilizzare
l’applicazione in ogni luogo
Condizione

L’utente deve poter utilizzare
l’applicazione in ogni condizione
Quando pensare ad un’ applicazione
mobile




Tempo+Spazio+Condizione=Mobile
A seconda del target
Quando le informazioni servono “sul
campo”
Quando si può riutilizzare un asset già
presente (es. cellulare)
Server Side o Smart Client
Domanda principale

Server
Side
?


Smart
Client



Abbiamo il controllo del
dispositivo ?
Possiamo installare e gestire
le nostre applicazioni sul
dispositivo? Ne abbiamo il
diritto ?
Quanto spesso viene
utilizzata la nostra
applicazione?
Abbiamo bisogno di
interfacce grafiche
particolari?
La nostra applicazione deve
funzionare anche senza
connetività?
La connessione è costosa?
Server Side
Vantaggi
Svantaggi




Funziona su ogni
dispositivo 
Difficile gestione
dell’interfaccia
grafica
Necessita di una
connessione
continua
Informazioni
trasferite >
Informazioni
necessarie
Smart Client
Vantaggi



Non necessita di
una connessione
continua
Ottimizzazione dei
costi di
trasferimento dei
dati
Permette una
gestione completa
dell’interfaccia
grafica
Svantaggi



Funziona solo su
alcuni dispositivi
Complesso il
deployment e la
manutenzione
dell’applicazione
Spesso è
necessario
cambiare il
dispositivo
Scegliere il dispositivo giusto
Voice
Real-time
messaging


SMS, MMS
MSN Messenger
Smartphone
Managed
Native
E-Mail
Business
applications


Mobile Office
Business
Pocket PC
Tablet PC
CF 2.0
Visual Studio .NET
+ .NET Compact
Framework
Visual Studio .NET
+ .NET Framework
eVC++
eVC++
Visual Studio .NET
with Visual C++ .NET
Caratteristiche importanti
Come l’applicazione utilizza il device
Shared
• convive con altre
• dialoga con le altre
• interfaccia consistente
• installazione per l’utente
• risorse HW-SW condivise
• conforme alle guidelines
• logo-compliant? probabile
Domande















Chi sono i miei utenti?
Quanti sono?
Come sono distribuiti sul territorio?
Come lavorano adesso?
Quanto il dispositivo mobile sarà percepito come un peso?
Che tipo di dati trattano?
Quanto sono importanti le informazioni che vengono
scambiate?
Tutti vedono tutto ?
Come si collegheranno alla sede?
Condivideranno gli stessi dispositivi?
Lavoreranno in condizioni particolari?
Hanno già un dispostivo mobile?
Oltre al lavoro principale possono trarre ulteriori vantaggi da
un dispositivo mobile?
Quanto “sentono” importante l’invio dei dati?
…
Chi sono i miei utenti

Hanno confidenza con la tecnologia


Impatto sull’interfaccia grafica
Impatto su eventuali servizi aggiuntivi




Posta elettronica
Documenti
etc.
Fanno un lavoro manuale



Impatto sull’interfaccia grafica
Impatto sulla scelta del dispositivo
Impatto sul costo totale (ampio
magazzino di backup )
Quanti sono
Come sono distribuiti sul territorio

La distribuzione sul territorio
condiziona la maggior parte delle
scelte logistiche


Dove e come si connettono gli utenti per
inviare le informazioni
Dove dare il primo supporto in caso di
failure



hardware
software
Come effettuare la prima installazione e
gli aggiornamenti software
Come lavorano adesso

Questo è uno degli aspetti più
interessanti, per avere successo un
applicazione mobile deve essere il
meno invasiva possibile


Utilizzano materiale cartaceo o altro
Se si, gli servirà anche quando
utilizzerano il dispositivo
(es. Cataloghi prodotti)
Quanto il dispositivo mobile sarà
percepito come un peso

Gli utenti trarranno vantaggi reali
dall’utilizzo dell’applicazione mobile o
è solo l’azienda che avrà un profitto


difficile accettazione della soluzione
anche se perfettamente funzionante
Tentare di aggiungere un valore
personale all’uso del dispositivo

Posta Elettronica, o Agenda
Che tipo di dati trattano
Quanto sono importanti le
informazioni che vengono scambiate

La domanda che dobbiamo porci
sempre è : è più importante ricevere le
informazioni dalla sede centrale o
inviarle ?
 cambiano le strategie di scambio dei
dati
 cambiano le strategie di
connessione
Tutti vedono tutto

Quanti conflitti avremo durante lo
scambio dei dati? Come facciamo ad
assicurarci che le informazioni negli
archivi siano affidabili?



La maggior parte delle applicazioni per
esperienza personale condivide una mole
di dati molto piccolo, spesso inesistente
Se serve forzare la mano o duplicare le
informazioni
Attenzione alla privacy !!!!!
Come si collegheranno alla sede

Quale tipo di connessione verrà
utilizzata?

LAN


Wireless



attenzioni ai costi
Edge


ormai i dispositivi hanno il wireless integrato
GSM/GPRS


usando per esempio schede CF Ethernet
ancora abbstanza giovane
UMTS
Cable
Condivideranno gli stessi
dispositivi

Spesso accade che gruppi di persone
condividano lo stesso dispositivo



Gestione multiaccount
schede di memoria più grandi (sullo
stesso dispositivo ci finiscono dati di più
utenti)
attenzione alla privacy !!!!
Lavoreranno in condizioni
particolari

Non pensare ad un’applicazione che
viene utilizzata da una scrivania





scarsa visibilità
ambiente ostico
(cantine, mansarde, all’aperto)
condizioni del tempo
La scelta del dispositivo è
fondamentale
L’interfaccia grafica potrebbe cambiare
Hanno già un dispostivo
mobile

La difficoltà di accettare un dispositivo
mobile è molto più alta se gli utenti ne
hanno già uno



due “oggetti” da caricare
più responsabilità
Pensare alla sostituzione invece che
all’affiancamento

Phone + Palmare < Palmare Phone Edition
Oltre al lavoro principale possono trarre
ulteriori vantaggi da un dispositivo mobile

Un buon modo di far accettare il
dispositivo è quello di aggiungere alla
propria applicazione altri servizi




Posta
Calendario
altro software
Anche se si forza l’adozione, il
successo del progetto sarà sempre
dipendente dalla volontà degli utenti
Quanto “sentono”
importante l’invio dei dati

I dati che vengono inviati dai
dispositivi verso la sede centrale sono
importanti per l’utente

hanno impatto sul suo stipendio?


bonus su vendite , altro
Se i dati sono importanti per l’utente
sarà disposto ad effettuare una
sincronizzazione costante ma sarà
anche più frustrato in caso di
fallimento
Come sincronizzo i dati ?


Non pensate subito ad una replica
complicata
Dipende da tanti fattori






ogni quanto cambiano
sono condivisi
quanto sono grandi
quanto sono importanti
che tipo di infrastruttura server ho a
disposizione
che tipo di connettività ho a disposizione
Come sincronizzo i dati ?

Utilizzo FTP

i dati locali possono essere gestiti in
qualunque modo




File di Testo
File XML
SQL Server CE
i dati vengono trasferiti da e verso la sede
tramite un semplice ftp


necessaria sempre un importazione ed
esportazione
utilissimo quando la connessione ha una
banda bassa (GRPS sfrutta meglio una
connessione continua)
Come sincronizzo i dati ?

Utilizzo FTP e Web Service

Scarico i dati principali via FTP



dati che cambiano raramente (elenco
provincie)
necessaria una importazione che però risulta
più semplice per l’assenza di gestione del
conflitto
Invio le modifiche tramite Web Service

Maggior controllo della sincronizzazione



Integrazione immediata dei dati
gestione degli errori
Necessaria una infrastruttura pubblica

Attenzione alla sicurezza !!!
Come sincronizzo i dati ?

Utilizzo Web Service




La quantità di dati da scambiare deve
essere minima
Tipico per attività puntuali
Controllo completo del flusso dei dati
Sicurezza


https
autenticazione
Come sincronizzo i dati ?

Utilizzo RDA di SQL Server CE





Ottimo per scarico+attività+carico
E’ necessario avere il minor numero di
conflitti possibile
Poche righe di codice
Necessario SQL Server sul back end
Utilizza Http (molto importante)
Come sincronizzo i dati ?

Utilizzo Replica di SQL Server



Gestione più completa dei dati
Gestione dei conflitti
Comunque il sistema più complesso
Come sincronizzo i dati ?

E’ importante avere sempre una
soluzione di backup per il
trasferimento dei dati. Per esempio se
si sceglie di utilizzare la
sincronizzazione di SQL Server
garantire anche il trasferimento FTP
dei dati
Come installo l’applicazione ?

La tecnologia scelta è importante

eVC



L’installazione è una semplice copia di file
Qualunque palmare con Windows CE è già
pronto per far girare applicazioni C++
.NET

Se il dispositivo ha on-board il .NET CF allora
si tratta semplicemente di una copia altrimenti
è necessario installare il framework (utilizzare
il setup presente nell’SDK)
Come installo l’applicazione ?

Il sistema migliore per installare l’applicazione
è quello di utilizzare delle schede di
espansione come Compact Flash o Secure
Digital






Posso installare l’applicazione da zero in ogni
istante
Autorun durante l’inserimento della scheda
L’installazione porta con se anche i dati iniziali (per
utente)
La scheda deve essere usata anche per
memorizzare le informazioni
Se un palmare si resetta (batteria scarica o altro) è
sufficiente fornire all’utente una nuova scheda di
memoria (semplificazione del processo di
assistenza)
Se l’utente non è in grado di sincronizzare i dati ma
è fondamentale che questi arrivino in sede ha
sempre la possibilità di spedire la scheda
Aspetti che si sottovalutano
sempre


Il palmare non è un pc
E’ facile perdere la penna


La batteria deve essere ricaricata


Utilizzo di strumenti alternativi come
cacciaviti o altro 
Perdita di tutti i dati e dell’applicazione
Il palmare è comunque uno strumento
fragile (a meno di considerare l’utilizzo di
gusci di protezione) e quindi è
necessario pensare ad
un’approvigionamento rapido
Conclusioni
Gli strumenti ci sono….si tratta solo di usarli nel modo corretto 
© 2003 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Scarica

Windows Mobile Architettura di una soluzione mobile