Vue d'ensemble de WCF Data Services

Services de données WCF permet de créer et de consommer des services de données pour le Web ou un Intranet à l'aide du protocole Protocole OData (Open Data) . OData vous permet d'exposer vos données sous forme de ressources adressables par des URI. Cela vous permet d'accéder aux données et de les modifier à l'aide de la sémantique REST (representational state transfer), spécifiquement, les verbes HTTP standard GET, PUT, POST et DELETE. Cette rubrique inclut une vue d'ensemble des modèles et des pratiques définis par OData  ainsi que des fonctionnalités fournies par Services de données WCF  pour tirer parti de OData  dans les applications basées sur .NET Framework.

Adresser des données comme ressources

OData expose les données comme ressources adressables par des URI. Les chemins d'accès aux ressources sont construits selon les conventions de relation d'entité de l'Entity Data Model. Dans ce modèle, les entités représentent des unités opérationnelles de données dans un domaine d'application, par exemple les clients, les commandes, les éléments et les produits. Pour plus d'informations, consultez Entity Data Model.

Dans OData , vous adressez des ressources d'entité comme un jeu d'entités qui contient des instances de types d'entité. Par exemple, l'URI http://services.odata.org/Northwind/Northwind.svc/Customers('ALFKI')/Orders retourne toutes les commandes du service de données Northwind qui sont associées au client ayant une valeur CustomerID équivalente à ALFKI.

Les expressions de requête vous permettent d'effectuer des opérations de requête traditionnelles sur des ressources, telles que filtrer, trier et paginer. Par exemple, l'URI http://services.odata.org/Northwind/Northwind.svc/Customers('ALFKI')/Orders?$filter=Freight gt 50 filtre les ressources de façon à retourner uniquement les commandes dont le coût de fret est supérieur à 50 $. Pour plus d'informations, consultez Accès aux ressources de service de données (WCF Data Services).

Accès aux données interopérables

OData tire parti des protocoles Internet standard pour rendre les services de données interactifs avec les applications qui n'utilisent pas .NET Framework. Comme vous pouvez faire appel à des URI standard pour adresser des données, votre application peut accéder à des données et les modifier en utilisant la sémantique REST, en particulier les verbes HTTP standard GET, PUT, POST et DELETE. De cette manière, vous pouvez accéder à ces services depuis tout client qui peut analyser et accéder aux données transmises sur des protocoles HTTP standard. 

OData définit un jeu d'extensions au protocole AtomPub. Il prend en charge les requêtes et les réponses HTTP sous plusieurs formats de données pour prendre en charge des plateformes et des applications clientes diverses. Un flux OData peut représenter des données dans Atom, JSON (JavaScript Object Notation), et sous forme de XML ordinaire. Bien qu'Atom soit le format par défaut, le format du flux est spécifié dans l'en-tête de la requête HTTP. Pour plus d'informations, consultez OData : Format Atom et OData : Format JSON.

Lors de la publication de données sous forme de flux OData , Services de données WCF s'appuie sur d'autres outils Internet existants pour ce type d'opération, comme la mise en cache et l'authentification. Pour cela, Services de données WCF s'intègre avec des applications et des services d'hébergement existants, tels qu'ASP.NET, Windows Communication Foundation (WCF) et les Services Internet (IIS). 

Indépendance de stockage

Bien que les ressources soient adressées selon un modèle de relation d'entité, Services de données WCF expose les flux OData indépendamment de la source de données. Après l'acceptation par Services de données WCF d'une demande HTTP pour une ressource identifiée par un URI, la demande est désérialisée et une représentation de cette demande est passée à un fournisseur Services de données WCF . Ce fournisseur traduit la requête dans un format spécifique à la source de données et exécute la requête sur la source de données sous-jacente. Services de données WCF effectue l'indépendance de stockage en séparant le modèle conceptuel qui adresse des ressources prescrites par OData du schéma spécifique de la source de données sous-jacente.

