38
palais des congrès Paris 7, 8 et 9 février 2012

Publication des données publiques (Open Data), WCF Data Services, OData

Embed Size (px)

DESCRIPTION

Les institutions publiques, dans un soucis de décloisonnement, de lisibilité et de transparence de l’action publique, cherchent à rendre leurs données accessibles aux citoyens. Le mouvement Open Data à la base d’innovations sociales et économiques dans la réutilisation des données ainsi libérées se combine bien avec une approche RESTful qui a largement pris le pas sur SOAP en termes de services Web. Dans ce cadre, le protocole ouvert de données OData se fonde sur les standards du Web pour rendre accessible une source de données depuis une très large variété de langages, d’environnements, d’applications, de services et de places de marché. OData précise certains points laissés à la discrétion du développeur de façon à ce qu'on ait une encore meilleure cohérence au moins sur la plateforme Microsoft. Cette session montre, dans le cadre du mouvement Open Data, comment OData peut être concrètement mis en œuvre, entre autres sur la plateforme Windows Azure.

Citation preview

Page 1: Publication des données publiques (Open Data), WCF Data Services, OData

palais des congrès Paris

7, 8 et 9 février 2012

Page 2: Publication des données publiques (Open Data), WCF Data Services, OData

Publication des données publiques (Open Data), WCF Data Services, OData

Philippe BERAUDSébastien BRASSEURDirection Technique et SécuritéMicrosoft France

Code Session : ARC202

http://blogs.msdn.com/ogdifrance

Sébastien PERTUSMVP SQL ServerBEWISE

Page 3: Publication des données publiques (Open Data), WCF Data Services, OData

Comprendre les points techniques clés pour rentrer de plein pied dans le mouvement Open DataPrésenter le protocole ouvert OData (Open Data Protocol), ses principes, ses usages et son large écosystèmeAborder WCF Data Services, l’implémentation Microsoft du protocole OData

Objectifs de la session

Page 4: Publication des données publiques (Open Data), WCF Data Services, OData

Open Data

1Ou la donnée publique accessible librement par tout le monde, de façon standard, compréhensible et consommable

http://fr.wikipedia.org/wiki/Open_data

Une donnée ouverte ((en) open data) est une information publique brute, qui a vocation à être librement accessible.

Page 5: Publication des données publiques (Open Data), WCF Data Services, OData

Caractéristiques essentielles selon l’Open Government Data1. Complètes2. Primaires3. Opportunes4. Accessibles5. Exploitables6. Non discriminatoires7. Non propriétaires8. Libres de droits

Données ouvertes

Page 6: Publication des données publiques (Open Data), WCF Data Services, OData

Action politique (transparence, participation, collaboration)Enrichir les analyses et les étudesOpportunités commercialesDévelopper de nouveaux produits/services innovantsNotoriété, image, différenciation

Libération des données, mais pourquoi faire ?

Page 7: Publication des données publiques (Open Data), WCF Data Services, OData

Entreprises et startupsCitoyensScientifiques(Data)JournalistesDéveloppeurs

Libération des données, mais pour qui ?

Page 8: Publication des données publiques (Open Data), WCF Data Services, OData

Toutes les données produites ou reçues par un acteur public dans l’exercice de ses missions de service public ont vocation à être réutilisable à l’exception :

Des données nominatives Des données personnelles Des donnés sensibles comme celles susceptibles de porter

atteinte à la sécurité publique Des données de tiers

Un travail nécessaire avant la libération des données Fichiers, Bases de données (relationnelles), Flux métier

Libération des données, mais lesquelles ?

Page 9: Publication des données publiques (Open Data), WCF Data Services, OData

Open Data en 3 étapes

Trier les données et

créer des flux de données

Créer un catalogue Open Data

Créer des applications à partir

du catalogue

1 2 3

Page 10: Publication des données publiques (Open Data), WCF Data Services, OData

Publication de fichiers "plats" en téléchargement  Quelques exemples de formats ouverts et/ou complètement

documentés Ex. XML, CSV, DAISY, KML/KMZ, DWG, ECW, KML, SHP, XLS,

RTF, etc. Trop contraignants pour les utilisateurs et développeurs

