2011-01-14 5 views
1

J'ai le scénario suivant:Out Of navigateur Silverlight application avec base de données hors ligne locale et WCF RIA

Nous développons une application silverlight 4 pour nos clients, qui sera utilisé comme une application hors navigateur. L'application fonctionne en mode hors connexion, c'est-à-dire que l'application et la base de données sont sur la machine locale des utilisateurs. L'application utilise les services WCF-RIA pour se connecter à la base de données locale. La base de données sera un SQL Server Express, SQL Server CE ou MySQL. Nous utilisons MVVMLight et MEF. Un serveur Web externe est uniquement utilisé pour mettre à jour l'application de temps à autre ou ajouter de nouveaux modules à l'application. Pour y parvenir, nous faisons quelque chose de similaire, comme indiqué dans le blog Jeremy Likness (http://www.wintellect.com/CS/blogs/jlikness/archive/2010/05/25/silverlight-out-of-browser-dynamic-modules- in-offline-mode.aspx)

Les raisons pour lesquelles nous faisons un tel scénario sont complexes. Mais pour être bref, c'est principalement pour des raisons de compatibilité avec une version ultérieure en ligne et nous ne voulons pas utiliser WPF. Nous devons donc travailler avec Silverlight et les services WCF-RIA.

Ok, c'est le scénario et voici la question:

Est-ce que nous avons besoin d'un serveur web local dans ce scénario? L'application est installée par programme hors navigateur, la base de données est locale et connectée via WCF-RIA.

Si oui, quel serveur web serait suffisant? Il doit être installé et configuré via une configuration initiale exécutée par le client. Le client ne devrait pas avoir à faire quoi que ce soit avec la configuration du serveur Web.

D'autres idées ou commentaires sur ce scénario? D'autres solutions possibles pour cela?

Merci pour votre aide
Dirk

Répondre

0

silverlight n'a pas été conçu pour être utilisé de cette façon, je pense. Donc, ce serait comme quand vous développez une application dans un studio visuel et utilisez Cassini pour voir le résultat - tout fonctionne localement - mais vous avez toujours besoin d'un serveur web. Peut-être plus d'informations ici - http://www.infoq.com/news/2010/06/WPF-vs-Silverlight

+0

Merci pour votre réponse. – Dirk

+0

Comme dit, nous ne pouvons pas utiliser WPF. – Dirk

+0

Nous voulons utiliser notre application SL4 hors ligne. Pour le moment, nous essayons d'installer un scénario avec IIS Express et SL4 avec un service WCF-RIA (comme nous le ferions avec un serveur distant "normal"). Cela fonctionne bien si VS 2010 est en cours d'exécution, mais pas lorsque nous essayons de démarrer l'application et le serveur IIS lorsque VS 2010 n'est pas en cours d'exécution. – Dirk

0

Je ne suis pas en mesure de fournir une réponse complète à votre problème, car nous sommes actuellement confrontés au même problème. (WPF ne pas être multi-plateforme, matériel très spécifique sur certains clients)

Mais je peux partager certaines de nos réflexions sur notre type de Gros-Silverlight-Client:

  1. Pour garder le déploiement, etc. nous simples utiliser un processus d'auto-hébergement (installé en tant que processus d'arrière-plan)
  2. Nous ne pouvons pas utiliser RIA comme le processus d'arrière-plan doit fonctionner en utilisant Mono VM (mais pour la solution MS-ne voir Can WCF RIA Services be self hosted?)

pensées architecturales sur autonome "Clients":

En fonction de vos besoins, l'implémentation d'un serveur pour chaque client communiquant avec le serveur "principal" par des messages (NServiceBus) peut être excessive. Mais si vous voulez utiliser une base de données client hors ligne et silverlight pour ui, vous devriez envisager d'utiliser une architecture pilotée par les événements.

Il existe un diaporama sur la combinaison de "Event-Driven-Architecture" & "CQRS" avec Silverlight. Mais je ne l'utiliserais pas comme un modèle plus comme une inspiration. http://www.slideshare.net/dennisdoomen/cqrs-and-event-sourcing-an-alternative-architecture-for-ddd

Questions connexes