SlideShare une entreprise Scribd logo
1  sur  38
palais des
congrès
Paris



7, 8 et 9
février 2012
Publication des données publiques (Open
Data), WCF Data Services, OData
Code Session : ARC202

Philippe BERAUD              Sébastien PERTUS
Sébastien BRASSEUR              MVP SQL Server
Direction Technique et Sécurité BEWISE
Microsoft France



                                                 http://blogs.msdn.com/ogdifrance
Objectifs de la session

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


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




1
Données ouvertes

   Caractéristiques essentielles selon l’Open Government
   Data
   1.   Complètes
   2.   Primaires
   3.   Opportunes
   4.   Accessibles
   5.   Exploitables
   6.   Non discriminatoires
   7.   Non propriétaires
   8.   Libres de droits
Libération des données, mais pourquoi faire
?
   Action politique (transparence, participation, collaboration)
   Enrichir les analyses et les études
   Opportunités commerciales
   Développer de nouveaux produits/services innovants
   Notoriété, image, différenciation
Libération des données, mais pour qui ?

   Entreprises et startups
   Citoyens
   Scientifiques
   (Data)Journalistes
   Développeurs
Libération des données, mais lesquelles ?

   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
Open Data en 3 étapes


         1                  2                   3

   Trier les données      Créer un      Créer des applications
   et créer des flux   catalogue Open    à partir du catalogue
      de données             Data
Comment publier les données ?
   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
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
Créer des applications à partir du catalogue




    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
    citoyens
    Besoin de s’intégrer dans le SoLoMo !
       Convergence entre réseaux sociaux, géolocalisation et nouveaux
        usages du mobile
Libérer les données intelligemment

   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)
OData (Open Data Protocol)


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




2
Approche traditionnelle d’une API Web



       GetActors(movieId, roleType)                                    GetFormats(movieId)
GetMovies(rating)                                       GetMovies(genre, skip, take, orderby)
                   GetUserRatings(movieId)
       GetMovies(rating, skip, take)  GetMovies(yearFilmed, skip, take, orderby)
           GetMovies(rating, skip, take, orderby)
                                                                               GetMovies(genre, rating)
       GetActors(movieId)           GetMovies(rating, genre, skip, take, orderby)
     GetActors(movieId, releaseYear)
Quid d’une approche commune d’accès à
l‘information via des services ?
   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)
Approche OData                                      HTTP
                                                    Interopérabilité (dispositifs et plateformes
                                                    Métadonnées
                                                    Formats (ATOM et JSON)
                                                    Sémantique(GET/PUT/POST/DELETE)
         GET ~/Movies(6)
           JSON                                     Conventions Uri et Langage de requête
                  POST ~/UserRatings
                  JSON


                     DELETE ~/UserRatings(5)
                         ATOM


                           PUT ~/Customers(4)
                                  JSON
    Service
                                    HTTP
    OData              GET ~/Movies?$filter=Rating eq 5
                       GET ~/Movies(4)/Actors
      Métadonnées
DEMO
OData en action…
avec Netflix
Antisèche OData ! ;-)

   Syntaxe des options   Limitation de la bande
            $count       passante utilisée
                            $select, $filter, $top, $skip,
            $expand
                             $count
            $filter         Utilisation de la
            $format          compression standard
                             HTTP
            $orderby
                         Limitation des allers-
            $skip
                         retours
            $top            $expand
En quoi OData est-il ouvert et interopérable
?
   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
OData : perspectives et évolutions

   Version courante v2
   OData 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"
Utilisation d’OData par Microsoft
Adoption d’OData par l’industrie
Consommateurs 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!
                                          …Plus sur http://odata.org/consumers
      Ruby : ruby_odata
DEMO
Netflix avec Pivot
Silverlight 5 et Sesame
Pourquoi adopter OData aujourd’hui ?
   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.
WCF Data Services


  L’implémentation Microsoft du protocole ouvert OData




3
WCF Data Services

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


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

   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


                                              WCF Data Services

                                    Business Logic/Authentication/Authorization



        Entity Framework Provider               Reflection Provider               Custom Providers

            Entity Framework                 .NET Types + IQueryable




   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

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

   Nouveautés
      Support Spatial
      Vocabulaires
      Actions
