Architecture Silverlight LOB – Concepts et technologies (Partie 2)

J’ai utilisé RIA Services pendant les 4 derniers mois et une chose que j’ai trouver utile c’est la manière de communiquer avec le serveur et avec le modèle (du côté client) et par une API très bien définie qui rend facile la création d’un code très générique qui peut être utilisé pour créer des viewmodels réutilisable. C’est particulièrement utile quand vous avez des plusieurs personnes travaillant dans le même projet et vous voulez assurer que chacun codera de la même façon.

Cela ne signifie pas que vous ne devriez pas utiliser WCF aussi. Il y a des cas où WCF RIA Services n’est pas adapté. Par exemple, le cas de téléchargement de fichier. Dans cette situation il est préférable que vous créez un Service WCF ou un HttpHandler pour traiter les cas particuliers.

Pour notre couche de données les meilleures options sont de nos jours : NHibernate (utilisant Linq to NHIBERNATE) ou Entity Framework. Néanmoins, nous devrions encapsuler notre accès aux données par des objets repository et ne pas utiliser notre technologie d’acces aux données directement dans nos services. RIA Services produit le code client basé sur la réflexion et d’autres métadonnées qui sont appliqués dans nos entités de côté serveur. Si vous utilisez Entity Framework avec des Services RIA il a déjà un fournisseur de métadonnées spécifique qui peut comprendre des relations entre des entités et les produire correctement dans le client. Si vous voulez utiliser NHIBERNATE vous devrez spécifier des métadonnées supplémentaires dans vos entités. Pour la simplicité j’utiliserai Entity Framework. Il y a d’autres ressources sur le Web qui explique comment utiliser NHIBERNATE.

Aussi, je voudrais parler de MEF (Managed Extensibility Framework): la Structure d’Extensibilité Gérée est conçu pour nous aider à composer nos applications d’une façon détachée beaucoup plus facile que l’utilisation d’un conteneur IoC pour l’injection de dépendance. Vous annotez simplement vos classes avec Import/Export des attributs et MEF résoudra des dépendances entre des objets pour vous. Bien sûr il y a plus nous pouvons faire. Vous pouvez fournir des métadonnées en exportant un objet et importer seulement des objets qui suivent ce critère. MEF peut être utilisé pour télécharger le XAP’S quand une Importation doit être satisfaite et l’objet exporté est dans un autre XAP, qui aide des applications modulaires construisants. Il est dit que la nouvelle version de Prisme utilisera MEF pour ses caractéristiques fonctions de modularité, qui le rend encore plus intéressant.

Voici le lien vers la communauté MEF :

http://mef.codeplex.com/

Suite : prochain post

PS : cet article est une adaptation en français d’une suite d’articles par Manuel Felício

Kamel DJELLAL
Chef de projet
EDIS CONSULTING – GROUPE UBISIDE

http://www.ubiside.fr/

Laisser un commentaire