SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
1
Windows Phone 7 Sync
application on Azure
David Allaigre
Lead Solution Internet
Digital Marketing
Avanade
2
Objectifs de la session
Découvrir comment concevoir une application
« Offline » ready.
Découvrir comment utiliser le Sync Framework
4.0
Découvrir comment utiliser la plateforme Azure
pour une application « Offline » Ready.
Gagner du temps en s’évitant quelques
problèmes !
3
Un peu d’histoire !
L’ère du mainframe :
Application 1 Tiers : l’écran est déporté !
L’ère de la micro informatique :
Application 2 Tiers : on externalise la base de données.
L’ère du réseau et de l’internet :
Application 3 Tiers : Base  Middle Service (Serveur Web) 
Client (Browser)
L’ère de la mobilité & du cloud:
Application n tiers, explosion des applications multi devices.
Disparition du stockage on « promise », développement des
offres « Software as a Service »
4
Mais un vieux problème
Comment résoudre les problèmes liés à la
mobilité :
Une promesse intenable : Une connexion partout et à
un prix acceptable !
Les applications full web n’ont plus d’intérêt sans
connexion :
Transformer son smartphone en brique inutile : les
joies du « roaming » 
5
Des solutions ?
Comment toujours avoir les
« données » nécessaires à son
application même hors
connexion.
Garder les données sur soi ! Ex les
contacts téléphoniques
Copier les données avant mobilité
sur le device et les recopier au
retour : ex fichier Access  Excel
Utiliser la réplication de données :
SQL Replication ou rejouer un
fichier de transaction
Offline Client
Server / Service
Remote
Store
Local Data
Cache
Client App
Sync
6
Sync Framework
Sync
Simple protocol
(OData & Sync)
Minimal client &
store
requirements
Windows Server / IIS
Sync
Endpoints
Auth / Mgmt
/ Bus Logic
SyncFx
SQL Server
Windows Azure
Sync
Endpoints
Auth / Mgmt
/ Bus Logic
SyncFx
SQL Azure
Easy to develop the
sync endpoints
Client API
support
Architecture générale
7
Sync Framework
Isolated
Storage
Provider
Silverlight Offline
Application
OData Sync
Proxy
Cache
Controller
Isolated
Storage Sync Logic
Collections
Silverlight Offline Client
Windows Azure Application
SQL
Azure
SQL
Azure
Provider
Sync
Logic
OData Sync Endpoint
Busines
s Logic
Architecture Silverlight
8
De la méthode
Le « offline ready » doit être pris en compte dès le départ
Il n’est pas possible d’accéder à la base de façon totale:
Problème de sécurité: avoir une copie de données auxquelles
on ne devrait pas accéder.
Problème de stockage sur le device
On va partitionner notre base par table et par ligne.
On ne synchronise qu’une partition.
On accepte l’idée d’avoir de l’info en double dans la
base pour des gains de performance et s’éviter des
tables de liaisons à synchroniser.
9
Pour des raisons de santé mentale !
Le développement d’applications « offline » ready
suivra une montée en charge de la difficulté :
Etape 1 : Création d’une base SQL locale, d’un service
de synchronisation local et d’un client facilement
débuggable (ex Silverlight)
Etape 2 : On externalise sur le cloud la base SQL
Etape 3 : On externalise le service sur le cloud
Etape 4 : On passe sur des clients moins facilement
débuggables ex WP7.
10
Le scénario de la démo
Une application de « Wishes list » :
Un utilisateur peut créer et manager sa liste en mode
online  Offline
Les entités :
User : Entité représentant les utilisateurs
WishList : Entité représentant les listes de vœux
Wish : Entité représentant les vœux
Connected : Entité permettant de donner accès a
sa liste de vœux à d’autres utilisateurs
11
Etape 1: Génération du fichier de
config
Après installation du sdk
Dans le répertoire : Microsoft SDKsMicrosoft Sync
Framework4.0bin
SyncSvcUtil : outil en ligne de commande
SyncSvcUtilHelper : GUI du même outil.
L’outil va permettre :
De générer le fichier de config
De provisionner la base
De générer les proxys
12
Etape 1 : Génération du fichier de
config
Le fichier de config contient :
La structure des données
Les informations de localisation des données
Le partitionning des données
13
Etape 2 : Provisionning de la base
Le provisionning consiste en la génération de
tables au sein de la base pour la gestion de la
synchonisation.
L’opération de provisionning est réversible à tout
moment.
14
Etape 3 : Génération des fichiers pour
le serveur et les clients
Côté serveur :
OData Service + génération des entités
Modification des fichiers serveurs pour inclure la
configuration et les informations de partitionning
Côté client :
Au choix : dans le cas de la démo l’isolateStorage
15
Etape 4 : Utilisation des proxy client
Les principales fonctions :
Pour le stockage local :
OfflineContext.Load  LoadAsync
OfflineContext.ClearCache
OfflineContext.AddItem  DeleteItem
OfflineContext.SaveChanges
OfflineContext.CancelChanges
Pour la synchronisation
OfflineContext.CacheControler.IsBusy
OfflineContext.CacheControler.RefreshAsync
Attention : Bien utiliser le dispatcher car potentiellement les
retours sont dans des threads différents
16
Etape 4 : Utilisation des proxy client
LoadAsync : Chargement des
données depuis le storage local
Erreur? ClearCache, RefreshAsync
AddItem  Modify Item  Delete
Item
Save Changes
Action cliente : Sync
RefreshAsync
17
Etape 5 : Déplacement vers SQL Azure
Attention dès le départ :
Certains datatypes n’existent pas : GUID !
L’utilisation de SQL Azure est très similaire à SQL Server.
Sync framework 4.0 est compatible avec SQL Azure de
manière native.
18
Etape 6 : Déplacement du service
Il s’agit d’un simple projet web offrant un web service sur
un binding webHttpBinding…
Mais cela ne marche pas comme nous le voudrions :
Sync Framework 4.0 est basé sur Sync Framework 2.1
Sync Framework 2.1 utilise une dll COM qu’il faut
registrer
-> On utilise donc un code dans le WebRole. OnStart
pour « registrer » la dll.
19
Etape 7 : Connection du WP7 vers le
cloud
Peu de différence avec la version Silverlight, on peut
utiliser le même ViewModel et partager une grande partie
du code.
Lors des tests sur le device, le déconnecter pour être sûr
de passer par la connexion mobile.
Attention à la taille des données à synchroniser.
20
Conclusion
Une application doit être réfléchi avant !
Les capacités offline d’une application doivent être
envisagées d’un point de vue fonctionnelle et
technique
Certaines fonctions n’ont aucun intérêt en mode
offline.
Attention à la sécurité des données, le offline sort
de l’information accessible souvent sans
authentification.
Merci à tous, et bon Techdays…

