Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Accéder aux données avec
le Windows Runtime
Arnaud Auroux - Matthieu Mezil
Infinite Square
aauroux@infinitesquare.com - @a...
Infinite Square stand 19
 Société de conseil, expertise, réalisation, formation, spécialisée dans le développement d’appl...
Accéder aux données avec le Windows Runtime
• Accès direct (Bluetooth, UDP, etc.)
• Modèle de développement 3 (ou n) tiers...
STRATÉGIES D’ACCÈS AUX
DONNÉES
Quelle technologie utiliser ?

#mstechdays
Stratégies d’accès aux données
non

non

BDD
existante ?

Windows Azure
Mobile Services

non

EF et/ou SQL +
ASP.NET WEB
A...
Stratégies d’accès aux données
non

non

BDD
existante ?

Windows Azure
Mobile Services

non

EF et/ou SQL +
ASP.NET WEB
A...
Windows Azure Mobile Services
•
•
•
•

Azure
Cross-platform
Node.js
Fonctionnalités orientées mobiles
– Push, Authentifica...
WINDOWS AZURE MOBILE
SERVICES
Développement d’un backend complet

#mstechdays

Design/UX/UI
Stratégies d’accès aux données
non

non

BDD
existante ?

Windows Azure
Mobile Services

non

EF et/ou SQL +
ASP.NET WEB
A...
Entity Framework
• Accès aux données côté serveur
– Gagner en productivité et maintenabilité
– Abstraction de la base de d...
ENTITY FRAMEWORK
Code First

#mstechdays

Design/UX/UI
WCF Data Services
• Manipulation des données depuis le client
– Requêtage
• LINQ
• Depuis une url
• Développement d’interc...
WCF DATA SERVICES

#mstechdays

Design/UX/UI
Stratégies d’accès aux données
non

non

BDD
existante ?

Windows Azure
Mobile Services

non

EF et/ou SQL +
ASP.NET WEB
A...
ASP. NET Web API
• REST
• Pas de limitation vis-à-vis du protocole HTTP
• Permet de définir de façon simple des
méthodes "...
ASP. NET WEB API
Structuration personnalisée de la couche service

#mstechdays

Design/UX/UI
LE CLIENT ET LES DONNÉES
Consommation et mode déconnecté

#mstechdays
Le client et les données
• Socket, Proxy SOAP, Syndication
• Windows.Web.Http.HttpClient
– RESTful : GET, POST, PUT, DELET...
Le client et les données
• Windows.Web.Http.HttpClient
– Communication asynchrone
• async, await
• Gestion élégante du con...
Le client et les données
• Transfers en tâche de fond
–
–
–
–
–

#mstechdays

Windows.Networking.BackgroundTransfer
Downlo...
Le client et les données
• Sérialisation/désérialisation
–
–
–
–

#mstechdays