DEMO
Nouveautés de la CTP d’octobre
En guise de conclusion

   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 Data
   Venez 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
Des ressources Windows Azure gratuites


   Testez Windows Azure      Abonnés MSDN, vous
   gratuitement pendant 90   bénéficiez de Windows
   jours                     Azure
       http://aka.ms/          http://aka.ms/
        tester-azure-90j         activer-azure-msdn
Pour aller plus loin
  Chaque semaine, les DevCamps               Prochaines sessions des Dev
  ALM, Azure, Windows Phone, HTML5,          Camps
                                              10 février
                                                2012
                                                           Live Meeting
                                                                          Open Data - Développer des applications riches avec le protocole Open
                                                                          Data

  OpenData                                    16 février
                                                2012
                                                           Live Meeting
                                                                          Azure series - Développer des applications sociales sur la plateforme
                                                                          Windows Azure

      http://msdn.microsoft.com/fr-          17 février
                                                2012
                                                           Live Meeting   Comprendre le canvas avec Galactic et la librairie three.js


       fr/devcamp                             21 février
                                                2012
                                                           Live Meeting   La production automatisée de code avec CodeFluent Entities

                                               2 mars                     Comprendre et mettre en oeuvre le toolkit Azure pour Windows Phone 7,
                                                           Live Meeting
                                                2012                      iOS et Android

                                               6 mars
                                                           Live Meeting   Nuget et ALM
  Téléchargement, ressources et                 2012

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

  toolkits : RdV sur MSDN                       2012

                                              13 mars
                                                           Live Meeting   Sharepoint series - Automatisation des tests
                                               2012

      http://msdn.microsoft.com/fr-fr/       14 mars
                                               2012
                                                           Live Meeting
                                                                          TFS Health Check - vérifier la bonne santé de votre plateforme de
                                                                          développement

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

                                              16 mars                     Applications METRO design - Désossage en règle d'un template METRO
  Les offres à connaître                       2012

                                              20 mars
                                                           Live Meeting
                                                                          javascript

                                                                          Retour d'expérience LightSwitch, Optimisation de l'accès aux données,
                                                           Live Meeting
      90 jours d’essai gratuit de Windows     2012

                                              23 mars
                                                                          Intégration Silverlight

                                                           Live Meeting   OAuth - la clé de l'utilisation des réseaux sociaux dans votre application
       Azure www.windowsazure.fr               2012




       Jusqu’à 35% de réduction sur Visual
Pour aller plus loin sur 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 WCF Data
Services
   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
Microsoft France
39, quai du président Roosevelt
  92130 Issy-Les-Moulineaux

  www.microsoft.com/france

Contenu connexe

En vedette

C. bosqué 24-09
C. bosqué 24-09C. bosqué 24-09
C. bosqué 24-09
IRI
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
camelus
 
Caperucita morada y los aliens
Caperucita morada y los aliensCaperucita morada y los aliens
Caperucita morada y los aliens
hermanosargensola
 
Energías
Energías Energías
Energías
montshb
 

En vedette (20)

C. bosqué 24-09
C. bosqué 24-09C. bosqué 24-09
C. bosqué 24-09
 
Publicación El Nalón (Oviedo). 17 7-1842. Página 6 Cuento del Castillo de Pri...
Publicación El Nalón (Oviedo). 17 7-1842. Página 6 Cuento del Castillo de Pri...Publicación El Nalón (Oviedo). 17 7-1842. Página 6 Cuento del Castillo de Pri...
Publicación El Nalón (Oviedo). 17 7-1842. Página 6 Cuento del Castillo de Pri...
 
Session d'information - Programme ICCF @ HEC Paris
Session d'information - Programme ICCF @ HEC ParisSession d'information - Programme ICCF @ HEC Paris
Session d'information - Programme ICCF @ HEC Paris
 
CJD - Guide illustré - Objectif : Cohésion en Région
CJD - Guide illustré - Objectif : Cohésion en RégionCJD - Guide illustré - Objectif : Cohésion en Région
CJD - Guide illustré - Objectif : Cohésion en Région
 
responsive design
responsive designresponsive design
responsive design
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
La nourriture
La nourritureLa nourriture
La nourriture
 