Contenu connexe

Tendances

Présentation Granite ds lyon 2011 par William Draï
Présentation Granite ds lyon 2011 par William DraïPrésentation Granite ds lyon 2011 par William Draï
Présentation Granite ds lyon 2011 par William Draïlyonjug
 
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?Microsoft
 
Ateliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'EpitechAteliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'EpitechChristophe Lauer
 
Monitoring et automatisation dans Windows Azure
Monitoring et automatisation dans Windows AzureMonitoring et automatisation dans Windows Azure
Monitoring et automatisation dans Windows AzureMicrosoft Technet France
 
Services de bureaux distants dans Windows Server 2012 R2 et Azure
Services de bureaux distants dans Windows Server 2012 R2 et AzureServices de bureaux distants dans Windows Server 2012 R2 et Azure
Services de bureaux distants dans Windows Server 2012 R2 et AzureMicrosoft Technet France
 
System Center 2012 R2 et Windows 8.1 : Quoi de neuf pour le BYOD ?
System Center 2012 R2 et Windows 8.1 : Quoi de neuf pour le BYOD ? System Center 2012 R2 et Windows 8.1 : Quoi de neuf pour le BYOD ?
System Center 2012 R2 et Windows 8.1 : Quoi de neuf pour le BYOD ? Microsoft Technet France
 
Site web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureSite web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureMicrosoft Technet France
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationMicrosoft Technet France
 
CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightChristophe Lauer
 
TechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureTechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureThomas Conté
 
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...Microsoft Technet France
 
Nouvelles expériences d'authentification avec Windows 8.1 pour vos applicatio...
Nouvelles expériences d'authentification avec Windows 8.1 pour vos applicatio...Nouvelles expériences d'authentification avec Windows 8.1 pour vos applicatio...
Nouvelles expériences d'authentification avec Windows 8.1 pour vos applicatio...Microsoft
 
Périphériques non-Windows et SCCM – Intégrations et management
Périphériques non-Windows et SCCM – Intégrations et managementPériphériques non-Windows et SCCM – Intégrations et management
Périphériques non-Windows et SCCM – Intégrations et managementMicrosoft Technet France
 
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1Microsoft Technet France
 
Comment publier vos applications Web avec Windows Server 2012 R2
Comment publier vos applications Web avec Windows Server 2012 R2 Comment publier vos applications Web avec Windows Server 2012 R2
Comment publier vos applications Web avec Windows Server 2012 R2 Microsoft Technet France
 