JSON/XML
Windows.Data.Json ou System.Xml.Li...
Le client et les données
• Connectivité
– NetworkInformation et ConnectionProfile
– Détails
• NetworkAdapter et « IANA int...
Le client et les données
• Persistence
– app data API
• 2 types de données
– Fichiers : système de fichier (répertoires, a...
Le client et les données
Local app data

Roaming app data

Données locale
non
synchronisées

Synchronisation

Conservées
e...
LE CLIENT ET LES DONNÉES

#mstechdays

Design/UX/UI
IMPLICATIONS DU 3-TIERS
Tracking des modifications clientes et les accès concurrents

#mstechdays
Tracking des modifications clientes
• Gestion d’un graphe de données
– Manipulation de données relationnelles déconnectées...
Les accès concurrents
• Problématique au niveau de la couche
d’accès aux données
• Plusieurs types de résolutions possible...
1

#mstechdays
1

#mstechdays
1

#mstechdays
Conclusion
• Plusieurs stratégies Web pour des cas
d’utilisation client différents
• Une API WinRT adaptée aux exigences d...
QUESTIONS ?

#mstechdays
Donnez votre avis !
Depuis votre smartphone sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toute les heures !!...
Digital is
business
Accéder aux données avec le Windows Runtime
Prochain SlideShare
Chargement dans…5
×

Accéder aux données avec le Windows Runtime

717 vues

Publié le

Windows 8.1 fournit un modèle de développement client offrant plusieurs possibilités basées sur un modèle trois tiers pour l'accès et le stockage des données. Cette session présentera les différentes options qui s'offrent à vous en fonction de votre stratégie. Nous verrons les nouveautés apportées par Entity Framework 6 pour l'accès aux données ainsi que les différents moyens d'exposer ces données avec une architecture orientée service utilisant WCF Data Services/OData, Windows Azure Mobile Services ou une Web API personnalisée. De plus l'aspect mobile d'une application Windows 8 imposant souvent la gestion d'un mode déconnecté, nous verrons les techniques pour consommer mais également persister et synchroniser de la donnée grâce à la sérialisation ou encore un moteur de base de donnée client comme SQLite.

Speakers : Matthieu Mezil (MVP), Arnaud Auroux (MVP)

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Accéder aux données avec le Windows Runtime

  1. 1. Accéder aux données avec le Windows Runtime Arnaud Auroux - Matthieu Mezil Infinite Square aauroux@infinitesquare.com - @arnaudauroux mmezil@infinitesquare.com - @matthieumezil
  2. 2. Infinite Square stand 19  Société de conseil, expertise, réalisation, formation, spécialisée dans le développement d’applications logicielles innovantes sur les technologies Microsoft  100% des consultants certifiés Microsoft, parmi lesquels 10 MVP et 2 Nokia Champions  GOLD Certified Partner sur 5 domaines de compétences  Centre de formation agrée #mstechdays
  3. 3. Accéder aux données avec le Windows Runtime • Accès direct (Bluetooth, UDP, etc.) • Modèle de développement 3 (ou n) tiers #mstechdays
  4. 4. STRATÉGIES D’ACCÈS AUX DONNÉES Quelle technologie utiliser ? #mstechdays
  5. 5. Stratégies d’accès aux données non non BDD existante ? Windows Azure Mobile Services non EF et/ou SQL + ASP.NET WEB API #mstechdays oui Backend existant ? non oui Scénario basique / data centrique ? oui Exposition via ASP.NET WEB API EF + WCF Data Services Couche service existante ? oui Consommation (WCF, ASMX, Syndication, etc.)
  6. 6. Stratégies d’accès aux données non non BDD existante ? Windows Azure Mobile Services non EF et/ou SQL + ASP.NET WEB API #mstechdays oui Backend existant ? non oui Scénario basique / data centrique ? oui Exposition via ASP.NET WEB API EF + WCF Data Services Couche service existante ? oui Consommation (SOAP, Syndication, etc.)
  7. 7. Windows Azure Mobile Services • • • • Azure Cross-platform Node.js Fonctionnalités orientées mobiles – Push, Authentification • Scheduler • SDK #mstechdays
  8. 8. WINDOWS AZURE MOBILE SERVICES Développement d’un backend complet #mstechdays Design/UX/UI
  9. 9. Stratégies d’accès aux données non non BDD existante ? Windows Azure Mobile Services non EF et/ou SQL + ASP.NET WEB API #mstechdays oui Backend existant ? non oui Scénario basique / data centrique ? oui Exposition via ASP.NET WEB API EF + WCF Data Services Couche service existante ? oui Consommation (SOAP, Syndication, etc.)
  10. 10. Entity Framework • Accès aux données côté serveur – Gagner en productivité et maintenabilité – Abstraction de la base de données • Version 6 – Amélioration des performances – Ajout des méthodes Async • Permet d’augmenter la scalabilité • Code First ou Entity Data Model #mstechdays
  11. 11. ENTITY FRAMEWORK Code First #mstechdays Design/UX/UI
  12. 12. WCF Data Services • Manipulation des données depuis le client – Requêtage • LINQ • Depuis une url • Développement d’intercepteurs sur les requêtes côté serveur – Persistance • Pertinent dans le cas d’un développement RAD – Application Data Centric basique – Particulièrement bien intégré avec Entity Framework • Protocole OData #mstechdays
  13. 13. WCF DATA SERVICES #mstechdays Design/UX/UI
  14. 14. Stratégies d’accès aux données non non BDD existante ? Windows Azure Mobile Services non EF et/ou SQL + ASP.NET WEB API #mstechdays oui Backend existant ? non oui Scénario basique / data centrique ? oui Exposition via ASP.NET WEB API EF + WCF Data Services Couche service existante ? oui Consommation (SOAP, Syndication, etc.)
  15. 15. ASP. NET Web API • REST • Pas de limitation vis-à-vis du protocole HTTP • Permet de définir de façon simple des méthodes "métier" dans une logique SOA • Contrôle total du contenu renvoyé (non limité aux données structurées sérialisables) • Grande flexibilité #mstechdays
  16. 16. ASP. NET WEB API Structuration personnalisée de la couche service #mstechdays Design/UX/UI
  17. 17. LE CLIENT ET LES DONNÉES Consommation et mode déconnecté #mstechdays
  18. 18. Le client et les données • Socket, Proxy SOAP, Syndication • Windows.Web.Http.HttpClient – RESTful : GET, POST, PUT, DELETE – Gestion d’erreur simplifiée – Contrôle fin de la couche HTTP cliente • Contrôle des headers • Authentification • Formats multiples (texte, stream, etc.) • Cache, Filtres #mstechdays
  19. 19. Le client et les données • Windows.Web.Http.HttpClient – Communication asynchrone • async, await • Gestion élégante du contexte – Retour automatique sur le contexte du thread appelant – Configurable (le switch de contexte est coûteux !) • Annulation #mstechdays
  20. 20. Le client et les données • Transfers en tâche de fond – – – – – #mstechdays Windows.Networking.BackgroundTransfer Download et Upload Fichiers (de taille importante) HTTP, HTTPS et FTP ContentPrefetcher
  21. 21. Le client et les données • Sérialisation/désérialisation – – – – #mstechdays JSON/XML Windows.Data.Json ou System.Xml.Linq JsonObject vs Xdocument Portabilité WP8 ? (Json.NET)
  22. 22. Le client et les données • Connectivité – NetworkInformation et ConnectionProfile – Détails • NetworkAdapter et « IANA interface type » (http://www.iana.org/assignments/ianaiftypemib/ianaiftype-mib ) #mstechdays
  23. 23. Le client et les données • Persistence – app data API • 2 types de données – Fichiers : système de fichier (répertoires, arborescence) – Paramètres : base de registre (conteneurs, données composites) • Localisation des données transparente grâce à l’app data API • Par application et par utilisateur – Données structurées et relationnelle => SQLite, #mstechdays
  24. 24. Le client et les données Local app data Roaming app data Données locale non synchronisées Synchronisation Conservées entre les sessions Liées au compte Microsoft de l’utilisateur Limitée (taille et durée) #mstechdays Temporary app data A utiliser comme un cache
  25. 25. LE CLIENT ET LES DONNÉES #mstechdays Design/UX/UI
  26. 26. IMPLICATIONS DU 3-TIERS Tracking des modifications clientes et les accès concurrents #mstechdays
  27. 27. Tracking des modifications clientes • Gestion d’un graphe de données – Manipulation de données relationnelles déconnectées • Persistance transactionnelle du graphe – Permettre au serveur d’identifier les modifications • WCF Data Services – Informer le contexte des changements • Web API – Intégrer une logique de report de modifications #mstechdays
  28. 28. Les accès concurrents • Problématique au niveau de la couche d’accès aux données • Plusieurs types de résolutions possibles – Par ex. avec EF : le dernier a raison avec une logique de merge #mstechdays
  29. 29. 1 #mstechdays
  30. 30. 1 #mstechdays
  31. 31. 1 #mstechdays
  32. 32. Conclusion • Plusieurs stratégies Web pour des cas d’utilisation client différents • Une API WinRT adaptée aux exigences du monde mobile • Modularité et flexibilité #mstechdays
  33. 33. QUESTIONS ? #mstechdays
  34. 34. Donnez votre avis ! Depuis votre smartphone sur : http://notes.mstechdays.fr De nombreux lots à gagner toute les heures !!! Claviers, souris et jeux Microsoft… Merci de nous aider à améliorer les Techdays ! #mstechdays
  35. 35. Digital is business

×