David Rousset - HTML5 & Gaming Technical Evangelist

HTML5 & Gaming Technical Evangelist

Comment développer des applications d’entreprises orientées données avec Silverlight 3 : introduction à .NET RIA Services (4/4)

Comment développer des applications d’entreprises orientées données avec Silverlight 3 : introduction à .NET RIA Services (4/4)

Rate This
  • Comments 13

Article mis à jour : 13 juillet 2009 pour la sortie de Silverlight 3 RTW et .NET RIA Services Juillet 2009

Ce billet est donc le dernier d’une série de quatre consacrés à l’introduction à .NET RIA Services. Voici le lien vers les autres billets:

- Introduction aux concepts derrière .NET RIA Services et vidéo Hello Word .NET RIA
- Création du squelette d’une application de gestion de clients en Silverlight 3 / .NET RIA Services
- Utilisation de nouveaux contrôles données de Silverlight 3 / Implémentation d’une règle de validation

Le résultat final en vidéo

Double-cliquez sur la vidéo pour la mettre en plein écran.

Get Microsoft Silverlight

Vous pouvez télécharger le code source complet correspondant au suivi de l’ensemble de ces étapes ici:

Conclusion

Nous n’avons vu ici qu’une infime partie des possibilités que nous apporte .NET RIA Services. Il y a d’autres choses intéressantes comme la restriction d’appels à certaines méthodes en fonction de l’appelant, la gestion des rôles et de l’authentification, la gestion des transactions. J’espère malgré tout vous avoir donné un bon aperçu des capacités de cette technologie et surtout de son intérêt principal : apporter une productivité accrue sur le développement d’application Web RIA. J’espère vous en avoir convaincu !

Les ressources complémentaires

Tout d’abord, commençons par ce qui a été présenté au MIX09 à Las Vegas en mars dernier :

- La session Building Amazing Business Centric Applications with Microsoft Silverlight 3 animée par Brad Abrams. Si vous n’avez pas beaucoup de temps, il faut absolument au moins voir cette session! De plus, Brad a eu l’excellente idée d’accompagner sa session d’un billet très détaillé sur son blog permettant de refaire la même application ici. Un must !

Vous pouvez notamment voir sa démo finale ici : http://www.hanselman.com/abrams/#/Views/HomePage.xaml offrant quelques fonctionnalités supplémentaires par rapport à ce que nous avons vu dans ces 4 billets comme une vue maitre/détail, un filtrage des éléments avec une AutocompleteTextbox et l’ajout d’un nouvel enregistrement à travers l’utilisation du contrôle DataForm nouveau également.

- La session .NET RIA Services - Building Data-Driven Applications with Microsoft Silverlight and Microsoft ASP.NET animée par Nikhil Kothari bien complémentaire de la session de Brad. Vous verrez par exemple comment utiliser une source storage de Windows Azure.

- Le document de référence actuel: Microsoft .NET RIA Services July 2009 Preview où l’on aborde en détail toutes les possibilités offertes par .NET RIA Services non couvertes par ces 4 articles (et elles sont nombreuses!)

Ensuite, voici une autre ressource que j’ai pris plaisir à lire :

- Développer des applications orientées “métier” avec Silverlight 3 et les .NET RIA Services ! sur le blog de Thomas Lebrun

L’un de mes prochains posts tentera de vous expliquer en quoi .NET RIA Services et certaines nouveautés supplémentaires de Silverlight 3 comme le deep linking et le framework de navigation vont vous permettre de grandement faciliter le travail de référencement de votre application RIA par un moteur de recherche : ce que l’on appelle donc SEO ou Search Engine Optimization.

A bientôt donc !