Panorama des offres NoSQL disponibles dans Azure
Panorama des offres NoSQL disponibles dans AzurePanorama des offres NoSQL disponibles dans Azure
Panorama des offres NoSQL disponibles dans AzureMicrosoft Décideurs IT
 

Tendances (20)

Présentation Granite ds lyon 2011 par William Draï
Présentation Granite ds lyon 2011 par William DraïPrésentation Granite ds lyon 2011 par William Draï
Présentation Granite ds lyon 2011 par William Draï
 
Windows Phone 8 et la sécurité
Windows Phone 8 et la sécuritéWindows Phone 8 et la sécurité
Windows Phone 8 et la sécurité
 
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
SQL Azure Data Sync ou comment synchroniser vos données avec le Cloud ?
 
Ateliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'EpitechAteliers Silverlight 2 à l'Epitech
Ateliers Silverlight 2 à l'Epitech
 
Monitoring et automatisation dans Windows Azure
Monitoring et automatisation dans Windows AzureMonitoring et automatisation dans Windows Azure
Monitoring et automatisation dans Windows Azure
 
Services de bureaux distants dans Windows Server 2012 R2 et Azure
Services de bureaux distants dans Windows Server 2012 R2 et AzureServices de bureaux distants dans Windows Server 2012 R2 et Azure
Services de bureaux distants dans Windows Server 2012 R2 et Azure
 
LightSwitch presentation
LightSwitch presentationLightSwitch presentation
LightSwitch presentation
 
System Center 2012 R2 et Windows 8.1 : Quoi de neuf pour le BYOD ?
System Center 2012 R2 et Windows 8.1 : Quoi de neuf pour le BYOD ? System Center 2012 R2 et Windows 8.1 : Quoi de neuf pour le BYOD ?
System Center 2012 R2 et Windows 8.1 : Quoi de neuf pour le BYOD ?
 
Site web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur AzureSite web fonctionnel et élastique sur Azure
Site web fonctionnel et élastique sur Azure
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle génération
 
Déploiement de Windows 8
Déploiement de Windows 8Déploiement de Windows 8
Déploiement de Windows 8
 
CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et Silverlight
 
TechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureTechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows Azure
 
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
 
Cloud Hybride, le SSO de bout en bout
Cloud Hybride, le SSO de bout en bout Cloud Hybride, le SSO de bout en bout
Cloud Hybride, le SSO de bout en bout
 
Nouvelles expériences d'authentification avec Windows 8.1 pour vos applicatio...
Nouvelles expériences d'authentification avec Windows 8.1 pour vos applicatio...Nouvelles expériences d'authentification avec Windows 8.1 pour vos applicatio...
Nouvelles expériences d'authentification avec Windows 8.1 pour vos applicatio...
 
Périphériques non-Windows et SCCM – Intégrations et management
Périphériques non-Windows et SCCM – Intégrations et managementPériphériques non-Windows et SCCM – Intégrations et management
Périphériques non-Windows et SCCM – Intégrations et management
 
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
 
Comment publier vos applications Web avec Windows Server 2012 R2
Comment publier vos applications Web avec Windows Server 2012 R2 Comment publier vos applications Web avec Windows Server 2012 R2
Comment publier vos applications Web avec Windows Server 2012 R2
 
Panorama des offres NoSQL disponibles dans Azure
Panorama des offres NoSQL disponibles dans AzurePanorama des offres NoSQL disponibles dans Azure
Panorama des offres NoSQL disponibles dans Azure
 

En vedette

1FORMANET vous présente ses meilleurs voeux pour 2014
1FORMANET vous présente ses meilleurs voeux pour 20141FORMANET vous présente ses meilleurs voeux pour 2014
1FORMANET vous présente ses meilleurs voeux pour 2014Sylvie 1FORMANET
 
Ndour, 2008. Lamantin: Trichechus senegalensis en Pte St.Georges, Casamance, ...
Ndour, 2008. Lamantin: Trichechus senegalensis en Pte St.Georges, Casamance, ...Ndour, 2008. Lamantin: Trichechus senegalensis en Pte St.Georges, Casamance, ...
Ndour, 2008. Lamantin: Trichechus senegalensis en Pte St.Georges, Casamance, ...Ismaila Ndour
 
Safetica Endpoint Security Datasheet par Safetica Benelux - FR
Safetica Endpoint Security Datasheet par Safetica Benelux - FRSafetica Endpoint Security Datasheet par Safetica Benelux - FR
Safetica Endpoint Security Datasheet par Safetica Benelux - FRSafetica Benelux
 
