locked
Silverlight + Services (WCF/RIA/Data Services) RRS feed

  • Question

  • Bonjour à tous,

    Dans le cadre d'un projet orienté métier, j'ai pour but de créer un projet se basant sur la technologie Silverlight.

    J'ai comme contrainte l'utilisation d'entités déjà existantes (donc pas d'utilisation d'ORM) et la création de services qui devront être utilisable par une application web, une application lourde, une application riche. A noter que je dois envisager deux solutions, une avec le framework 3.5 et une avec le 4.

    Le but principal est d'éviter la redondance de code (code métier, règle métier, etc...).

    A la base, je comptais partir sur l'architecture suivante :
    Silverlight 4 (en MVVM ?) <-> WCF <-> BLL <-> DAL <-> SQL Server 2008

    Cependant, je m'intéresse aussi aux solutions WCF Data Services et WCF RIA Services.

    • Quel est le choix le plus judicieux entre ces 3 technologies dans mon contexte ?
    • Sont-elles toutes utilisables pour mon problème ?
    • Est-il possible d'avoir ce qu'apporte WCF RIA Services (éviter de dupliquer le code côté client et serveur) via WCF ?
    • Est-ce qu'il y a une technologie qui est moins pérenne qu'une autre (comme le Linq-To-Sql envers EF) ?
    • Est-ce que l'on peut dire que WCF RIA/Data Services sont des sur-couches à WCF et permettent donc, en quelque sorte, de faire tout ce que fait WCF + d'autres améliorations ?
    • De plus, le fait d'avoir un client lourd qui va interroger ses services, n'exclut-il pas l'utilisation de WCF RIA Services ?

    De ce que j'ai pu lire, j'ai l'impression que WCF RIA Services réunit WCF et WCF Data Services. C'est à dire qu'il centralise la définition des règles de validation des données, il diffuse le modèle de données côté client, il y a un proxy de communication qui utilise Linq pour requêter (ADO.NET DataServices) et il gère la génération automatique des points de terminaison (WCF) lors du déploiement de l'application (au nombre de 3 : WsHttpBinding, BinaryHttpBinding et BasicHttpBinding).

    Ainsi, je vois différents chemins de résolution :
    - Avec .NET 3.5 : l'utilisation de WCF en créant un projet pour l'UI, un pour les services, et un autre stockant le business afin qu'il soit partager côté client et côté service.

    En effet, avec .NET 3.5, impossible d'utiliser RIA Services (disponible qu'en .NET 4 ?). Pour ce qui est de WCF Data Services, il faudrait opter pour ADO.NET Data Services. Hormis le nom qui a changé de ADO -> WCF, y a t il de grosses évolutions ?

    - Avec .NET 4.0 : soit WCF, soit RIA Services qui m'a l'air d'être une sur-couche à Data Services.

    Merci d'avance pour votre aide.

    jeudi 6 janvier 2011 16:40

Réponses

Toutes les réponses