Vue d'ensemble de la synchronisation collaborative
Sync Framework vous permet de synchroniser des données entre homologues ; chaque homologue peut effectuer une synchronisation avec un autre homologue sans que les modifications transitent par un concentrateur central. Comme la synchronisation hors connexion, la synchronisation d'égal à égal peut être utilisée lorsque les applications ne disposent pas d'une connexion de réseau cohérente ou fiable, mais cette partie de l'API porte avant tout sur les applications de collaboration. Prenons l'exemple d'une application qui permet aux utilisateurs de partager des notes de projet ; il n'est pas rare que des membres de l'équipe de projet préfèrent travailler sur une copie des données en local. Une fois leurs modifications réalisées, ils peuvent effectuer une synchronisation avec un autre membre de l'équipe pour échanger ces modifications, ou bien synchroniser les modifications avec un serveur central.
Fondée sur les API d'accès aux données de ADO.NET, l'API de synchronisation de bases de données de Sync Framework vous permet de synchroniser les données de manière intuitive. Avec Sync Framework, la création d'applications pour des environnements de collaboration devient une suite logique à la création d'applications pour les utilisateurs qui peuvent dépendre d'une connexion réseau permanente. Pour plus d'informations sur l'architecture de l'API, consultez Architecture et classes pour la synchronisation collaborative.
Comparaison de Sync Framework avec d'autres technologies
Microsoft offre plusieurs technologies conçues pour les applications qui effectuent la synchronisation. La technologie la plus significative en termes de comparaison avec la synchronisation d'égal à égal est la réplication transactionnelle d'égal à égal. Elle est utilisée pour synchroniser au moins deux bases de données SQL Server édition Enterprise. Bien qu'il soit utile de comparer les deux technologies, la réplication transactionnelle d'égal à égal est conçue pour la synchronisation de serveur à serveur qui fournit l'évolutivité et une haute disponibilité. Sync Framework est conçu pour la synchronisation client-à-serveur et client-à-client qui prend en charge des applications de collaboration.
Utilisez le tableau suivant pour tenter de déterminer la technologie appropriée aux applications que vous voulez générer.
Fonctionnalités clés | Réplication transactionnelle d'égal à égal | Sync Framework |
---|---|---|
Synchronisation à l'aide de services |
Non |
Oui |
Synchronisation avec d'autres types de magasins de données1 |
Non |
Oui |
Suivi des modifications incrémentielles2 |
Oui |
Oui |
Détection et résolution de conflit3 |
Oui |
Oui |
Initialisation automatique du schéma et des données |
Oui |
Non |
Prise en charge des jeux de données volumineux |
Oui |
Oui |
Propagation automatique des modifications de schéma |
Oui |
Non |
1 Les bases de données peuvent échanger des informations avec d'autres sources de données prises en charge par Sync Framework, telles que les services Web, les systèmes de fichiers ou les magasins de données personnalisés.
2 Sync Framework utilise le suivi des modifications nettes, dans lequel la dernière version d'une ligne est synchronisée. Avec la réplication transactionnelle d'égal à égal, toutes les modifications apportées à une ligne sont appliquées dans l'ordre à chaque homologue.
3 La réplication fournit une fonction de résolution de conflit intégrée, alors que Sync Framework propose une infrastructure permettant de créer un schéma de résolution de conflit.
Sync Framework offre la souplesse d'un modèle de programmation tel que les jeux de données hors ligne et un ensemble de fonctionnalités de synchronisation plus riche que dans la réplication. La réplication s'adresse aux administrateurs de base de données ; elle a pour but de synchroniser les bases de données SQL Server. La réplication fournit des fonctionnalités importantes avec des possibilités de configuration via les Assistants, les procédures stockées et sa propre API. Sync Framework s'adresse aux développeurs et prend en charge la synchronisation avec d'autres types de magasins de données et la synchronisation sur les services, par exemple, Windows Communication Foundation (WCF).
Pour certaines applications, la décision d'utiliser une technologie est facile : si vous devez avoir des composants séparés pour activer la synchronisation sur différents transports ou services, ou synchroniser une source de données autre qu'une base de données, Sync Framework est la solution. Si vous êtes un administrateur de base de données qui conçoit un système pour l'évolutivité et une haute disponibilité ou qui souhaite configurer la synchronisation sans beaucoup programmation, la réplication est un meilleur choix. Enfin, vous devez examiner soigneusement les spécifications de l'application et déterminer si l'API de Sync Framework constitue la technologie appropriée. Si vous voulez faire plus que répliquer un schéma et ses données d'une base de données vers une autre, nous vous recommandons d'utiliser Sync Framework.
Utilisation de la documentation des technologies d'égal à égal de Sync Framework
Les rubriques de la documentation de Sync Framework incluent une présentation de l'API de synchronisation de bases de données de Sync Framework, des exemples de code et une référence de l'API. Vous pouvez trouver la référence de l'API pour la synchronisation d'égal à égal dans Microsoft.Synchronization, Microsoft.Synchronization.Data, Microsoft.Synchronization.Data.SqlServer et SqlCeSyncProvider.
Pour plus d'informations, nous vous recommandons de lire la documentation dans l'ordre suivant :
Découvrez l'architecture de l'API et les classes les plus importantes dans Architecture et classes pour la synchronisation collaborative.
Examinez le code d'une application de base dans Procédure : configurer et exécuter la synchronisation collaborative (SQL Server).
Découvrez comment gérer la synchronisation des bases de données autres que SQL Server en parcourant les rubriques de Synchronisation d'autre bases de données compatibles ADO.NET.
Ces rubriques contiennent des exemples de code. D'autres exemples sont disponibles dans le Kit de développement logiciel (SDK) Sync Framework et sur le site Code Gallery (en anglais).
Voir aussi
Concepts
Scénarios de collaboration
Architecture et classes pour la synchronisation collaborative