Publier des API pour consommer directement les données Bonne idée sur la base des approches SOAP ou de REST… …Mais problèmes d’unification

Potentiellement autant d’API que de jeux de données

Utiliser un protocole fondé sur les standards du Web comme OData

Un seul langage et même format quelles que soient les données

Comment publier les données ?

Page 11: Publication des données publiques (Open Data), WCF Data Services, OData

Libérer les données intelligemment

Données brutes = données indigestes et illisibles pour les citoyens

Données géographiques par exemple

Nécessité de développer des applications pour "mettre en scène" et/ou "mettre en action" les données

Galerie des usages et des applications

Page 12: Publication des données publiques (Open Data), WCF Data Services, OData

Nécessité de mettre à disposition/publication des applications sur les différentes places de marché pour en faire bénéficier au quotidien le plus grand nombre de citoyensBesoin de s’intégrer dans le SoLoMo !

Convergence entre réseaux sociaux, géolocalisation et nouveaux usages du mobile

Créer des applications à partir du cataloguePrévisions de ventes de Smartphones en France en 2011 : 11,8 Millions d’unités

(7,7 Millions en 2010). 300 Millions de Smartphones vendus dans le monde en 2010 (hausse de 72,1% par rapport à 2009)78% des internautes français sont inscrits sur au moins un réseau social (octobre 2010 ). Il y a 38 Millions d’internautes en France

Sources : Gartner et IFOP

Page 13: Publication des données publiques (Open Data), WCF Data Services, OData

Accompagnement des premiers lâchés de données pour l’émergence de scénarii et services réellement innovants

Orientation, stimulation, valorisation des concours de développeurs, des ateliers créatifs (barcamps, coding parties, etc.), etc.

Création d’un écosystème Open Data ! Nécessité d’amorcer le mouvement et de créer la dynamique

Illustration par l’usage (par ex. PowerPivot) Mise à disposition d’applications exemples sous licence libre

(par ex. Open Intelligence) Mise à disposition de Frameworks applicatifs sous licence

libre (par ex. Open Data Application Framework)

Libérer les données intelligemment

Page 14: Publication des données publiques (Open Data), WCF Data Services, OData

OData (Open Data Protocol)

2Un protocole Web pour requêter, exposer et mettre à jour des données de façon interopérable

http://www.odata.org

Page 15: Publication des données publiques (Open Data), WCF Data Services, OData

Approche traditionnelle d’une API Web

GetMovies(rating)

GetMovies(rating, skip, take, orderby)

GetMovies(rating, skip, take)

GetMovies(genre, skip, take, orderby)

GetMovies(yearFilmed, skip, take, orderby)

GetMovies(genre, rating)

GetFormats(movieId)GetActors(movieId, roleType)

GetActors(movieId)

GetActors(movieId, releaseYear)

GetUserRatings(movieId)

GetMovies(rating, genre, skip, take, orderby)

Page 16: Publication des données publiques (Open Data), WCF Data Services, OData

Un film est une ressource qui prend en charge : Des requêtes sur les propriétés, par ex. Movies where

rating = 5 La navigation sur les relations, par ex. Movies->Actors La pagination et le tri par le biais de résultats, par ex.

Skip 20, Take 10, orderby Name Les opérations CRUD (Create, Read, Update, Delete)

Quid d’une approche commune d’accès à l‘information via des services ?

Page 17: Publication des données publiques (Open Data), WCF Data Services, OData

Approche OData

Service OData

Métadonnées

HTTP

JSON

ATOM

JSON

JSON

GET ~/Movies(6)

POST ~/UserRatings

DELETE ~/UserRatings(5)

PUT ~/Customers(4)

GET ~/Movies(4)/Actors

GET ~/Movies?$filter=Rating eq 5

HTTPInteropérabilité (dispositifs et plateformes)MétadonnéesFormats (ATOM et JSON)Sémantique(GET/PUT/POST/DELETE) Conventions Uri et Langage de requête

Page 18: Publication des données publiques (Open Data), WCF Data Services, OData

DEMO

OData en action…avec Netflix

Page 19: Publication des données publiques (Open Data), WCF Data Services, OData

Antisèche OData ! ;-)