AblaufLotse in: RKW Hessen im Gespräch (auf S. 4)
AblaufLotse in: RKW Hessen im Gespräch (auf S. 4)AblaufLotse in: RKW Hessen im Gespräch (auf S. 4)
AblaufLotse in: RKW Hessen im Gespräch (auf S. 4)Richard Meier-Sydow
 
Les lois répressives de la tunisie recommandations relatives aux réformes
Les lois répressives de la tunisie   recommandations relatives aux réformesLes lois répressives de la tunisie   recommandations relatives aux réformes
Les lois répressives de la tunisie recommandations relatives aux réformesAbderraouf Hadef
 
Cultura, Ciudad y acción colectiva
Cultura, Ciudad y acción colectivaCultura, Ciudad y acción colectiva
Cultura, Ciudad y acción colectivakportilla
 
Lugares del mundo (1)
Lugares del mundo (1)Lugares del mundo (1)
Lugares del mundo (1)lisethanalipg
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Microsoft Décideurs IT
 
Médias sociaux mode d'emploi - Algeria 2.0
Médias sociaux mode d'emploi - Algeria 2.0Médias sociaux mode d'emploi - Algeria 2.0
Médias sociaux mode d'emploi - Algeria 2.0Algeria 2.0
 
Brecha d. pirateria
Brecha d. pirateriaBrecha d. pirateria
Brecha d. pirateriayulissalizz
 
Les êtres vivants juanje
Les êtres vivants juanjeLes êtres vivants juanje
Les êtres vivants juanjecristigi81
 
Analyse der IT-Verwendung beim WWF
Analyse der IT-Verwendung beim WWFAnalyse der IT-Verwendung beim WWF
Analyse der IT-Verwendung beim WWFHWRMangos2010
 
Resultados de la encuesta karime y danielaa
Resultados de la encuesta karime y danielaaResultados de la encuesta karime y danielaa
Resultados de la encuesta karime y danielaadaniela4562
 
Vida y obra de charles baudelaire
Vida y obra de charles baudelaireVida y obra de charles baudelaire
Vida y obra de charles baudelairemanubusta03
 
Características de los teléfonos celulares
Características de los teléfonos celularesCaracterísticas de los teléfonos celulares
Características de los teléfonos celularesG28057
 

En vedette (20)

1FORMANET vous présente ses meilleurs voeux pour 2014
1FORMANET vous présente ses meilleurs voeux pour 20141FORMANET vous présente ses meilleurs voeux pour 2014
1FORMANET vous présente ses meilleurs voeux pour 2014
 
Ndour, 2008. Lamantin: Trichechus senegalensis en Pte St.Georges, Casamance, ...
Ndour, 2008. Lamantin: Trichechus senegalensis en Pte St.Georges, Casamance, ...Ndour, 2008. Lamantin: Trichechus senegalensis en Pte St.Georges, Casamance, ...
Ndour, 2008. Lamantin: Trichechus senegalensis en Pte St.Georges, Casamance, ...
 
Marketing 2.0 pour langagiers
Marketing 2.0 pour langagiersMarketing 2.0 pour langagiers
Marketing 2.0 pour langagiers
 
Safetica Endpoint Security Datasheet par Safetica Benelux - FR
Safetica Endpoint Security Datasheet par Safetica Benelux - FRSafetica Endpoint Security Datasheet par Safetica Benelux - FR
Safetica Endpoint Security Datasheet par Safetica Benelux - FR
 
AblaufLotse in: RKW Hessen im Gespräch (auf S. 4)
AblaufLotse in: RKW Hessen im Gespräch (auf S. 4)AblaufLotse in: RKW Hessen im Gespräch (auf S. 4)
AblaufLotse in: RKW Hessen im Gespräch (auf S. 4)
 
Les lois répressives de la tunisie recommandations relatives aux réformes
Les lois répressives de la tunisie   recommandations relatives aux réformesLes lois répressives de la tunisie   recommandations relatives aux réformes
Les lois répressives de la tunisie recommandations relatives aux réformes
 
Accidente
AccidenteAccidente
Accidente
 
Tgase ofa
Tgase ofaTgase ofa
Tgase ofa
 
Cultura, Ciudad y acción colectiva
Cultura, Ciudad y acción colectivaCultura, Ciudad y acción colectiva
Cultura, Ciudad y acción colectiva
 
Lugares del mundo (1)
Lugares del mundo (1)Lugares del mundo (1)
Lugares del mundo (1)
 
Br oiml weights_es[1]
Br oiml weights_es[1]Br oiml weights_es[1]
Br oiml weights_es[1]
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
 
Lps pacte canne
Lps   pacte canneLps   pacte canne
Lps pacte canne
 
