Sélection des composants de Sync Framework appropriés

Cette rubrique explique quels composants utiliser pour les scénarios de synchronisation courants et décrit l'architecture de haut niveau de Sync Framework.

Composants de Sync Framework

Sync Framework inclut un runtime, un jeu de fournisseurs de synchronisation pour les magasins de données spécifiques, ainsi qu'une API pour l'écriture des fournisseurs. Un fournisseur est un composant logiciel qui communique entre une source de données et d'autres composants dans le système de synchronisation. Si vous synchronisez un magasin de données pour lequel nous proposons un fournisseur, nous vous recommandons vivement d'utiliser ce fournisseur. Les fournisseurs sont suffisamment extensibles pour pouvoir être adaptés à votre application. Si vous synchronisez un magasin de données pour lequel nous ne proposons pas de fournisseur, ou si vous avez besoin d'une implémentation différente, vous pouvez utiliser un fournisseur personnalisé.

L'illustration suivante montre les relations entre tous les composants fournis par Sync Framework.

Composants de Sync Framework

Les composants illustrés sont les suivants :

  • Fournisseurs de synchronisation de bases de données (connus sous le nom de Sync Services for ADO.NET dans les versions précédentes). Ces fournisseurs se trouvent dans Microsoft.Synchronization.dll, Microsoft.Synchronization.Data.dll, Microsoft.Synchronization.Data.Server.dll, Microsoft.Synchronization.Data.SqlServer.dll et Microsoft.Synchronization.Data.SqlServerCe.dll. Ils peuvent être utilisés pour synchroniser des bases de données dans les types de scénarios suivants :

    • Scénarios 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.

    • Scénarios hors connexion. Par exemple, un commercial a besoin d'accéder aux données de produit depuis le bureau de ses clients et doit également être en mesure de télécharger des commandes. Le commercial peut synchroniser ses données avec le serveur central chaque matin pour disposer des données et des prix actualisés sur les produits, et effectuer une autre synchronisation le soir pour télécharger les commandes du jour.

    Pour plus d'informations, consultez Synchronisation de bases de données.

    Notes

    Les fournisseurs qui ne prennent en charge que les scénarios hors connexion faisaient initialement partie de Synchronization Services for ADO.NET 1.0, la version commercialisée avant Sync Framework 1.0. Les fournisseurs de bases de données introduits dans Sync Framework 1.0 sont construits sur l'API principale et le runtime, alors que les fournisseurs qui ne prennent en charge que les scénarios hors connexion ne le sont pas. Ces derniers ne peuvent pas être utilisés dans des topologies contenant d'autres types de fournisseurs Sync Framework. Les fournisseurs Sync Framework sont DbSyncProvider, SqlCeSyncProvider et SqlSyncProvider. Ces fournisseurs doivent être utilisés à la fois pour les scénarios de synchronisation de bases de données hors connexion et de collaboration.

  • Fournisseur de synchronisation de fichiers (connu sous le nom de Sync Services for File Systems dans les versions précédentes). Ce fournisseur se trouve dans FileSyncProvider21.dll et Microsoft.Synchronization.Files.dll. Il peut être utilisé pour synchroniser des fichiers et des dossiers dans les systèmes de fichiers NTFS, FAT ou SMB. Les répertoires à synchroniser peuvent être locaux ou distants, sans être nécessairement du même système de fichiers. Une application peut utiliser des filtres statiques pour exclure ou inclure des fichiers en les répertoriant explicitement ou en utilisant des caractères génériques (tels que *.txt), ou elle peut définir des filtres qui excluent des sous-dossiers entiers. Une application peut également s'inscrire pour recevoir une notification de la progression de la synchronisation de fichiers. Pour plus d'informations, consultez Synchronisation des fichiers.

  • Composants de la synchronisation de flux Web (connus sous le nom de Sync Services for FeedSync dans les versions précédentes). Ces composants se trouvent dans FeedSync21.dll et Microsoft.Synchronization.dll. Les composants peuvent être utilisés de deux façons :

    • Les services du fournisseur de synchronisation de flux Web peuvent être utilisés pour écrire un fournisseur qui représente un fichier XML FeedSync comme son réplica. Pour plus d'informations sur FeedSync, consultez le site Web de FeedSync (en anglais).

    • Les composants producteur et consommateur de flux Web peuvent être utilisés pour synchroniser les données d'un autre type de réplica (tel qu'un système de fichiers) avec un flux RSS ou Atom.

    Pour plus d'informations, consultez Synchronisation des flux Web.

  • Fournisseurs personnalisés. Ces composants se trouvent dans Synchronization21.dll et Microsoft.Synchronization.dll, ainsi que dans SimpleProviders21.dll et Microsoft.Synchronization.SimpleProviders.dll. Ils peuvent être utilisés pour créer des fournisseurs de synchronisation pour tout type de magasin de données. Par exemple, si une application comprend un système de stockage personnalisé pour le suivi des contacts client, vous pouvez utiliser un fournisseur simple ou un fournisseur personnalisé complet pour intégrer ces données dans vos applications. Pour plus d'informations, consultez Synchronisation de magasins de données à l'aide de fournisseurs personnalisés.

  • Service de stockage des métadonnées. Ce composant se trouve dans MetaStore21.dll et Microsoft.Synchronization.MetadataStorage.dll. Il peut être utilisé par les fournisseurs personnalisés pour stocker et traiter plus facilement les métadonnées de synchronisation, en particulier pour les réplicas qui autrement ne peuvent pas stocker de métadonnées. Le service de stockage des métadonnées utilise une base de données légère et fiable qui a une mémoire et un encombrement disque peu importants, et qui peut être redistribuée avec le fournisseur. L'API sépare distinctement le magasin des métadonnées des interfaces et méthodes utilisées pour accéder au magasin afin que d'autres magasins puissent être implémentés et utilisés avec peu de modifications au niveau du fournisseur. Pour plus d'informations, consultez Service de stockage des métadonnées de Sync Framework.

  • API principale et runtime. Ces composants se trouvent dans Synchronization21.dll et Microsoft.Synchronization.dll. L'API principale et le runtime sont utilisés par tous les autres composants à l'exception des fournisseurs de bases de données hors connexion. Pour plus d'informations sur ces composants, consultez Synchronisation de magasins de données à l'aide de fournisseurs personnalisés.