Syntaxe des options Limitation de la bande passante utilisée

$select, $filter, $top, $skip, $count

Utilisation de la compression standard HTTP

Limitation des allers-retours

$expand

$count

$expand

$filter

$format

$orderby

$skip

$top

Page 20: Publication des données publiques (Open Data), WCF Data Services, OData

Fondé sur les standards du Web Pour une approche RESTful

Spécification du protocole publiée sous licence OSP (Open Specification Promise)

Avec des fonctionnalités très simples donc faciles à implémenter quel que soit l’environnement, plateforme ou dispositif ciblé

Service de validation OData (Outercurve Foundation) Implémentée par un vaste écosystème (producteurs et

consommateurs) Avec de très nombreuses implémentations disponibles sous

license libre sur un vaste ensemble d’environnements, de plateformes/dispositifs/, de langages

En quoi OData est-il ouvert et interopérable ?

Page 21: Publication des données publiques (Open Data), WCF Data Services, OData

Version courante v2OData v3 en cours de finalisation

Sémantique Vocabulaires

Modèles riche et interaction Support des opérateurs Any et All, propriétés complexes,

actions Mobilité

Format JSON simplifié, types géo-spatiaux et requêtes spatiales, données hors ligne

Extensibilité Cf. session "OData Futures: Building the Web of Data"

OData : perspectives et évolutions

Page 22: Publication des données publiques (Open Data), WCF Data Services, OData

Utilisation d’OData par Microsoft

Page 24: Publication des données publiques (Open Data), WCF Data Services, OData

Applications Excel 2010 PowerPivot Excel DataScope (Microsoft Research), codename "Data Explorer"

(SQL Azure Labs), Power View for SQL Server 2012 LINQPad, OData Explorer, OData Sesame, Tableau

SDKs/Bibliothèques – génération de proxies en langage natif

.NET 3.5 SP1/4.0 : System.Data.Services HTML5/Web Mobile (JavaScript) : Datajs Java : Restlet, Odata4j, Google-gson Objective-C : OData Client For Objective-C PHP : ODataPHP, ODataDrupal, Extension OData for Joomla! Ruby : ruby_odata

Consommateurs OData

…Plus sur http://odata.org/consumers

Page 25: Publication des données publiques (Open Data), WCF Data Services, OData

DEMO

Netflix avec Pivot Silverlight 5 et Sesame

Page 26: Publication des données publiques (Open Data), WCF Data Services, OData

Entreprise Réduction de l’effet « silo de données » Plus largement utilisable que des interfaces personnalisées (mêmes

RESTful)

Web / Editeurs Stratégie commune pour exposer une API cohérente à travers un large

ensemble d'actifs Simplicité et prise en charge client (applications LOB, clients BI, mobiles)

Editeurs de données Moyen plus efficace d'exposer des données à un très large ensemble de

clients

Général API exploitable par tout langage disposant d’une pile HTTP et d’un parser

XML JSON : .NET, Java, JavaScript, PHP, Ruby, etc. API qui fonctionne bien avec tous les mobiles : iOS, Android, Windows Phone

7, etc.

Pourquoi adopter OData aujourd’hui ?

Page 27: Publication des données publiques (Open Data), WCF Data Services, OData

WCF Data Services

3L’implémentation Microsoft du protocole ouvert OData

Page 28: Publication des données publiques (Open Data), WCF Data Services, OData

Vous avez entendu parler de… Astoria ADO.NET Data Services

Aujourd’hui, le nom définitif c’est… WCF Data Services

WCF Data Services

Page 29: Publication des données publiques (Open Data), WCF Data Services, OData

OData, c’est… …Une spécification d’un modèle de données exposé sur

le Web et consommable par des messages simples HTTP

WCF Data Services, c’est…. …Un SDK et l’implémentation de la spécification OData

par Microsoft pour .NET

WCF Data Services

Page 30: Publication des données publiques (Open Data), WCF Data Services, OData