Médias sociaux mode d'emploi - Algeria 2.0
Médias sociaux mode d'emploi - Algeria 2.0Médias sociaux mode d'emploi - Algeria 2.0
Médias sociaux mode d'emploi - Algeria 2.0
 
Brecha d. pirateria
Brecha d. pirateriaBrecha d. pirateria
Brecha d. pirateria
 
Les êtres vivants juanje
Les êtres vivants juanjeLes êtres vivants juanje
Les êtres vivants juanje
 
Analyse der IT-Verwendung beim WWF
Analyse der IT-Verwendung beim WWFAnalyse der IT-Verwendung beim WWF
Analyse der IT-Verwendung beim WWF
 
Resultados de la encuesta karime y danielaa
Resultados de la encuesta karime y danielaaResultados de la encuesta karime y danielaa
Resultados de la encuesta karime y danielaa
 
Vida y obra de charles baudelaire
Vida y obra de charles baudelaireVida y obra de charles baudelaire
Vida y obra de charles baudelaire
 
Características de los teléfonos celulares
Características de los teléfonos celularesCaracterísticas de los teléfonos celulares
Características de los teléfonos celulares
 

Similaire à Windows phone 7 sync application sur Azure, création d'application offline ready avec le sync frame

Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...vlabatut
 
Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...DEFO KUATE Landry
 
Eclipse day paris
Eclipse day parisEclipse day paris
Eclipse day parisLeTesteur
 
Informatique Mobile et synchronisation
Informatique Mobile et synchronisationInformatique Mobile et synchronisation
Informatique Mobile et synchronisationSébastien Letélié
 
Microsoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern businessMicrosoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern businessChourouk HJAIEJ
 
Cas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De SilverlightCas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De SilverlightArnaud Auroux
 
Ateliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceAteliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceKorteby Farouk
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformGregory Renard
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniterAtsé François-Xavier KOBON
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflineDNG Consulting
 
LabVIEW™ internet and network applications
LabVIEW™ internet and network applicationsLabVIEW™ internet and network applications
LabVIEW™ internet and network applicationsAlexandre STANURSKI
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en ODataDe A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en ODataMicrosoft
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileThomas Conté
 
Pourquoi choisir les technologies Microsoft
Pourquoi choisir les technologies MicrosoftPourquoi choisir les technologies Microsoft
Pourquoi choisir les technologies MicrosoftSofteam agency
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement bruteYounesOuladSayad1
 