David

  • Merci pour cette série de billets.

    Reste une zone d'ombre que tu pourras peut-être éclaircir ...

    En termes de positionnement, sais tu comment va se placer ADO.Net Data Services une fois les RIA services releasés ?

    On a vu certaines technos .NET se comporter en 'etoiles filantes', par exemple xbap dont il ne faut presque plus prononcé le mot depuis la sortie de silverlight, ou Linq to SQL qui, cela a été annoncé, n'évoluera plus depuis que EF est releasé.

    ADO.NET DS vs RIA Services ça ressemble beaucoup à ces situations vécues dernièrement. Et développeur échaudé craint les technos froides (ou qui vont le devenir !).

    Faut-il donc dès aujourd'hui stopper tout investissement sous ADO.NET DS et attendre la finale de RIA Services ? Ou bien les deux vont-ils évoluer vers des domaines d'application différents ?

    Un petit coup de projecteur pour nous éclairer le chemin sur ce point serait une aide appréciée !

  • Merci pour cette présentation de RIA qui offre une IHM plus moderne et agréable que ce que j'ai pu entrevoir avec MVC.

    Justement, comment se positionnent RIA et MVC ?

    Et pour rejoindre le commentaire précédent, quel est leur avenir ?

    J'aimerais beacoup voir la présentation d'une application plus riche, avec d'autres controles comme par exemple des boutons qui donnent accès en édition à des tables liées. Pouvez-vous nous montrer cela ?

    Merci de votre réponse.

  • Hello David,

    Ravi de voir que tu as aimé mon billet sur .NET RIA Services :)

    Et encore bravo pour ta série de posts, elle est vraiment nickel pour ceux qui souhaitent débuter !

  • Bonjour à tous,

    Je vais d'abord répondre à Alain. MVC est un modèle de développement (pattern) qui n'est pas forcément spécifique au développement Web. Par contre, ASP.NET MVC est donc bien l'implémentation du pattern MVC au dessus d'ASP.NET, une technologie client/serveur web. Par défaut donc, ASP.NET MVC propose une vue type HTML classique potentiellement évoluée et RIA grace à l'utilisation d'AJAX.

    .NET RIA Services propose un modèle de simplication du développement n-tiers. Dans cette présention, le dernier tiers (la couche de présentation) fut Silverlight. Mais ce n'est qu'une présentation faite à travers une possibilité. On peut utiliser .NET RIA Services avec un client WPF.

    ASP.NET MVC est donc purement Web là où .NET RIA Services englobe plus de notions/scérios.

    Je verrais donc plutôt potentiellement .NET RIA Services concurrencer ASP.NET MVC uniquement si on l'utilisait dans un scénario Silverlight (comme dans mes 4 billets donc) et que l'on souhaitait également mettre en place une vue MVC en Silverlight. En effet, nous n'avons pas encore vu comment intégrer du silverlight au sein d'une application ASP.NET MVC. La relative complexité que cela engendrais rendrait fortement attractive le passage vers .NET RIA Services même si à nouveau ce sont des univers différents répondant à des besoins spécifiques.

    Par contre, un élément fortement différenciateur entre ces 2 scénarios reste donc Silverlight:

    - .NET RIA Services + Silverlight : utilise toute la stack Microsoft et propose une dépendance votre un plug-in propriétaire à Microsoft. L'avantage indéniable est une forte productivité et une simplification du développement en couche n-tiers.

    - ASP.NET MVC sans silverlight : permet d'utiliser les standards du Web (AJAX, jQuery), de maitriser le HTML généré et correspond donc plus à une population ne souhaitant pas pour l'instant avoir une adhérence au plug-in Silverlight. On a également un modèle en couche permettant l'insertion de tests unitaires mais la partie rendu client dans le navigateur reste principalement géré par le serveur à travers le HTML retourné.

    Bye,

    David

  • Pour répondre à Olivier sur ADO.NET Data Services vs .NET RIA Services, je n'ai pas trouvé mieux que la réponse de l'un des fameux responsables de la techno Nikhil : http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx . Voici le passage à retenir :

    ".NET RIA Services focuses on the programming model between the client and the server - the domain service and domain context and emphasizes those for the developer. It implements the underlying machinery using services. We're looking at building on top of WCF/ADO.NET Data Services for that machinery. It also means you'll be able to write explicit services, those that you define for consumption by "other applications" using the same technologies in a synergistic manner.

    The DomainService on the server itself can talk to any flavor of services, in addition to things like repositories and databases - the MIX demo I had on Azure was in fact using ADO.NET Data Services under the covers, since that is the API for Azure Storage. It can also talk to some other SOAP services you might have. Or it might talk to other specific RESTful services like Amazon, Twitter etc. I definitely need to do a sample demonstrating a repository."

    Par ailleurs, pour en avoir discuté avec Mitsu récemment, ADO.NET Data Services expose des ressources (vos données) là où .NET RIA Services expose des méthodes et votre logique métier. .NET RIA Services peut donc être vu comme une couche au-dessus d'ADO.NET Data Services comme le sous-entend Nikhil.

    David

  • D'après cet article et les conditions de téléchargement de la Beta, RIA services semblent intimement lié à Silverlight, malgré des concepts finalement très généraux.

    Est-il possible d'utiliser RIA Services avec WPF ou WinForms ?

  • A ma connaissance, il devrait être possible, à termes, d'utiliser .NET RIA Services avec WPF (aucunes idées pour WinForms par contre): ce n'est pas encore supporté pour le moment.

    Mais je laisse à David le soin de me corriger si je dit une bétise :)

  • Oui, Thomas a raison. L'utilisation native de .NET RIA Services depuis un client WPF est prévue mais pas encore supportée/implementée dans la beta actuelle.

    Pour WinForms, je suis presque sûr que cela ne sera pas supporté par contre mais pas à 100%. Wait and see.

  • Merci David pour vos explications.

    Concernant les tests unitaires, je ne crois pas avoir encore vu ce sujet traité, mais je n'ai peut-être pas tout lu sur ASP.NET MVC.

    Nous montrerez-vous cela ? et avec .NET RIA ?

  • Bonjour,

    bravo pour cet article fort interresant. J'aurais 2 questions simples je pense.

    Ou puis je heberger mon application silverlight (hebergeur francophone) et connaissez vous un tutoriel concernant les RIA et MySQL. Merci

  • Le tutot n'est plus valable pour Silverlight 4 et le framework  4.0

    WCF RIA Services for Visual Studio 2010 a completement changer les noms des assembly du coup en compilant le projet on obtient 80 erreurs.

     J'ai essayer de suivre le tuto en fesant la conversion de toutes les choses non valable dans SL4 mais c'est un peui lourd.

    Mais merci tout de même de ce tuto

  • Hello NTIC13,

    Effectivement, c'est pour ça que je l'ai plus ou moins mis à jour pour SL4/WCF RIA Services/VS 2010 ici : blogs.msdn.com/.../tutorial-silverlight-4-wcf-ria-services-avec-0-ligne-de-code.aspx

    Bye,

    David

  • Merci david,

    Je vais alors suivre le nouveau tuto

    Merci de cette bonne contribution

Page 1 of 1 (13 items)
Leave a Comment
  • Please add 7 and 2 and type the answer here:
  • Post