Pour plus d'informations sur l'installation des composants, consultez Installation, redistribution et compatibilité des versions.

Sync Framework fournit un jeu complet de composants qui peuvent activer la synchronisation pour une large gamme d'applications. Cette rubrique vous a présenté brièvement chaque composant, afin de vous aider à choisir les composants les plus adaptés à vos applications. Si vous utilisez des applications qui font appel à plusieurs types de magasins de données, consultez la rubrique Intégration de données de fournisseurs différents.

Architecture de Sync Framework

Sync Framework utilise une architecture fournisseur. Les fournisseurs protègent d'autres composants de synchronisation des complexités et de l'implémentation spécifique de chaque magasin de données. Cette architecture, associée à l'utilisation de métadonnées de synchronisation spécialisées, permet à Sync Framework de synchroniser tout type de magasin de données pour lequel un fournisseur est écrit. Sync Framework inclut des fournisseurs pour les magasins de données courants, tels que les bases de données et le système de fichiers NTFS, et vous permet d'écrire des fournisseurs adaptés à d'autres types de magasins. Le fournisseur est le point d'intégration principal dans Sync Framework.

L'illustration suivante montre l'architecture de haut niveau de Sync Framework. La synchronisation se produit toujours entre deux réplicas (ou nœuds) comme indiqué dans l'illustration, mais les communautés de synchronisation (ou topologies) peuvent être de toute forme, par exemple, hub-and-spoke, égal à égal, etc. À quelques exceptions près, chaque paire de participants peut effectuer une synchronisation sur une architecture à deux couches ou une architecture multicouche, en fonction des besoins de l'application. La documentation de chaque composant de Sync Framework fournit des informations plus détaillées sur les architectures appropriées et les questions de sécurité.

Vue d'ensemble de l'architecture de Sync Framework

Les éléments illustrés sont de trois types :

  • Éléments écrits par le développeur.

    • L'application appelle des méthodes de synchronisation, répond aux événements et gère d'autres tâches selon les besoins de l'application.

    • Le magasin de données peut être un système de fichiers, une base de données relationnelle, un magasin de contacts au format de fichier plat, ou tout autre magasin de données qui doit être synchronisé.

    • Le protocole de transfert des données détermine la façon dont les modifications de données sont transmises entre deux fournisseurs.

  • Éléments fournis par Sync Framework.

    • Selon que le code utilisé est natif ou managé, l'application communique avec une session de synchronisation ou un orchestrateur de synchronisation, lequel communique ensuite avec chaque fournisseur de synchronisation.

    • Le runtime de synchronisation dirige le processus de synchronisation et communique diverses informations (état, conflits et erreurs) à l'application cliente.

  • Éléments écrits par le développeur ou fournis par Sync Framework, selon le scénario.

    • Le fournisseur est propre au type des données synchronisées. Dans certains cas, une application requiert un fournisseur personnalisé que le développeur doit écrire. Sync Framework fournit plusieurs API qui simplifient ce processus, ainsi que plusieurs composants qui facilitent l'exécution des tâches de synchronisation les plus complexes, telles que la détection de conflit.

    • Le magasin des métadonnées contient les métadonnées dont se sert Sync Framework pour déterminer quelles modifications chaque fournisseur doit sélectionner et appliquer au magasin de données utilisé. Le mode de stockage et l'utilisation des métadonnées varient en fonction du fournisseur utilisé. Par exemple, les fournisseurs pour les bases de données stockent généralement les métadonnées dans les tables de suivi de la même base de données que le magasin de données. Si vous employez des fournisseurs personnalisés, vous pouvez créer un magasin des métadonnées ou utiliser un service inclus dans Sync Framework. La documentation de chaque composant de Sync Framework fournit des informations plus détaillées sur les métadonnées.

Voir aussi

Autres ressources

Microsoft Sync Framework

Avantages liés à l'utilisation de Sync Framework