Preparer ses voyages
Preparer ses voyagesPreparer ses voyages
Preparer ses voyages
 
Echos de Samilia 2014
Echos de Samilia 2014 Echos de Samilia 2014
Echos de Samilia 2014
 
Cintia carpio
Cintia carpioCintia carpio
Cintia carpio
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logicielles
 
Les préférences et les caractéristiques des personnes suicidaires utilisatric...
Les préférences et les caractéristiques des personnes suicidaires utilisatric...Les préférences et les caractéristiques des personnes suicidaires utilisatric...
Les préférences et les caractéristiques des personnes suicidaires utilisatric...
 
Réduire l'empreinte carbone dans les écoles
Réduire l'empreinte carbone dans les écolesRéduire l'empreinte carbone dans les écoles
Réduire l'empreinte carbone dans les écoles
 
Caperucita morada y los aliens
Caperucita morada y los aliensCaperucita morada y los aliens
Caperucita morada y los aliens
 
Webquest como estrategia de enseñanza y aprendizaje
Webquest como estrategia de enseñanza y aprendizajeWebquest como estrategia de enseñanza y aprendizaje
Webquest como estrategia de enseñanza y aprendizaje
 
07 expo reforma 2011 ingles
07 expo reforma 2011 ingles07 expo reforma 2011 ingles
07 expo reforma 2011 ingles
 
Les activités de Veni Vidi Ludi
Les activités de Veni Vidi LudiLes activités de Veni Vidi Ludi
Les activités de Veni Vidi Ludi
 
Un village hors du commun
Un village hors du communUn village hors du commun
Un village hors du commun
 
Energías
Energías Energías
Energías
 

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

Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
Tugdual Grall
 
03 Web Semantique
03  Web Semantique03  Web Semantique
03 Web Semantique
badirh
 

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

Open Data Ready ! Libérez vos données avec OData et le Cloud
Open Data Ready ! Libérez vos données avec OData et le CloudOpen Data Ready ! Libérez vos données avec OData et le Cloud
Open Data Ready ! Libérez vos données avec OData et le Cloud
 
Smartday 2017 - Importance des API dans l'Open Data
Smartday 2017 - Importance des API dans l'Open DataSmartday 2017 - Importance des API dans l'Open Data
Smartday 2017 - Importance des API dans l'Open Data
 
code4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABEScode4lib 2011 : choses vues et entendues par l'ABES
code4lib 2011 : choses vues et entendues par l'ABES
 
Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented Architecture
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...
#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...
#OSSPARIS19 - Gouvernance des données dans le contexte Big Data - REX datalak...
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18
Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18
Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18
 
2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...
2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...
2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...
 
Projet Domurpic
Projet DomurpicProjet Domurpic
Projet Domurpic
 
Principes et fonctionnalités d'un portail open data www.open datasoft.com
Principes et fonctionnalités d'un portail open data   www.open datasoft.comPrincipes et fonctionnalités d'un portail open data   www.open datasoft.com
Principes et fonctionnalités d'un portail open data www.open datasoft.com
 
Les systèmes de base de donnée
Les systèmes de base de donnéeLes systèmes de base de donnée
Les systèmes de base de donnée
 
De l’open source à l’open cloud
De l’open source à l’open cloudDe l’open source à l’open cloud
De l’open source à l’open cloud
 
03 Web Semantique
03  Web Semantique03  Web Semantique
03 Web Semantique
 
L'Open Data avec OpenDataSoft - 2011
L'Open Data avec OpenDataSoft - 2011L'Open Data avec OpenDataSoft - 2011
L'Open Data avec OpenDataSoft - 2011
 
Web APIs in Action (in French)
Web APIs in Action (in French)Web APIs in Action (in French)
Web APIs in Action (in French)
 
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en ODataDe A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicative
 

Plus de Microsoft Ideas

Présentation inwink
Présentation inwink  Présentation inwink
Présentation inwink
Microsoft Ideas
 
Digital Meeting : la Digital Workplace appliquée aux réunions.
Digital Meeting : la Digital Workplace appliquée aux réunions.Digital Meeting : la Digital Workplace appliquée aux réunions.
Digital Meeting : la Digital Workplace appliquée aux réunions.
Microsoft Ideas
 

