accéder aux données avec le windows runtime

Post on 05-Dec-2014

510 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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)

TRANSCRIPT

Accéder aux données avec le Windows

RuntimeArnaud Auroux - Matthieu MezilInfinite Square

aauroux@infinitesquare.com - @arnaudaurouxmmezil@infinitesquare.com - @matthieumezil

#mstechdays

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

Infinite Square stand 19

#mstechdays

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

STRATÉGIES D’ACCÈS AUX DONNÉESQuelle technologie utiliser ?

#mstechdays

Stratégies d’accès aux donnéesBackend existant ?

Couche service

existante ?

Consommation (WCF, ASMX, Syndication,

etc.)

BDD existante

?

Scénario basique /

data centrique ?

EF et/ou SQL + ASP.NET WEB

API

EF + WCF Data Services

Windows Azure Mobile

Services

Exposition via ASP.NET WEB API

oui

ouioui

oui

non

non

non

non

#mstechdays

Stratégies d’accès aux donnéesBackend existant ?

Couche service

existante ?

Consommation (SOAP,

Syndication, etc.)

BDD existante

?

Scénario basique /

data centrique ?

EF et/ou SQL + ASP.NET WEB

API

EF + WCF Data Services

Windows Azure Mobile

Services

Exposition via ASP.NET WEB API

oui

ouioui

oui

non

non

non

non

#mstechdays

• Azure• Cross-platform• Node.js• Fonctionnalités orientées mobiles– Push, Authentification

• Scheduler• SDK

Windows Azure Mobile Services

démo

Design/UX/UI#mstechdays

WINDOWS AZURE MOBILE SERVICESDéveloppement d’un backend complet

#mstechdays

Stratégies d’accès aux donnéesBackend existant ?

Couche service

existante ?

Consommation (SOAP,

Syndication, etc.)

BDD existante

?

Scénario basique /

data centrique ?

EF et/ou SQL + ASP.NET WEB

API

EF + WCF Data Services

Windows Azure Mobile

Services

Exposition via ASP.NET WEB API

oui

ouioui

oui

non

non

non

non

#mstechdays

• 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

Entity Framework

démo

Design/UX/UI#mstechdays

ENTITY FRAMEWORK

Code First

#mstechdays

• 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

WCF Data Services

démo

Design/UX/UI#mstechdays

WCF DATA SERVICES

#mstechdays

Stratégies d’accès aux donnéesBackend existant ?

Couche service

existante ?

Consommation (SOAP,

Syndication, etc.)

BDD existante

?

Scénario basique /

data centrique ?

EF et/ou SQL + ASP.NET WEB

API

EF + WCF Data Services

Windows Azure Mobile

Services

Exposition via ASP.NET WEB API

oui

ouioui

oui

non

non

non

non

#mstechdays

• 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é

ASP. NET Web API

démo

Design/UX/UI#mstechdays

ASP. NET WEB API

Structuration personnalisée de la couche service

#mstechdays

LE CLIENT ET LES DONNÉES

Consommation et mode déconnecté

#mstechdays

• 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

Le client et les données

#mstechdays

• 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

Le client et les données

#mstechdays

• Transfers en tâche de fond– Windows.Networking.BackgroundTransfer– Download et Upload– Fichiers (de taille importante)– HTTP, HTTPS et FTP– ContentPrefetcher

Le client et les données

#mstechdays

• Sérialisation/désérialisation– JSON/XML– Windows.Data.Json ou System.Xml.Linq– JsonObject vs Xdocument– Portabilité WP8 ? (Json.NET)

Le client et les données

#mstechdays

• Connectivité– NetworkInformation et ConnectionProfile– Détails• NetworkAdapter et « IANA interface

type » (http://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib )

Le client et les données

#mstechdays

• 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,

IndexedDB

Le client et les données

#mstechdays

Le client et les données

Local app data

Données locale non

synchronisées

Conservées entre les sessions

Roaming app data

Synchronisation

Liées au compte

Microsoft de l’utilisateur

Limitée (taille et durée)

Temporary app data

A utiliser comme un

cache

démo

Design/UX/UI#mstechdays

LE CLIENT ET LES DONNÉES

#mstechdays

IMPLICATIONS DU 3-TIERS

Tracking des modifications clientes et les accès concurrents

#mstechdays

• 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

Tracking des modifications clientes

#mstechdays

• 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

Les accès concurrents

#mstechdays

1

#mstechdays

1

#mstechdays

1

#mstechdays

• 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é

Conclusion

#mstechdays

QUESTIONS ?

#mstechdays

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 !

Donnez votre avis !

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Digital is business

top related