Choisir une couche de services .Net (par Joël Descombes, SQLI) WCF Data Services

Apparue avec la version 3.5 du Framework .Net, WCF Data Services repose sur WCF. Il s'agit donc d'une extension. Contrairement aux technologies précédentes, WCF Data Services impose un contexte de données, qui est habituellement celui d'Entity Framework, l'ORM de Microsoft. Les services produits sont donc fortement liés au modèle de données, bien que l'ORM permette de créer un niveau d'abstraction intermédiaire.

Les services reposent uniquement sur le protocole Rest. WCF Data Services est donc fortement tourné vers l'Internet. Avec la sortie de la version 4 du Framework .Net, les services peuvent être rendus compatibles avec la norme OData.


Points forts et points faibles de WCF Data Services
Avantages Inconvénients
Source : SQLI
Aisé à mettre en œuvre.Pas de SOAP.
Utilise les protocoles de l'Internet.Contexte(s) de données obligatoire.
Compatibilité OData.Opérations entre contextes de données très difficile, sinon impossible.
Intégration à ASP.Net, notamment pour la gestion de la sécurité par les rôles.Technologie récente, et concurrente de Silverlight RIA Services.
Intégration avec Microsoft Azure.

On utilisera donc cette solution quand on souhaitera mettre en œuvre des services Rest, et qu'une forte exposition des données ne gène pas. Ce point est à apprécier avec justesse, car toute modification du modèle de données aura un impacte, quasi certain, sur les services exposés. On le choisira également, quand on souhaite une compatibilité avec OData. Par contre, si la cible des services concerne le développement d'une application Silverlight, on portera une attention particulière aux RIA Services présentés ci-après. Dans les autres cas, on choisira une solution purement WCF.