2010-10-19 8 views
0

Bonjour design Gurus et architectes,passage de clent riche (WPF) sur le Web basé (application Silverlight) pour une application multi-utilisateur

Nous avons un prototype de produit multi-utilisateur en WPF qui fonctionne très bien comme un prototype. Maintenant, nous voulons construire le produit complet.

Dans notre produit, nous avons des scénarios où 2 - 3 utilisateurs pourraient avoir à utiliser les mêmes données. Dites-nous un montage et l'autre utilisateur visualise les modifications continues. Et aussi, chaque fois qu'un utilisateur change un élément commun, les mises à jour doivent être envoyées à tous les autres utilisateurs du même élément, et ils doivent actualiser leurs informations. Et cela devrait arriver sans interrogation continue. Y a-t-il un avantage à aller vers le développement de produits basés sur le Web, par exemple dans Silverlight?

S'il vous plaît avis et si vous avez besoin de plus de détails, s'il vous plaît laissez un commentaire et je vais essayer d'être aussi élaboré que possible.

merci les gars.

Cordialement, Kedar

Répondre

2

Il n'y a absolument aucun avantage architectural à Silverlight sur WPF dans cette situation. Vos principaux avantages pour Silverlight sont: 1) un déploiement plus petit 2) une plateforme multiplateforme et 3) une expérience intégrée dans le navigateur. Cependant, du point de vue du développeur, vous pouvez trouver WPF meilleur pour développer ce type d'application collaborative car vous avez accès à un plus large éventail d'options de mise en réseau. Silverlight a des limites sur les ports TCP/UDP auxquels vous pouvez accéder et n'a aucun built-in peer to peer networking capabilities comme le fait WCF sur le .NET Framework.

Dans tous les cas, une application Silverlight est un client application client, pas vraiment plus d'une application Web que WPF, sauf en ce qui concerne le déploiement.

+0

Je suis d'accord avec vous. Dit que je ne trouve pas un outil de collaboration WPF en ligne à la recherche à titre d'exemple. En connaissez-vous? Et comme Jay l'a dit, le stockage de données est un gros point d'interrogation dans le cas où nous voulons que l'utilisateur A de la localité A édite l'article A et l'écran de l'utilisateur B de l'emplacement B se mette continuellement à jour avec les dernières modifications. – pskk

1

Peer to Peer (p2p) par rapport client/serveur

Votre question est vraiment à la façon dont vous souhaitez concevoir votre stockage de données. P2P: Souhaitez-vous que chaque copie de l'application conserve une copie complète des données et permette d'échanger des mises à jour avec les autres clients? Cela fonctionne bien dans un environnement LAN, mais devient difficile sur le large Internet. BitTorrent est un bon exemple d'application qui le fait.

P2P a généralement des performances plus élevées et moins de coûts, mais il est très difficile à retirer. Vous aurez besoin d'un transport réseau p2p comme PeerChannel, et probablement d'un moteur de synchronisation comme Sync Framework, et d'une forme de magasin de données local structuré comme SQLite. Client/Serveur: Voulez-vous qu'un ordinateur maître (serveur par exemple) héberge toutes les données et demande à chaque client de charger/mettre à jour les données sur le serveur? Cela fonctionne bien dans un environnement LAN ou Internet. Les navigateurs Web/serveurs Web en sont un bon exemple. Client/Serveur a la surcharge qu'un ordinateur serveur dédié doit toujours être impliqué et vous devez programmer deux applications, le côté client et le côté serveur. Silverlight ou WPF fonctionne bien pour la partie client de cette conception.

Si vous êtes prêt à relever un défi, le développement d'une application p2p peut être très amusant car il y a beaucoup d'obstacles à surmonter et le résultat final est généralement plus efficace. Cela nécessitera essentiellement que vous utilisiez WPF pour obtenir le support des bibliothèques/outils dont vous avez besoin. Si vous avez besoin de quelque chose qui fonctionne rapidement, vous constaterez que les outils que vous utilisez supportent beaucoup mieux le client/serveur, car c'est ainsi que la plupart des applications sont écrites. Ici, WPF et Silverlight fonctionneront tous les deux, mais ils ne sont qu'une partie de la solution - vous aurez besoin d'une technologie serveur comme SQL Server ou ASP.NET ou Azure ou ...

Questions connexes