PDC 2009 : WCF Data Services
La 1ère information que Pablo Castro nous livrée lors de cette session (FT12) est qu'ADO.NET Data Services a été renommé en WCF Data Services. Ce dernier représente en fait le framework qui nous permet de créer des services RESTful. Le protocole lui, a été nommé OData pour Open Data Protocol. Cela permet de lever les ambiguïtés du passé avec ADO.NET Data Services.
En fait cette session a montré les dernières évolutions sur les Data Services dans .NET 3.5 SP1. Pas de réelle nouveauté (malgré le titre de la session).
Open Data Protocol
Qu'est ce qu'OData ? ceux qui utilisent les Data Services connaissent déjà :
- Type de service : RESTful (service orienté ressources interrogeable par Url)
- Protocole de support : HTTP
- Format de données :
- AtomPub (Atom + liens et collections, étendu) par défaut
- JSON si le client le supporte dans les headers
Nous avons eu droit a des démos de type "découverte" :
- Publication de données via l'Entity Framework
- Appel depuis un client jquery avec différentes Url pour filtrer et trier
- Fonctionnalité très puissante sur le filtrage côté serveur : en utilisant l'attribut QueryInterceptor afin de renvoyer des prédicats (delegates) qui serviront de filtre côté serveur

Les dernières évolutions qui ont été apportées dans WCF Data Services :
- Le support pour les blobs via les media link entries
- $count utile pour la pagination
- Projections : $select=FullName, JobTitle
- Feed customisaiton : mapping customisé entre les classes de données et ce qui est représenté
- Server driven paging : chaque requête renvoie un url pour avoir la prochaine page
OData everywhere!
Un point intéressant avec SharePoint 2010 est que les listes SharePoint sont exposées via OData (sans violer la couche de sécurité).
L'intégration d'un client pour OData dans Excel : on peut nativement afficher et travailler sur des données qui proviennent d'un feed.
OData va être utilisé de plus en plus dans les produits et solutions Microsoft (SharePoint, Excel, Azure avec “Dallas”). C’est un bon tournant car les Web Services (SOAP) sont trop souvent utilisés pour exposer des données, ce qui est plutôt maladroit : plus de complexité et à la fois moins de souplesse. OData est suffisamment simple pour être un dénominateur commun à de nombreuses plate-formes (au minimum il suffit d’avoir une pile HTTP pour être client). On peut espérer que les services RESTful se démocratisent de plus en plus, ce qui est facilité par WCF Data Services.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :