32

2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

Embed Size (px)

Citation preview

Page 1: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft
Page 2: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

2

ARC 303 Choisir une technologie d’accès aux données distantes

Février 2011

David Rousset & Stéphanie HertrichRelations Techniques DéveloppeursMicrosoft

Page 3: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

3

Historique de l’accès aux données

Structurer et stocker Fichiers, DB, Tables, Relations

Multi-client, résolution des conflits Serveur de BDD

Simplifier l’accès aux données ODBC, Providers, ADO .Net, …

Mapping Objet-Relationnel Linq To Sql, Entity Framework, Nhibernate, …

Publication des données sur le réseau ?

Evol

ution

de

l’acc

ès a

ux d

onné

es

Page 4: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

4

Data

DAL

WP7 Silverlight .Net Html5

LAN, WAN, …

?

? Exposition des données

Consommation et manipulationdes données

De quoi parle-t-on ?

Page 5: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

5

Agenda

Présentation des candidats CaractéristiquesDémoRemise en contexte client avec diagramme

Conclusion

Page 6: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

6

Les nominés sont…

1. WCF2. OData3. WCF Data Services4. WCF RIA Services

Il n’y aura pas 1 seul gagnant. Tout dépend du contexte de déploiement et d’utilisation de votre application.

Page 7: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

7

1. WCF

CaractéristiquesExposition de services métier au sens large (web services) Choix des protocoles et supports de communication (tcp binaire, http, MSMQ, mode sécurisé, SOAP, REST…)Fonctionnalités plus évoluées (Duplex channel, sécurité,…) Choix de l’hébergement (exe, Service, IIS)…

Accès aux données:Ecriture manuelle des méthodes d’accès et de manipulation des données (=métier)

Page 8: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

8

Les démos

Toutes les démos se basent sur la même :

• source de données (Data): Base Northwind dans Sql Server

• couche d’accès aux données (DAL) : Entity Framework : table Customer

Page 9: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

9

IIS, .exe, service Windows

WCF : Découplage entre le service et sa publication

Customers ICustomers Get() Create() Update Delete()

.config

http

tcp

bina

ry

MSM

Q

EndPoints definitions

Page 10: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

10

DémoAccès aux données distantes à travers WCF

Page 11: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

11

2. WCF dans le contexte de l’accès aux données

Avantages• Maitrise complète des services et données

exposées et de la forme sous laquelle on les expose

Inconvénients• On écrit (et on maintient) tous les services

manuellement• Pas adapté pour de l’accès générique à des

données• Convient mieux à des services métiers, dont les

cas d’utilisation sont plus prédictibles

Page 12: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

13

2. OData

