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.

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

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 laccès aux données Structurer et stockerFichiers, DB, Tables, Relations Multi-client, résolution des conflits Serveur de BDD Simplifier laccè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 ? Evolution de laccès aux données

4 Data DAL WP7 Silverlight.Net Html5 LAN, WAN, … ? ? Exposition des données Consommation et manipulation des données De quoi parle-t-on ?

5 Agenda Présentation des candidats Caractéristiques Démo Remise en contexte client avec diagramme Conclusion

6 Les nominés sont… 1. WCF 2. OData 3. WCF Data Services 4. WCF RIA Services Il ny aura pas 1 seul gagnant. Tout dépend du contexte de déploiement et dutilisation de votre application.

7 1. WCF Caractéristiques Exposition 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 lhébergement (exe, Service, IIS) … Accès aux données: Ecriture manuelle des méthodes daccès et de manipulation des données (=métier)

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 daccès aux données (DAL) : Entity Framework : table Customer

9 IIS,.exe, service Windows WCF : Découplage entre le service et sa publication Customers ICustomers Get() Create() Update Delete().config httptcp binaryMSMQ… EndPoints definitions

10 Démo Accès aux données distantes à travers WCF

11 2. WCF dans le contexte de laccè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 laccès générique à des données Convient mieux à des services métiers, dont les cas dutilisation sont plus prédictibles

12 Data DAL WP7 Silverlight.Net Html 5 JavaScript JQuery LAN, WAN, … Avec WCF WCF http SOAP Binary tcp … http REST Proxy

13 2. OData Caractéristiques Exposition de données à travers des URI http REST sous la forme de flux Atom ou JSON Accessible par des clients hétérogènes (.Net ou pas) SDK clients ( Filtrage à la source Méthodes CRUD

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

15 2. OData Avantages Filtrage à la source Interopérabilité SDK et librairies clientes ( OData : de plus en plus dapplications 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 !)

16 3. WCF Data Services WCF Data Services est une implémentation de OData pour.Net Génération automatique des méthodes daccès et de manipulation des données

17 Démo Accès aux données distantes avec WCF Data Services

18 3. WCF Data Services Avantages Avantages de OData Génération automatique des méthodes daccès et de manipulation des données Accélérateurs pour.Net côté client et serveur avec WCF Data Services

19 Data DAL WP7Silverlight.Net Html 5, Objective-C, Java, … LAN, WAN, … Avec WCF Data Services WCF Data Services http REST Proxy + LINQ Génération des méthodes daccès aux données SDKs clients

20 4. WCF RIA Services Technologie permettant de simplifier et daccélérer le développement de laccès aux données par un client Silverlight Répondre à ce besoin principal : création dapplications RIA dentreprise avec une architecture n-tiers Scénario très vertical

21 Démo 5 min pour vous convaincre de la productivité de WCF RIA Services !

22 WCF RIA Services Mais cest uniquement pour Silverlight ?!?

23 Data DAL WP7 Silverlight.Net Html 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 daccès aux données Contrôles des droits daccès aux méthodes

24 Démo Ouverture de WCF RIA Services via endpoint OData

25 Data DAL WP7 Silverlight.Net Html 5 LAN, WAN, … WCF RIA Services et OData WCF RIA Services OData (*) (http REST) Proxy LINQ CUD SOAP (http) RIA Specific (http SOAP bin) Proxy LINQ CUD JSON (http REST) Proxy LINQ CUD Génération des méthodes daccès aux données Contrôles des droits daccès aux méthodes

26 Démo Ouverture de WCF RIA Services via endpoint SOAP

27 Data DAL WP7 Silverlight.Net Html 5 WCF RIA Services et SOAP WCF RIA Services OData (*) (http REST) Proxy CRUD LINQ SOAP (http) RIA Specific (http SOAP bin) Proxy CRUD LINQ JSON (http REST) Génération des méthodes daccès aux données Contrôles des droits daccès aux méthodes LAN, WAN, …

28 Démo Ouverture de WCF RIA Services via endpoint JSON

29 Data DAL WP7 Silverlight.Net Html 5 LAN, WAN, … Avec WCF RIA Services WCF RIA Services OData (*) (http REST) CRUD Proxy LINQ SOAP (http) RIA Specific (http SOAP bin) CRUD Proxy LINQ JSON (http REST) CRUD Génération des méthodes daccès aux données Contrôles des droits daccès aux méthodes

30 4. WCF RIA Services Avantages Accélérateur pour Silverlight surtout si lon se base sur les technos par défaut (Entity) Permet de souvrir à OData (*), SOAP et JSON pour couvrir dautres plateformes clientes Inconvénients Surtout intéressant pour Silverlight (*) EndPoint Odata ne supporte pas les opérations CUD ni filtrage à la source

31 Data DAL WP7 Silverlight.Net Html 5 LAN, WAN, … Avec WCF RIA Services WCF RIA Services OData (*) (http REST) Proxy LINQ CUD SOAP (http) RIA Specific (http SOAP bin) Proxy LINQ CUD Proxy LINQ Masquage comm. client/serveur Validation saisie Expérience 1- tiers Contrôles de haut niveau JSON (http REST) Proxy LINQ CRUD Génération des méthodes daccès aux données Contrôles des droits daccès aux méthodes

32 Apports fonctionnels côté client/serveur ClientServeur 2. WCFGénération auto du proxyEcriture manuelle de laccès aux données 3. OdataFiltrage à la source SDK client Odata Accessible par clients hétérogènes 4. WCF Data ServicesGénération Proxy Linq Génération des services de données 5. WCF RIA ServicesClients Silverlight: Masquage comm. client./serveur Validation saisie Expérience 1-tiers Contrôles de haut niveau Linq Clients OData: Pas daccès CUD Clients SOAP/JSON: pas de filtrage à la source Publication des données possible en OData (*), SOAP et JSON

33 Conclusion Si vous avez besoin dexposer des données, il existe 2 frameworks intéressants : WCF Data Services WCF RIA Services Il ny 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)

34 Merci et à bientôt ! Blogs: David : Stéphanie :

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. Larchitecte 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. Larchitecte applicatif a aussi pour rôle de faire le lien entre les équipes de développement et les équipes dinfrastructure et dexploitation de la future application. Il doit également veiller à ce que ses choix soient bien mis en œuvre pendant le développement. Ce forum, à linitiative de Microsoft France, a pour but daider les architectes applicatifsCe forum, à linitiative de Microsoft France, a pour but daider les architectes applicatifs - à faciliter la connaissance de loffre 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 darchitecture 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é dune application développée pour linformatique en nuage, quelles sont les implications dun déploiement sur une ferme Web, …). Cet espace est le vôtre, faites le vivre, nous sommes aussi et surtout là pour vous lire.Cet espace est le vôtre, faites le vivre, nous sommes aussi et surtout là pour vous lire.