Services de données WCF s'intègre à ADO.NET Entity Framework pour vous permettre de créer des services de données qui exposent des données relationnelles. Vous pouvez utiliser les outils Entity Data Model pour créer un modèle de données qui contient des ressources adressables en tant qu'entités et définir en même temps le mappage entre ce modèle et les tables dans la base de données sous-jacente. Pour plus d'informations, consultez Fournisseur Entity Framework (WCF Data Services)

Services de données WCF vous permet également de créer des services de données qui exposent les structures de données qui retournent une implémentation de l'interface IQueryable. De cette manière, vous pouvez créer des services de données qui exposent des données à partir de types .NET Framework. Les opérations de création, mise à jour et suppression sont prises en charge lorsque vous implémentez aussi l'interface IUpdatable. Pour plus d'informations, consultez Fournisseur de réflexion (WCF Data Services).

Pour voir comment Services de données WCF s'intègre avec ces fournisseurs de données, consultez le diagramme architectural plus loin dans cette rubrique.

Logique métier personnalisée

Services de données WCF facilite l'ajout d'une logique métier personnalisée à un service de données via des opérations de service et des intercepteurs. Les opérations de service sont des méthodes définies sur le serveur qui sont adressables par des URI sous la même forme que des ressources de données. Les opérations de service peuvent également utiliser la syntaxe d'expression de requête pour filtrer, classer et paginer des données retournées par une opération. Par exemple, l'URI https://localhost:12345/Northwind.svc/GetOrdersByCity?city='London'&$orderby=OrderDate&$top=10&$skip=10 représente un appel à une opération de service nommée GetOrdersByCity sur le service de données Northwind qui retourne des commandes de clients de Londres et des résultats paginés triés par OrderDate. Pour plus d'informations, consultez Opérations de service (WCF Data Services).

Les intercepteurs permettent à la logique d'application personnalisée d'être intégrée dans le traitement des messages de réponse ou de demande par un service de données. Les intercepteurs sont appelés lorsqu'une action de requête, d'insertion, de mise à jour ou de suppression a lieu dans le jeu d'entités spécifié. Un intercepteur peut alors modifier les données, appliquer la stratégie d'autorisation ou même mettre fin à l'opération. Les méthodes d'intercepteur doivent être enregistrées explicitement pour un jeu d'entités donné exposé par un service de données. Pour plus d'informations, consultez Intercepteurs (WCF Data Services).

Bibliothèque clientes

OData définit un jeu de modèles uniformes pour l'interaction avec les services de données. Ainsi, il est possible de créer des composants réutilisables selon ces services, comme des bibliothèques côté client qui simplifient la consommation de ces services de données.

Services de données WCF inclut des bibliothèques clientes pour les applications clientes .NET Framework et Silverlight. Ces bibliothèques clientes vous permettent d'interagir avec les services de données en utilisant des objets .NET Framework. Elles prennent également en charge des requêtes basées sur des objets et des requêtes LINQ, le chargement des objets connexes, le suivi des modifications et la résolution d'identité. Pour plus d'informations, consultez Bibliothèque cliente de WCF Data Services.

En plus du protocole OData , les bibliothèques clientes incluses avec le .NET Framework et avec Silverlight, il existe d'autres bibliothèques clientes qui vous permettent de consommer un flux OData dans des applications clientes, telles que des applications PHP, AJAX et Java. Pour plus d'informations, consultez OData SDK.

Vue d'ensemble de l'architecture

Le diagramme suivant illustre l'architecture Services de données WCF pour les flux OData et l'utilisation de ces flux dans les OData - bibliothèques clientes actives :

Diagramme de l'architecture des Services de données WCF

Voir aussi

Concepts

WCF Data Services
Mise en route de WCF Data Services

Autres ressources

Définition de WCF Data Services
Accessing a Data Service (WCF Data Services)
Bibliothèque cliente de WCF Data Services
Representational State Transfer (REST)