Similaire à Windows phone 7 sync application sur Azure, création d'application offline ready avec le sync frame (20)

Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...Développer une application Chrome avec AngularJs (Google Développers Group Sa...
Développer une application Chrome avec AngularJs (Google Développers Group Sa...
 
Eclipse day paris
Eclipse day parisEclipse day paris
Eclipse day paris
 
Informatique Mobile et synchronisation
Informatique Mobile et synchronisationInformatique Mobile et synchronisation
Informatique Mobile et synchronisation
 
Microsoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern businessMicrosoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern business
 
Cas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De SilverlightCas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De Silverlight
 
Ateliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open sourceAteliers : Developpement mobile vs open source
Ateliers : Developpement mobile vs open source
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
 
LabVIEW™ internet and network applications
LabVIEW™ internet and network applicationsLabVIEW™ internet and network applications
LabVIEW™ internet and network applications
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en ODataDe A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
ReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobileReMix11 Paris: Windows Azure & développement mobile
ReMix11 Paris: Windows Azure & développement mobile
 
Pourquoi choisir les technologies Microsoft
Pourquoi choisir les technologies MicrosoftPourquoi choisir les technologies Microsoft
Pourquoi choisir les technologies Microsoft
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 

Plus de Microsoft Décideurs IT

Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?Microsoft Décideurs IT
 
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?Microsoft Décideurs IT
 
Windows Server vNext- virtualisation et stockage
Windows Server vNext- virtualisation et stockageWindows Server vNext- virtualisation et stockage
Windows Server vNext- virtualisation et stockageMicrosoft Décideurs IT
 
Azure IaaS pour les IT - Demo Extravaganza
Azure IaaS pour les IT - Demo ExtravaganzaAzure IaaS pour les IT - Demo Extravaganza
Azure IaaS pour les IT - Demo ExtravaganzaMicrosoft Décideurs IT
 
Windows Server vNext- administration et réseau
Windows Server vNext- administration et réseauWindows Server vNext- administration et réseau
Windows Server vNext- administration et réseauMicrosoft Décideurs IT
 
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BI
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BIRetour d’expérience de Sarenza sur la façon de piloter un projet Power BI
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BIMicrosoft Décideurs IT
 
Big Data et Business Intelligence de A… Azure
Big Data et Business Intelligence de A… AzureBig Data et Business Intelligence de A… Azure
Big Data et Business Intelligence de A… AzureMicrosoft Décideurs IT
 
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Microsoft Décideurs IT
 
Architectures hybrides: Intégrer vos données métiers dans vos applications cl...
Architectures hybrides: Intégrer vos données métiers dans vos applications cl...Architectures hybrides: Intégrer vos données métiers dans vos applications cl...
Architectures hybrides: Intégrer vos données métiers dans vos applications cl...Microsoft Décideurs IT
 
Reprenez la main sur vos applications SharePoint en mesurant et en optimisant...
Reprenez la main sur vos applications SharePoint en mesurant et en optimisant...Reprenez la main sur vos applications SharePoint en mesurant et en optimisant...
Reprenez la main sur vos applications SharePoint en mesurant et en optimisant...Microsoft Décideurs IT
 
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Microsoft Décideurs IT
 
La collaboration dans Exchange : comparaison on premises et online
La collaboration dans Exchange : comparaison on premises et onlineLa collaboration dans Exchange : comparaison on premises et online
La collaboration dans Exchange : comparaison on premises et onlineMicrosoft Décideurs IT
 
Exchange / Office 365 comment faire un déploiement hybride
Exchange / Office 365 comment faire un déploiement hybrideExchange / Office 365 comment faire un déploiement hybride
Exchange / Office 365 comment faire un déploiement hybrideMicrosoft Décideurs IT
 
Sécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentielSécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentielMicrosoft Décideurs IT
 
Cas d’étude : Comment simplifier vos backups dans le cloud grâce à VEEAM et M...
Cas d’étude : Comment simplifier vos backups dans le cloud grâce à VEEAM et M...Cas d’étude : Comment simplifier vos backups dans le cloud grâce à VEEAM et M...
Cas d’étude : Comment simplifier vos backups dans le cloud grâce à VEEAM et M...Microsoft Décideurs IT
 
Industrialisez le déploiement de vos infrastructures Cloud depuis votre systè...
Industrialisez le déploiement de vos infrastructures Cloud depuis votre systè...Industrialisez le déploiement de vos infrastructures Cloud depuis votre systè...
Industrialisez le déploiement de vos infrastructures Cloud depuis votre systè...Microsoft Décideurs IT
 
Comment bâtir un cloud hybride en mode IaaS ou SaaS et apporter le meilleur d...
Comment bâtir un cloud hybride en mode IaaS ou SaaS et apporter le meilleur d...Comment bâtir un cloud hybride en mode IaaS ou SaaS et apporter le meilleur d...
Comment bâtir un cloud hybride en mode IaaS ou SaaS et apporter le meilleur d...Microsoft Décideurs IT
 
Migrer de 2003 à 2012 R2, adopter HyperV ou Microsoft Azure : comment réalise...
Migrer de 2003 à 2012 R2, adopter HyperV ou Microsoft Azure : comment réalise...Migrer de 2003 à 2012 R2, adopter HyperV ou Microsoft Azure : comment réalise...
Migrer de 2003 à 2012 R2, adopter HyperV ou Microsoft Azure : comment réalise...Microsoft Décideurs IT
 

Plus de Microsoft Décideurs IT (20)

Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
 
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
Lync : intégration et interopérabilité à votre existant, quoi de neuf ?
 
Windows Server vNext- virtualisation et stockage
Windows Server vNext- virtualisation et stockageWindows Server vNext- virtualisation et stockage
Windows Server vNext- virtualisation et stockage
 
Azure IaaS pour les IT - Demo Extravaganza
Azure IaaS pour les IT - Demo ExtravaganzaAzure IaaS pour les IT - Demo Extravaganza
Azure IaaS pour les IT - Demo Extravaganza
 
Windows Server vNext- administration et réseau
Windows Server vNext- administration et réseauWindows Server vNext- administration et réseau
Windows Server vNext- administration et réseau
 
La gouvernance des données
La gouvernance des donnéesLa gouvernance des données
La gouvernance des données
 
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BI
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BIRetour d’expérience de Sarenza sur la façon de piloter un projet Power BI
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BI
 
Malware Unchained
Malware UnchainedMalware Unchained
Malware Unchained
 
Big Data et Business Intelligence de A… Azure
Big Data et Business Intelligence de A… AzureBig Data et Business Intelligence de A… Azure
Big Data et Business Intelligence de A… Azure
 
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
 
Architectures hybrides: Intégrer vos données métiers dans vos applications cl...
Architectures hybrides: Intégrer vos données métiers dans vos applications cl...Architectures hybrides: Intégrer vos données métiers dans vos applications cl...
Architectures hybrides: Intégrer vos données métiers dans vos applications cl...
 
Reprenez la main sur vos applications SharePoint en mesurant et en optimisant...
Reprenez la main sur vos applications SharePoint en mesurant et en optimisant...Reprenez la main sur vos applications SharePoint en mesurant et en optimisant...
Reprenez la main sur vos applications SharePoint en mesurant et en optimisant...
 
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
Windows Server 2003 EOS : l'opportunité de repenser votre IT et mettre en pla...
 
La collaboration dans Exchange : comparaison on premises et online
La collaboration dans Exchange : comparaison on premises et onlineLa collaboration dans Exchange : comparaison on premises et online
La collaboration dans Exchange : comparaison on premises et online
 
Exchange / Office 365 comment faire un déploiement hybride
Exchange / Office 365 comment faire un déploiement hybrideExchange / Office 365 comment faire un déploiement hybride
Exchange / Office 365 comment faire un déploiement hybride
 
Sécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentielSécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentiel
 
Cas d’étude : Comment simplifier vos backups dans le cloud grâce à VEEAM et M...
Cas d’étude : Comment simplifier vos backups dans le cloud grâce à VEEAM et M...Cas d’étude : Comment simplifier vos backups dans le cloud grâce à VEEAM et M...
Cas d’étude : Comment simplifier vos backups dans le cloud grâce à VEEAM et M...
 
Industrialisez le déploiement de vos infrastructures Cloud depuis votre systè...
Industrialisez le déploiement de vos infrastructures Cloud depuis votre systè...Industrialisez le déploiement de vos infrastructures Cloud depuis votre systè...
Industrialisez le déploiement de vos infrastructures Cloud depuis votre systè...
 
Comment bâtir un cloud hybride en mode IaaS ou SaaS et apporter le meilleur d...
Comment bâtir un cloud hybride en mode IaaS ou SaaS et apporter le meilleur d...Comment bâtir un cloud hybride en mode IaaS ou SaaS et apporter le meilleur d...
Comment bâtir un cloud hybride en mode IaaS ou SaaS et apporter le meilleur d...
 
Migrer de 2003 à 2012 R2, adopter HyperV ou Microsoft Azure : comment réalise...
Migrer de 2003 à 2012 R2, adopter HyperV ou Microsoft Azure : comment réalise...Migrer de 2003 à 2012 R2, adopter HyperV ou Microsoft Azure : comment réalise...
Migrer de 2003 à 2012 R2, adopter HyperV ou Microsoft Azure : comment réalise...
 

Windows phone 7 sync application sur Azure, création d'application offline ready avec le sync frame

  • 1. 1 Windows Phone 7 Sync application on Azure David Allaigre Lead Solution Internet Digital Marketing Avanade
  • 2. 2 Objectifs de la session Découvrir comment concevoir une application « Offline » ready. Découvrir comment utiliser le Sync Framework 4.0 Découvrir comment utiliser la plateforme Azure pour une application « Offline » Ready. Gagner du temps en s’évitant quelques problèmes !
  • 3. 3 Un peu d’histoire ! L’ère du mainframe : Application 1 Tiers : l’écran est déporté ! L’ère de la micro informatique : Application 2 Tiers : on externalise la base de données. L’ère du réseau et de l’internet : Application 3 Tiers : Base Middle Service (Serveur Web) Client (Browser) L’ère de la mobilité & du cloud: Application n tiers, explosion des applications multi devices. Disparition du stockage on « promise », développement des offres « Software as a Service »
  • 4. 4 Mais un vieux problème Comment résoudre les problèmes liés à la mobilité : Une promesse intenable : Une connexion partout et à un prix acceptable ! Les applications full web n’ont plus d’intérêt sans connexion : Transformer son smartphone en brique inutile : les joies du « roaming » 
  • 5. 5 Des solutions ? Comment toujours avoir les « données » nécessaires à son application même hors connexion. Garder les données sur soi ! Ex les contacts téléphoniques Copier les données avant mobilité sur le device et les recopier au retour : ex fichier Access Excel Utiliser la réplication de données : SQL Replication ou rejouer un fichier de transaction Offline Client Server / Service Remote Store Local Data Cache Client App Sync
  • 6. 6 Sync Framework Sync Simple protocol (OData & Sync) Minimal client & store requirements Windows Server / IIS Sync Endpoints Auth / Mgmt / Bus Logic SyncFx SQL Server Windows Azure Sync Endpoints Auth / Mgmt / Bus Logic SyncFx SQL Azure Easy to develop the sync endpoints Client API support Architecture générale
  • 7. 7 Sync Framework Isolated Storage Provider Silverlight Offline Application OData Sync Proxy Cache Controller Isolated Storage Sync Logic Collections Silverlight Offline Client Windows Azure Application SQL Azure SQL Azure Provider Sync Logic OData Sync Endpoint Busines s Logic Architecture Silverlight
  • 8. 8 De la méthode Le « offline ready » doit être pris en compte dès le départ Il n’est pas possible d’accéder à la base de façon totale: Problème de sécurité: avoir une copie de données auxquelles on ne devrait pas accéder. Problème de stockage sur le device On va partitionner notre base par table et par ligne. On ne synchronise qu’une partition. On accepte l’idée d’avoir de l’info en double dans la base pour des gains de performance et s’éviter des tables de liaisons à synchroniser.
  • 9. 9 Pour des raisons de santé mentale ! Le développement d’applications « offline » ready suivra une montée en charge de la difficulté : Etape 1 : Création d’une base SQL locale, d’un service de synchronisation local et d’un client facilement débuggable (ex Silverlight) Etape 2 : On externalise sur le cloud la base SQL Etape 3 : On externalise le service sur le cloud Etape 4 : On passe sur des clients moins facilement débuggables ex WP7.
  • 10. 10 Le scénario de la démo Une application de « Wishes list » : Un utilisateur peut créer et manager sa liste en mode online Offline Les entités : User : Entité représentant les utilisateurs WishList : Entité représentant les listes de vœux Wish : Entité représentant les vœux Connected : Entité permettant de donner accès a sa liste de vœux à d’autres utilisateurs
  • 11. 11 Etape 1: Génération du fichier de config Après installation du sdk Dans le répertoire : Microsoft SDKsMicrosoft Sync Framework4.0bin SyncSvcUtil : outil en ligne de commande SyncSvcUtilHelper : GUI du même outil. L’outil va permettre : De générer le fichier de config De provisionner la base De générer les proxys
  • 12. 12 Etape 1 : Génération du fichier de config Le fichier de config contient : La structure des données Les informations de localisation des données Le partitionning des données
  • 13. 13 Etape 2 : Provisionning de la base Le provisionning consiste en la génération de tables au sein de la base pour la gestion de la synchonisation. L’opération de provisionning est réversible à tout moment.
  • 14. 14 Etape 3 : Génération des fichiers pour le serveur et les clients Côté serveur : OData Service + génération des entités Modification des fichiers serveurs pour inclure la configuration et les informations de partitionning Côté client : Au choix : dans le cas de la démo l’isolateStorage
  • 15. 15 Etape 4 : Utilisation des proxy client Les principales fonctions : Pour le stockage local : OfflineContext.Load LoadAsync OfflineContext.ClearCache OfflineContext.AddItem DeleteItem OfflineContext.SaveChanges OfflineContext.CancelChanges Pour la synchronisation OfflineContext.CacheControler.IsBusy OfflineContext.CacheControler.RefreshAsync Attention : Bien utiliser le dispatcher car potentiellement les retours sont dans des threads différents
  • 16. 16 Etape 4 : Utilisation des proxy client LoadAsync : Chargement des données depuis le storage local Erreur? ClearCache, RefreshAsync AddItem Modify Item Delete Item Save Changes Action cliente : Sync RefreshAsync
  • 17. 17 Etape 5 : Déplacement vers SQL Azure Attention dès le départ : Certains datatypes n’existent pas : GUID ! L’utilisation de SQL Azure est très similaire à SQL Server. Sync framework 4.0 est compatible avec SQL Azure de manière native.
  • 18. 18 Etape 6 : Déplacement du service Il s’agit d’un simple projet web offrant un web service sur un binding webHttpBinding… Mais cela ne marche pas comme nous le voudrions : Sync Framework 4.0 est basé sur Sync Framework 2.1 Sync Framework 2.1 utilise une dll COM qu’il faut registrer -> On utilise donc un code dans le WebRole. OnStart pour « registrer » la dll.
  • 19. 19 Etape 7 : Connection du WP7 vers le cloud Peu de différence avec la version Silverlight, on peut utiliser le même ViewModel et partager une grande partie du code. Lors des tests sur le device, le déconnecter pour être sûr de passer par la connexion mobile. Attention à la taille des données à synchroniser.
  • 20. 20 Conclusion Une application doit être réfléchi avant ! Les capacités offline d’une application doivent être envisagées d’un point de vue fonctionnelle et technique Certaines fonctions n’ont aucun intérêt en mode offline. Attention à la sécurité des données, le offline sort de l’information accessible souvent sans authentification. Merci à tous, et bon Techdays…