Plus de Microsoft Ideas (20)

37 editeurs de logiciels et startups marketing
37 editeurs de logiciels et startups marketing 37 editeurs de logiciels et startups marketing
37 editeurs de logiciels et startups marketing
 
Présentation inwink
Présentation inwink  Présentation inwink
Présentation inwink
 
Blockchain au-delà de la finance : pourquoi toutes les industries sont concer...
Blockchain au-delà de la finance : pourquoi toutes les industries sont concer...Blockchain au-delà de la finance : pourquoi toutes les industries sont concer...
Blockchain au-delà de la finance : pourquoi toutes les industries sont concer...
 
L'évolution du métier du DAF induite par la transformation digitale
L'évolution du métier du DAF induite par la transformation digitale L'évolution du métier du DAF induite par la transformation digitale
L'évolution du métier du DAF induite par la transformation digitale
 
Bureau du futur - Campus Connecté : état des lieux !
Bureau du futur - Campus Connecté : état des lieux !Bureau du futur - Campus Connecté : état des lieux !
Bureau du futur - Campus Connecté : état des lieux !
 
Mobilité, opportunités et risques, comment mettre la DSI de votre côté ?
Mobilité, opportunités et risques,  comment mettre la DSI de votre côté ?Mobilité, opportunités et risques,  comment mettre la DSI de votre côté ?
Mobilité, opportunités et risques, comment mettre la DSI de votre côté ?
 
La révolution io t au service des opérations des aéroports
La révolution io t au service des opérations des aéroportsLa révolution io t au service des opérations des aéroports
La révolution io t au service des opérations des aéroports
 
Mulhouse ville de toutes les intelligences
Mulhouse ville de toutes les intelligencesMulhouse ville de toutes les intelligences
Mulhouse ville de toutes les intelligences
 
Le "Yoga collaboratif" : catalyseur de transformation pour les entreprises
Le "Yoga collaboratif" : catalyseur de transformation pour les entreprisesLe "Yoga collaboratif" : catalyseur de transformation pour les entreprises
Le "Yoga collaboratif" : catalyseur de transformation pour les entreprises
 
ERP dans le Cloud, cette union fera-t-elle votre force demain ?
ERP dans le Cloud,  cette union fera-t-elle votre force demain ? ERP dans le Cloud,  cette union fera-t-elle votre force demain ?
ERP dans le Cloud, cette union fera-t-elle votre force demain ?
 
Réalité augmentée, réalité virtuelle comment vont-elles changer notre vie ?
Réalité augmentée, réalité virtuelle comment vont-elles changer notre vie ? Réalité augmentée, réalité virtuelle comment vont-elles changer notre vie ?
Réalité augmentée, réalité virtuelle comment vont-elles changer notre vie ?
 
Pourquoi le collaboratif bouleverse le management ? 
Pourquoi le collaboratif bouleverse le management ? Pourquoi le collaboratif bouleverse le management ? 
Pourquoi le collaboratif bouleverse le management ? 
 
Transformation numérique d’un client dans le secteur de l’industrie avec Offi...
Transformation numérique d’un client dans le secteur de l’industrie avec Offi...Transformation numérique d’un client dans le secteur de l’industrie avec Offi...
Transformation numérique d’un client dans le secteur de l’industrie avec Offi...
 
Platypus un nouvel objet des mers – Une experience sous-marine inédite !
Platypus un nouvel objet des mers – Une experience sous-marine inédite !Platypus un nouvel objet des mers – Une experience sous-marine inédite !
Platypus un nouvel objet des mers – Une experience sous-marine inédite !
 
L'impact de l'innovation Data sur le monde du médico-social
L'impact de l'innovation Data sur le monde du médico-socialL'impact de l'innovation Data sur le monde du médico-social
L'impact de l'innovation Data sur le monde du médico-social
 
Digital Meeting : la Digital Workplace appliquée aux réunions.
Digital Meeting : la Digital Workplace appliquée aux réunions.Digital Meeting : la Digital Workplace appliquée aux réunions.
Digital Meeting : la Digital Workplace appliquée aux réunions.
 
