Vue d'ensemble de la synchronisation client et serveur
Notes
Les informations suivantes sont fournies à titre de référence pour les applications existantes qui ne prennent en charge que les scénarios hors connexion. Pour le développement de nouvelles applications, consultez Architecture et classes pour la synchronisation de base de données.
Sync Framework vous permet de synchroniser des données provenant de différentes sources dans des architectures à deux couches, multicouches et basées sur les services. L'API de Sync Framework pour la synchronisation client et serveur fournit un ensemble de composants permettant de synchroniser des données entre des services de données et un magasin local, au lieu de répliquer uniquement une base de données et son schéma. Les applications sont de plus en plus souvent utilisées sur des clients mobiles, tels que des ordinateurs portables et des appareils mobiles. Étant donné que ces clients mobiles ne bénéficient pas d'une connexion réseau fiable ou continue à un serveur central, il est important que ces applications fonctionnent sur une copie locale des données sur le client. Il existe un autre impératif tout aussi important : la nécessité de synchroniser la copie locale des données avec un serveur central lorsqu'une connexion réseau est disponible. Fondée sur les API d'accès aux données d'ADO.NET, l'API de synchronisation de bases de données Sync Framework vous permet de synchroniser les données de manière intuitive. Avec Sync Framework, la création d'applications pour des environnements occasionnellement connectés devient une suite logique à la création d'applications pour lesquelles vous pouvez dépendre d'une connexion réseau continue. Pour plus d'informations sur l'architecture de l'API, consultez Architecture et classes pour la synchronisation client et serveur.
Comparaison de Sync Framework avec d'autres technologies
Microsoft offre plusieurs technologies conçues pour les applications qui s'exécutent dans des environnements occasionnellement connectés. Les technologies les plus importantes sont les suivantes :
Service RDA (Remote Data Access), qui est utilisé pour synchroniser une base de données SQL Server Compact avec une base de données d'une autre édition de SQL Server.
Réplication de fusion qui est utilisée pour synchroniser différentes éditions de SQL Server et comprend SQL Server Compact.
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 |
Service RDA |
Réplication de fusion |
Sync Framework |
---|---|---|---|
Synchronisation à l'aide de services |
Non |
Non |
Oui |
Prise en charge des bases de données hétérogènes |
Non |
Non |
Oui |
Suivi des modifications incrémentielles |
Non1 |
Oui |
Oui |
Détection et résolution de conflit |
Non |
Oui2 |
Oui |
Création aisée de vues de données sur le client3 |
Non |
Non |
Oui |
Initialisation automatique du schéma et des données |
Oui |
Oui |
Oui |
Prise en charge de groupes de données volumineux |
Oui |
Oui |
Oui |
Propagation automatique des modifications de schéma |
Non |
Oui |
Non |
Repartitionnement automatique des données |
Non |
Oui |
Non |
Utilisation sur des périphériques |
Oui |
Oui |
Oui |
1 Le Service RDA prend en charge les téléchargements ascendants incrémentiels, mais les téléchargements sont systématiquement un instantané qui met à jour toutes les données sur le client.
2 La réplication de fusion fournit une fonction de résolution de conflit intégrée. Sync Framework propose une infrastructure permettant de créer un schéma de résolution des conflits. Pour plus d'informations, consultez Procédure : gérer les conflits de données et les erreurs.
3 Pour plus d'informations, consultez Procédure : créer des vues de données sur un client.
Sync Framework offre la souplesse d'un modèle de programmation comme les groupes de données hors connexion et un jeu de fonctionnalités de synchronisation plus important, comme celles qui existent dans la réplication de fusion. Les fonctionnalités de Sync Framework sont supérieures à celles du service RDA. La réplication de fusion 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 de fusion 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 permet à ces derniers de créer sans difficulté des vues de données, sur le client, qui reposent sur une base de données serveur ou une autre source de données. Sync Framework gère les bases de données hétérogènes et la synchronisation via des services ; par exemple, Windows Communication Foundation (WCF). Si l'application implique la synchronisation avec des bases de données non-SQL Server, ou si l'application doit comporter des composants distincts pour permettre la synchronisation sur différents transports ou services, utilisez Sync Framework.
Pour certaines applications, la décision d'adopter une technologie est simple : si vous devez synchroniser une source de données autre qu'une base de données SQL Server, vous opterez pour Sync Framework. Si vous êtes administrateur de base de données et que vous voulez configurer la synchronisation en recourant à un minimum de programmation, la réplication de fusion peut se révéler un choix plus judicieux. 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.
Notes
Le service RDA ou la réplication de fusion ne peuvent pas être utilisés avec Sync Framework sur la même table de la base de données client.
Utilisation de la documentation Sync Framework
Les rubriques de la documentation Sync Framework incluent une présentation détaillée de l'API de synchronisation de bases de données Sync Framework, des exemples de code et une référence de l'API. La référence de l'API pour la synchronisation client et serveur est disponible dans Microsoft.Synchronization, Microsoft.Synchronization.Data, Microsoft.Synchronization.Data.SqlServerCe et Microsoft.Synchronization.Data.Server.
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 client et serveur.
Examinez le code d'une application de base dans Mise en route : synchronisation client et serveur.
Découvrez les outils susceptibles d'être utilisés pour développer une application dans Outils permettant de développer des applications.
Découvrez comment gérer les tâches courantes en parcourant les rubriques de Programmation des tâches courantes de synchronisation client et serveur. 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).
Après avoir lu ces sections, vous serez en mesure d'apprécier l'aide de conception fournie dans Considérations sur la conception et le déploiement d'applications. Lorsque vous maîtriserez bien l'API, vous pourrez entamer le codage : vous découvrirez à quel point le processus d'ajout de la synchronisation à une application est simple.
Voir aussi
Autres ressources
Scénarios hors connexion uniquement
Architecture et classes pour la synchronisation client et serveur