Developpez.com - Microsoft DotNET
X

Choisissez d'abord la catégorieensuite la rubrique :


Silverlight 4 + RIA Services - Prêt pour les affaires

Exposer des services OData

Date de publication : 14/02/2012. Date de mise à jour : 20/02/2012.

Par Brad Abrams Blog

 Deepin Prayag (Traduction) Site personnel

 

Cet article fait partie d'une série de traductions d'articles de Brad Abrams sur le développement d'applications métier avec Silverlight 4 et .NET RIA Services.
Cette série se concentre uniquement sur la base des applications métier : l'interrogation, la mise à jour, la validation et la sécurisation de vos données métier importantes.
Elle sera également utilisée pour mettre à jour certains billets de la série Silverlight 3.

       Version PDF (Miroir)   Version hors-ligne (Miroir)
Viadeo Twitter Facebook Share on Google+        



Traduction
Prérequis
Exposer des services OData
Conclusion
Liens
Remerciements


Traduction

Cet article est la traduction la plus fidèle possible de l'article original de Brad Abrams, Silverlight 4 + RIA Services - Ready for Business: Exposing OData Services


Prérequis

La procédure pas à pas requiert :


J'ai implémenté cela avec Silverlight 4 RC, mais je m'attends à ce que cela fonctionne avec Silverlight 4 RTM.


Exposer des services OData

OData est un ensemble d'extensions émergentes pour le protocole ATOM qui rend plus facile le partage de données sur le Web. Pour mettre en valeur OData dans RIA Services, continuons notre série. Nous pensons qu'il est très intéressant d'exposer OData à partir d'un DomainService pour faciliter le partage de données. Par exemple je pourrais vouloir que les utilisateurs puissent accéder à mes données de manière riche dans Excel aussi bien que mon client Silverlight personnalisé. Je voudrais être en mesure de permettre cela sans écrire de multiples services ou sans dupliquer aucune logique métier ou logique d'accès aux données.


Ceci est très facile à activer avec RIA Services. En fait, il suffit d'une case à cocher ! Quand vous créez votre DomainService, cochez tout simplement la case « Expose OData endpoint » et cela exposera votre DomainService comme un flux OData.

image

Si vous avez déjà créé un DomainService, c'est facile d'activer OData dessus également en faisant les deux choses que fait cet assistant.


Premièrement, il ajoute un point de terminaison (en anglais, endpoint) à la section domainServices du web.config.
<system.serviceModel>
    <domainServices>
      <endpoints>
        <add name="OData" 
             type="System.ServiceModel.DomainServices.Hosting.ODataEndpointFactory, System.ServiceModel.DomainServices.Hosting.OData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      </endpoints>
    </domainServices>

Deuxièmement, sur chaque méthode de requête sans paramètres que vous souhaitez exposer par l'intermédiaire d'OData, marquer la requête comme étant par défaut. Ça veut dire qu'à chaque fois qu'il y a une requête pour Plate, c'est cette méthode de requête qui sera utilisée.
        [Query(IsDefault = true)]
        public IQueryable<Plate> GetPlates()
        {
Une fois que tout cela est fait vous pouvez interroger le service et voir un flux Atom. Le format de l'adresse URL est espace de noms (namespace)+nom du type (typename)pour le domainservice et les points sont remplacés par des tirets suivi de « .svc/Odata/ ». Donc, si la classe DomainService est MyApp.Web.DishViewDomainService alors l'adresse URL sera http://localhost:30045/myapp-web-DishViewDomainService.svc/OData/

image

image

C'est vraiment cool que les données soient dans un format ouvert basé sur Atom. Mais ce qui est encore mieux c'est qu'il y a un écosystème naissant de clients qui peuvent consommer ce flux. L'un des plus intéressants est l'add-in Excel appelé PowerPivot.


Une fois que vous l'avez installé avec Excel 2010, sélectionnez la fenêtre PowerPivot.

image
image
image
image
image
image

Ensuite vous pouvez utiliser toute la puissance d'Excel. Donc, si vous voulez trier par nombre de mises à Jour, avec une note de 4 ou supérieur, avec un nombre de calories entre 3000 et 4000, et ensuite présenter cela dans un graphe d'une façon intéressante, vous pouvez facilement le faire... Le tout avec les données « live » sans aucun code d'application personnalisé.


Ce que nous avons montré dans cette procédure pas à pas c'est comment exposer OData à partir de votre DomainService et consommer cela dans Excel. Ceci n'est qu'un avant-gout de la prise en charge OData à venir dans le futur dans RIA Services.


Conclusion

Ceci conclut la huitième partie de cette série. Dans la prochaine partie nous verrons comment exposer des services WCF (SOAP/WSDL).


Liens


Remerciements

Je tiens ici à remercier Brad Abrams pour son aimable autorisation de traduire l'article.
Je remercie tomlev pour sa relecture technique et ses propositions.
Je remercie également xyz pour sa relecture orthographique et ses propositions.



               Version PDF (Miroir)   Version hors-ligne (Miroir)

Valid XHTML 1.0 TransitionalValid CSS!

Copyright © 2012 Brad Abrams. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.

Responsable bénévole de la rubrique Microsoft DotNET : Hinault Romaric -