Question

Nous essayons de convertir en ancienne application client serveur scolaire dans une application N-Tier avec synchronisation et de soutien hors ligne en utilisant toutes les technologies Microsoft (nous sommes un total boutique .Net et SQL Server). Nous voulons mettre l'accent sur l'écriture logique métier au lieu de passer du temps sur plumé, donc nous allons utiliser autant la technologie existante Microsoft pluming possible.

Jusqu'à présent, nous avons décidé d'utiliser SQL Server Compact Edition avec WinForm / WPF client lourd, SQL Server 2008 sur le serveur, Microsoft Sync Framework pour effectuer la synchronisation entre le client SQL DB et le serveur SQL DB. Jusqu'à présent, si bon.

problème vient que quand nous essayons de mettre en œuvre la partie « N Tier ». Notre application actuelle est assez SOA. Chaque appel d'accès aux données se fait à travers le service Web. Alors, naturellement, nous avons pensé à l'utilisation ADO.Net Data Service. Ensuite, il est venu nous une agréable surprise qu'il ya quelque chose appelé ADO.Net Data Service hors ligne (Astoria Hors ligne), qui nous permettent de faire appel d'accès aux données via le service Web, support de synchronisation et même un soutien hors ligne. Tout à coup, nous avons commencé à croire que le ciel est vraiment un endroit sur la terre.

Et puis hier, notre coéquipier qui est responsable de la recherche à nous dire « Astoria Hors ligne » que « Astoria Offline est mort » basé sur le billet de blog ( http://blogs.msdn.com/astoriateam/archive/2009/03/07 /announcing-project-codename-astoria-offline-alpha-preview.aspx ). Nous supposions qu'il est sur le crack mais ne voulait pas le défier. Le fait est que Astoria hors ligne est toujours en mode pré-alpha, et nous avons besoin d'une solution de production.

autre que Astroia hors ligne, est-il une autre solution similaire qui nous permettent d'utiliser Microsoft Sync Framework dans l'établissement N-tier qui prennent en charge également le mode hors ligne?

Était-ce utile?

La solution

Si vous envisagez de ADO.NEt Data Services, vous pouvez très bien constater que les services de synchronisation de ADO.NET sont un bon moyen pour vous. Selon le senario vous essayez de créer. Alternativement accès aux données à distance peut s'adapter mieux.

Vous pouvez choisir Sync Services: 1.Supports la résolution des conflits. suivi des 2.Change sur le serveur, ainsi que le client afin que les différences sont échangées de données seulement. 3.Peer to Peer de synchronisation dans la v2 prochaine Sync Framework. 4.Sync avec des bases de données autres que SQL Server. 5.Best adapté pour SSCE en cours d'exécution sur un ordinateur de bureau ou portable.

RDA peut vous fournir de meilleures performances si: 1.your clés primaires utilisent GUIDs au lieu de colonnes d'identité. 2.Users ne remplacent pas les données de l'autre de sorte que vous ne avez pas besoin de résolution de conflits. La règle de « La dernière Wins » fonctionne pour vous. 3. Pendant que vous voulez index pour être poussé vers le bas, vous ne vous inquiétez pas si votre base de données locale SSCE a des contraintes d'intégrité référentielle appliquées. 4.You veulent envelopper les modifications que vous téléchargez sur SQL Server dans une transaction afin que toutes les modifications sont appliquées ou aucun d'entre eux sont. Suivi sur le 5. Changer client est assez bon et re-téléchargement des tables de serveur mises à jour ne prend pas trop de temps. Les développeurs 6.You ne me dérange pas d'écrire un code de synchronisation. 7.Be pouvant exécuter des procédures SQL et stockées directement sur SQL Server via IIS. 8.You're téléchargement de données en lecture seule.

Si vous avez besoin quelque chose de plus, juste crier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top