33 éditeurs de logiciel avec solutions marketing
33 éditeurs de logiciel avec solutions marketing33 éditeurs de logiciel avec solutions marketing
33 éditeurs de logiciel avec solutions marketing
 
Les enjeux de la gestion des actifs logiciels à l’heure du cloud
Les enjeux de la gestion des actifs logiciels à l’heure du cloudLes enjeux de la gestion des actifs logiciels à l’heure du cloud
Les enjeux de la gestion des actifs logiciels à l’heure du cloud
 
Un business agile avec des systèmes agiles, comment s'appuyer sur un cloud hy...
Un business agile avec des systèmes agiles, comment s'appuyer sur un cloud hy...Un business agile avec des systèmes agiles, comment s'appuyer sur un cloud hy...
Un business agile avec des systèmes agiles, comment s'appuyer sur un cloud hy...
 
Le business veut tout, tout de suite ? Etes-vous passé en mode IT as a Service ?
Le business veut tout, tout de suite ? Etes-vous passé en mode IT as a Service ?Le business veut tout, tout de suite ? Etes-vous passé en mode IT as a Service ?
Le business veut tout, tout de suite ? Etes-vous passé en mode IT as a Service ?
 

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

  • 1. palais des congrès Paris 7, 8 et 9 février 2012
  • 2. Publication des données publiques (Open Data), WCF Data Services, OData Code Session : ARC202 Philippe BERAUD Sébastien PERTUS Sébastien BRASSEUR MVP SQL Server Direction Technique et Sécurité BEWISE Microsoft France http://blogs.msdn.com/ogdifrance
  • 3. Objectifs de la session Comprendre les points techniques clés pour rentrer de plein pied dans le mouvement Open Data Présenter le protocole ouvert OData (Open Data Protocol), ses principes, ses usages et son large écosystème Aborder WCF Data Services, l’implémentation Microsoft du protocole OData
  • 4. Open Data Ou la donnée publique accessible librement par tout le monde, de façon standard, compréhensible et consommable 1
  • 5. Données ouvertes Caractéristiques essentielles selon l’Open Government Data 1. Complètes 2. Primaires 3. Opportunes 4. Accessibles 5. Exploitables 6. Non discriminatoires 7. Non propriétaires 8. Libres de droits
  • 6. Libération des données, mais pourquoi faire ? Action politique (transparence, participation, collaboration) Enrichir les analyses et les études Opportunités commerciales Développer de nouveaux produits/services innovants Notoriété, image, différenciation
  • 7. Libération des données, mais pour qui ? Entreprises et startups Citoyens Scientifiques (Data)Journalistes Développeurs
  • 8. Libération des données, mais lesquelles ? 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
  • 9. Open Data en 3 étapes 1 2 3 Trier les données Créer un Créer des applications et créer des flux catalogue Open à partir du catalogue de données Data
  • 10. Comment publier les données ? 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
  • 11. 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
  • 12. Créer des applications à partir du catalogue 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 citoyens Besoin de s’intégrer dans le SoLoMo !  Convergence entre réseaux sociaux, géolocalisation et nouveaux usages du mobile
  • 13. Libérer les données intelligemment 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)
  • 14. OData (Open Data Protocol) Un protocole Web pour requêter, exposer et mettre à jour des données de façon interopérable 2
  • 15. Approche traditionnelle d’une API Web GetActors(movieId, roleType) GetFormats(movieId) GetMovies(rating) GetMovies(genre, skip, take, orderby) GetUserRatings(movieId) GetMovies(rating, skip, take) GetMovies(yearFilmed, skip, take, orderby) GetMovies(rating, skip, take, orderby) GetMovies(genre, rating) GetActors(movieId) GetMovies(rating, genre, skip, take, orderby) GetActors(movieId, releaseYear)
  • 16. Quid d’une approche commune d’accès à l‘information via des services ? 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)
  • 17. Approche OData HTTP Interopérabilité (dispositifs et plateformes Métadonnées Formats (ATOM et JSON) Sémantique(GET/PUT/POST/DELETE) GET ~/Movies(6) JSON Conventions Uri et Langage de requête POST ~/UserRatings JSON DELETE ~/UserRatings(5) ATOM PUT ~/Customers(4) JSON Service HTTP OData GET ~/Movies?$filter=Rating eq 5 GET ~/Movies(4)/Actors Métadonnées
  • 19. Antisèche OData ! ;-) Syntaxe des options Limitation de la bande $count passante utilisée  $select, $filter, $top, $skip, $expand $count $filter  Utilisation de la $format compression standard HTTP $orderby Limitation des allers- $skip retours $top  $expand
  • 20. En quoi OData est-il ouvert et interopérable ? 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
  • 21. OData : perspectives et évolutions Version courante v2 OData 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"
  • 23. Adoption d’OData par l’industrie
  • 24. Consommateurs 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! …Plus sur http://odata.org/consumers  Ruby : ruby_odata
  • 26. Pourquoi adopter OData aujourd’hui ? 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.
  • 27. WCF Data Services L’implémentation Microsoft du protocole ouvert OData 3
  • 28. WCF Data Services Vous avez entendu parler de…  Astoria  ADO.NET Data Services Aujourd’hui, le nom définitif c’est…  WCF Data Services
  • 29. WCF Data Services 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
  • 30. WCF Data Services WCF Data Services Business Logic/Authentication/Authorization Entity Framework Provider Reflection Provider Custom Providers Entity Framework .NET Types + IQueryable Interfaçage avec n’importe quelle source de donnée locale ou distante (via l’implémentation d’IEnumerable ou d’IQueryable
  • 31. WCF Data Services La CTP d’octobre supporte la spécification V3 d’OData Nouveautés  Support Spatial  Vocabulaires  Actions
  • 32. DEMO Nouveautés de la CTP d’octobre
  • 33. En guise de conclusion 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 Data Venez 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
  • 34. Des ressources Windows Azure gratuites Testez Windows Azure Abonnés MSDN, vous gratuitement pendant 90 bénéficiez de Windows jours Azure  http://aka.ms/  http://aka.ms/ tester-azure-90j activer-azure-msdn
  • 35. Pour aller plus loin Chaque semaine, les DevCamps Prochaines sessions des Dev ALM, Azure, Windows Phone, HTML5, Camps 10 février 2012 Live Meeting Open Data - Développer des applications riches avec le protocole Open Data OpenData 16 février 2012 Live Meeting Azure series - Développer des applications sociales sur la plateforme Windows Azure  http://msdn.microsoft.com/fr- 17 février 2012 Live Meeting Comprendre le canvas avec Galactic et la librairie three.js fr/devcamp 21 février 2012 Live Meeting La production automatisée de code avec CodeFluent Entities 2 mars Comprendre et mettre en oeuvre le toolkit Azure pour Windows Phone 7, Live Meeting 2012 iOS et Android 6 mars Live Meeting Nuget et ALM Téléchargement, ressources et 2012 9 mars Live Meeting Kinect - Bien gérer la vie de son capteur toolkits : RdV sur MSDN 2012 13 mars Live Meeting Sharepoint series - Automatisation des tests 2012  http://msdn.microsoft.com/fr-fr/ 14 mars 2012 Live Meeting TFS Health Check - vérifier la bonne santé de votre plateforme de développement 15 mars Azure series - Développer pour les téléphones, les tablettes et le cloud Live Meeting 2012 avec Visual Studio 2010 16 mars Applications METRO design - Désossage en règle d'un template METRO Les offres à connaître 2012 20 mars Live Meeting javascript Retour d'expérience LightSwitch, Optimisation de l'accès aux données, Live Meeting  90 jours d’essai gratuit de Windows 2012 23 mars Intégration Silverlight Live Meeting OAuth - la clé de l'utilisation des réseaux sociaux dans votre application Azure www.windowsazure.fr 2012 Jusqu’à 35% de réduction sur Visual
  • 36. Pour aller plus loin sur 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
  • 37. Pour aller plus loin sur WCF Data Services 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
  • 38. Microsoft France 39, quai du président Roosevelt 92130 Issy-Les-Moulineaux www.microsoft.com/france

Notes de l'éditeur

  1. Open Source OData Library for Objective-C Project Moves to Outercurve Foundation (http://blogs.technet.com/b/port25/archive/2011/12/20/open-source-odata-library-for-objective-c-project-moves-to-outercurve-foundation.aspx)