CaractéristiquesExposition de données à travers des URI http REST sous la forme de flux Atom ou JSONAccessible par des clients hétérogènes (.Net ou pas)SDK clients (http://www.odata.org)Filtrage à la sourceMéthodes CRUD

Page 13: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

14

DémoAccès à des données en OData en http REST avec mon navigateur préféré

Page 14: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

15

2. OData

AvantagesFiltrage à la sourceInteropérabilitéSDK et librairies clientes (http://www.odata.org)OData : de plus en plus d’applications publient leurs données en OData (SQL Azure, Sharepoint, …)

(=> Migration des données sous SQL Azure =Accès natif en OData en 0 ligne de code !)

Page 15: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

16

3. WCF Data ServicesWCF Data Services est

une implémentation de OData pour .Net

Génération automatique des méthodes d’accès et de manipulation des données

Page 16: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

17

DémoAccès aux données distantes avec WCF Data Services

Page 17: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

18

3. WCF Data Services

AvantagesAvantages de ODataGénération automatique des méthodes d’accès et de manipulation des donnéesAccélérateurs pour .Net côté client et serveur avec WCF Data Services

Page 18: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

19

Data

DAL

WP7 Silverlight .NetHtml 5,

Objective-C, Java, …

LAN, WAN, …

Avec WCF Data Services

WCF Data Services

httpREST

Proxy + LINQ

Proxy + LINQ

Proxy + LINQ

Génération des méthodes d’accès aux données

SDKs clients

Page 19: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

20

4. WCF RIA Services

• Technologie permettant de simplifier et d’accélérer le développement de l’accès aux données par un client Silverlight

• Répondre à ce besoin principal : création d’applications RIA d’entreprise avec une architecture n-tiers

• Scénario très vertical

Page 20: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

21

Démo5 min pour vous convaincre de la productivité de WCF RIA Services !

Page 21: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

23

Data

DAL

WP7Silverlight

.NetHtml 5

LAN, WAN, …

WCF RIA Services et Silverlight

WCF RIA Services

OData (*)(http REST)

SOAP(http)

RIA Specific (http SOAP bin)

• Proxy • LINQ• Masquage

comm. client/serveur

• Validation saisie

• Expérience 1-tiers

• Contrôles de haut niveau

JSON(http REST)

Génération des méthodes d’accès aux données Contrôles des droits d’accès aux méthodes

Page 22: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

24

DémoOuverture de WCF RIA Services via endpoint OData

Page 23: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

25

Data

DAL

WP7Silverlight

.NetHtml 5

LAN, WAN, …

WCF RIA Services et OData

WCF RIA Services

OData (*)(http REST)

ProxyLINQCUD

SOAP(http)

RIA Specific (http SOAP bin)

ProxyLINQCUD

JSON(http REST)

ProxyLINQCUD

Génération des méthodes d’accès aux données Contrôles des droits d’accès aux méthodes

Page 24: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

26

DémoOuverture de WCF RIA Services via endpoint SOAP

Page 25: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

27

Data

DAL

WP7Silverlight

.NetHtml 5

WCF RIA Services et SOAP

WCF RIA Services

OData (*)(http REST)

ProxyCRUDLINQ

SOAP(http)

RIA Specific (http SOAP bin)

ProxyCRUDLINQ

JSON(http REST)

Génération des méthodes d’accès aux données Contrôles des droits d’accès aux méthodes

LAN, WAN, …

Page 26: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

28

DémoOuverture de WCF RIA Services via endpoint JSON

Page 27: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

29

Data

DAL

WP7Silverlight

.NetHtml 5

LAN, WAN, …

Avec WCF RIA Services

WCF RIA Services

OData (*)(http REST)

CRUDProxyLINQ

SOAP(http)

RIA Specific (http SOAP bin)

CRUDProxyLINQ

JSON(http REST)

CRUD

Génération des méthodes d’accès aux données Contrôles des droits d’accès aux méthodes

Page 28: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

30

4. WCF RIA Services

AvantagesAccélérateur pour Silverlight surtout si l’on se base sur les technos par défaut (Entity)Permet de s’ouvrir à OData (*), SOAP et JSON pour couvrir d’autres plateformes clientes

Inconvénients Surtout intéressant pour Silverlight(*) EndPoint Odata ne supporte pas les opérations CUD ni filtrage à la source

Page 29: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

32

Apports fonctionnels côté client/serveurClient Serveur

2. WCF Génération auto du proxy Ecriture manuelle de l’accès aux données

3. Odata Filtrage à la sourceSDK client Odata

Accessible par clients hétérogènes

4. WCF Data Services Génération ProxyLinq

Génération des services de données

5. WCF RIA Services Clients Silverlight:Masquage comm. client./serveurValidation saisieExpérience 1-tiersContrôles de haut niveauLinq

Clients OData:Pas d’accès CUD

Clients SOAP/JSON: pas de filtrage à la source

Publication des données possible en OData (*), SOAP et JSON

Page 30: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

33

Conclusion

• Si vous avez besoin d’exposer des données, il existe 2 frameworks intéressants :• WCF Data Services• WCF RIA Services

• Il n’y a pas de réponse unique, posez vous les bonnes questions et étudiez les limitations de chacun

• WCF est le socle commun des 2 et reste intéressant à utiliser dans certains scénarios (exposition de services métier)

Page 31: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

34

Merci et à bientôt !

Blogs:David : http://blogs.msdn.com/davrous Stéphanie : http://blogs.msdn.com/stephe

Page 32: 2 ARC 303 Choisir une technologie daccès aux données distantes Février 2011 David Rousset & Stéphanie Hertrich Relations Techniques Développeurs Microsoft

35

Restons en contact

groupe LinkedIn: Forum des Architectures Applicatives Microsoft

Ce forum regroupe des architectes en informatique qui ont des choix de technologies à faire dans les projets pour lesquels ils travaillent. L’architecte applicatif, en situation de projet, travaille typiquement aux côtés de la direction de projet pour choisir et assumer des choix techniques en fonction des contraintes du projet (fonctionnalités, délais, ressources). Pour effectuer ces choix à bon escient, il doit connaître ce que le marché offre en termes de technologies. Cela peut prend typiquement deux formes : veille technologique continue, recherches dans le cadre du projet.L’architecte applicatif a aussi pour rôle de faire le lien entre les équipes de développement et les équipes d’infrastructure et d’exploitation de la future application. Il doit également veiller à ce que ses choix soient bien mis en œuvre pendant le développement. Ce forum, à l’initiative de Microsoft France, a pour but d’aider les architectes applicatifs - à faciliter la connaissance de l’offre de Microsoft pour les projets en entreprise (envoi de liens vers des présentations, documents, webcasts, conférences, …), mais également - à échanger sur des problématique d’architecture ayant un rapport, même partiel, avec la plateforme Microsoft (est-ce que ADFS V2 fonctionne dans un environnement SAML2, comment se passe la réversibilité d’une application développée pour l’informatique en nuage, quelles sont les implications d’un déploiement sur une ferme Web, …). Cet espace est le vôtre, faites le vivre, nous sommes aussi et surtout là pour vous lire.

http://bit.ly/archiappms