2009-06-03 5 views
11

Nous sommes en train de créer une application Silverlight LOB n-tier et envisageons l'utilisation du service .NET RIA. Nous ne savons pas où cela correspond à notre API de service WCF actuelle. Notre architecture actuelle est:Services RIA .NET/Services WCF

Silverlight < ->service WCF < ->logique métier < ->Entity Framework Modèle < ->Database

Après avoir regardé Présentation de Nikhils Mix 09 il semblerait que .NET RIA Services remplacerait nos sections WCF et BusLog:

Silverlight < ->RIA Services < ->EF Modèle < ->DB

Ce qui est bien, attendons à ce que nous devons avoir une API standard de point de terminaison SOAP exposée pour une utilisation par autres applications (Biztalk, Intégration, etc.). Les services .NET RIA peuvent-ils être exposés en tant que points de terminaison SOAP sans l'exigence asynchrone?

Est-il facile d'implémenter un service WCF sur un service .NET RIA? Connaissez-vous de bons exemples en ligne?

Merci, Mark

Répondre

10

Oui - Dans la prochaine CTP pour RIA Services, nous aurons un soutien très agréable pour la définition du service WCF (via Astoria et WCF finale de la vanille) qui expose votre logique métier dans les services RIA. Vous aurez donc deux têtes sur votre implémentation RIA Services.

Silverlight < ---> Services RIA < ---> EF Modèle < ---> DB WCF < --->

Je dirais que ce modèle est logique si l'objectif principal est l'application Silverlight, cependant si le but principal est le service WCF, je m'accrocherais au modèle que vous avez aujourd'hui. Est-ce que cela aide?

..brad

+0

Merci Brad, votre conseil va de pair avec ce que nous faisons. Il est dommage que nous ne puissions pas exposer un point de terminaison WCF à partir de services .NET RIA car nous avons besoin d'une API de service, mais gérer les entités manuellement sur WCF nous cause beaucoup de souffrances à l'heure actuelle. Mark –

0

Nous examinons exactement le même scénario. En ce moment, nous pensons d'aller avec ce modèle:

Silverlight < -> RIA Services < -> WCF service < -> Business Logic < -> Entity Framework Modèle < -> Base de données

Nous serons en mesure d'héberger nos services WCF dans une variété de fixations. Nous utiliserons un appel inPoc de RIA vers WCF pour l'application Silverlight. Pour les utilisateurs externes des services WCF, nous les hébergeons avec un point de terminaison wsHttp.

Ainsi, dans notre scénario, nous obtenons le meilleur des deux. Les services RIA font partie d'un ensemble de services de présentation pour notre application qui facilite la programmation de l'application Silverlight (async). L'inconvénient est que nous avons ajouté une couche supplémentaire.

Pensées?

+0

Je vais être honnête, je ne pense pas que ce soit une bonne idée. Si vous placez les services RIA sur votre service WCF, vous perdrez tous les avantages de votre modèle EF une fois que vous aurez passé la couche WCF. Vous allez donc créer vos services .NET RIA en plus des objets déconnectés et des objets proxy créés par services spécifiques, et donc pas compatible avec d'autres services où ils sont utilisés. –

+0

Eh bien Mark, alors il semble que nous nous dirigeons vers un mauvais chemin aussi. Notre chemin était: Silverlight <-> RIA Services ou service WCF <-> WCF Façade <-> services App <-> Modèle de domaine <-> NHibernate <-> SQL Les services RIA || WCF Service vit en dehors de notre pare-feu et est construit pour cette application seulement. La couche Façade est à l'intérieur, toujours une façade par application. Les services App et le modèle de domaine sont POCO et partagés par toutes nos applications. Notre choix est de nous présenter les services RIA pour obtenir une configuration simplifiée et une authentification et une autorisation magiques, ou un simple WCF? – basscinner

+0

Il semble que tout cela change pour la prochaine version :-) Les services RIA sont appelés services WCF RIA et prendront en charge des points de terminaison supplémentaires. –

Questions connexes