Interfaçage avec n’importe quelle source de donnée locale ou distante (via l’implémentation d’IEnumerable ou d’IQueryable

WCF Data Services

WCF Data Services

Business Logic/Authentication/Authorization

Entity Framework Provider

HTTP

Reflection Provider Custom Providers

Entity Framework .NET Types + IQueryable

Page 31: Publication des données publiques (Open Data), WCF Data Services, OData

La CTP d’octobre supporte la spécification V3 d’OData

Nouveautés Support Spatial Vocabulaires Actions

WCF Data Services

Page 32: Publication des données publiques (Open Data), WCF Data Services, OData

DEMO

Nouveautés de la CTP d’octobre

Page 33: Publication des données publiques (Open Data), WCF Data Services, OData

OData est un protocole ouvert facile à utiliser et à mettre en œuvre quel que soit son environnement

Que ce soit du coté producteur ou du côté consommateur

OData présente de nombreux intérêts dans le cadre du mouvement Open DataVenez découvrir les kits prêts à l’usage sous licence libre proposés par Microsoft pour rentrer de plein pied dans l’Open Data

Session INT203 aujourd’hui de 14h30 à 15h30

En guise de conclusion

Page 34: Publication des données publiques (Open Data), WCF Data Services, OData

Des ressources Windows Azure gratuites

Testez Windows Azure gratuitement pendant 90 jours

http://aka.ms/tester-azure-90j

Abonnés MSDN, vous bénéficiez de Windows Azure

http://aka.ms/activer-azure-msdn

Page 35: Publication des données publiques (Open Data), WCF Data Services, OData

Chaque semaine, les DevCampsALM, Azure, Windows Phone, HTML5, OpenData

http://msdn.microsoft.com/fr-fr/devcamp

Téléchargement, ressources et toolkits : RdV sur MSDN

http://msdn.microsoft.com/fr-fr/

Les offres à connaître 90 jours d’essai gratuit de Windows Azure

www.windowsazure.fr

Jusqu’à 35% de réduction sur Visual Studio Pro, avec l’abonnement MSDN www.visualstudio.fr

Pour aller plus loin

10 février 2012

Live Meeting

Open Data - Développer des applications riches avec le protocole Open Data

16 février 2012

Live Meeting

Azure series - Développer des applications sociales sur la plateforme Windows Azure

17 février 2012

Live Meeting Comprendre le canvas avec Galactic et la librairie three.js

21 février 2012

Live Meeting La production automatisée de code avec CodeFluent Entities

2 mars 2012

Live Meeting

Comprendre et mettre en oeuvre le toolkit Azure pour Windows Phone 7, iOS et Android

6 mars 2012

Live Meeting Nuget et ALM

9 mars 2012

Live Meeting Kinect - Bien gérer la vie de son capteur

13 mars 2012

Live Meeting Sharepoint series - Automatisation des tests

14 mars 2012

Live Meeting

TFS Health Check - vérifier la bonne santé de votre plateforme de développement

15 mars 2012

Live Meeting

Azure series - Développer pour les téléphones, les tablettes et le cloud avec Visual Studio 2010

16 mars 2012

Live Meeting

Applications METRO design - Désossage en règle d'un template METRO javascript

20 mars 2012

Live Meeting

Retour d'expérience LightSwitch, Optimisation de l'accès aux données, Intégration Silverlight

23 mars 2012

Live Meeting

OAuth - la clé de l'utilisation des réseaux sociaux dans votre application

Prochaines sessions des Dev Camps

Page 36: Publication des données publiques (Open Data), WCF Data Services, OData

Portail dédié au protocole OData http://www.odata.org

Portail MSDN dédié http://msdn.microsoft.com/odata

Channel 9 http://channel9.msdn.com/Tags/odata

Contenu dédié à la pile des technologies Web de Microsoft

http://trainingkit.webcamps.ms/OData.htm

Pour aller plus loin sur OData

Page 37: Publication des données publiques (Open Data), WCF Data Services, OData

Portail MSDN dédié http://msdn.microsoft.com/fr-fr/library/cc668792.aspx

Weblog de l’équipe produit http://blogs.msdn.com/b/astoriateam/

Forum WCF Data Services http://

social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/threads

Pour aller plus loin sur WCF Data Services

Page 38: Publication des données publiques (Open Data), WCF Data Services, OData

Microsoft France39, quai du président Roosevelt

92130 Issy-Les-Moulineaux

www.microsoft.com/france