Partager via


Vue d'ensemble et scénarios

Sync Framework permet la synchronisation entre des bases de données. Il fournit une API intuitive et flexible qui vous permet de générer des applications destinées à des scénarios hors connexion et de collaboration. L'API vous permet d'utiliser tout ou uniquement certains des composants fournis, selon l'architecture et les besoins d'une application. Sync Framework prend en charge les topologies client-serveur, réseau client à client et mixtes. Dans les topologies client-serveur, tous les clients effectuent une synchronisation avec un serveur central. Dans les topologies client à client, chaque client peut effectuer une synchronisation avec un autre client sans que les modifications aient à passer par un serveur central. Les topologies mixtes consistent en une combinaison des topologies client à client et client-serveur.

Scénarios de synchronisation

La possibilité de prendre en charge les travailleurs itinérants et à distance devient chaque jour plus importante pour les organisations. Il est essentiel que les organisations veillent à ce que leurs employés puissent accéder aux mêmes informations auxquelles ils ont accès au bureau. Dans la plupart des cas, ces utilisateurs disposent d'un ordinateur portable, d'un ordinateur de bureau, d'un SmartPhone ou d'un PDA. Grâce à ces appareils, les utilisateurs peuvent parfois accéder aux données en utilisant une connexion VPN ou une autre méthode de connexion directe au réseau d'entreprise. Pour la plupart des utilisateurs distants, cette solution est peu satisfaisante en raison des inconvénients majeurs qu'elle présente dans les domaines suivants :

  • Configuration du réseau

    Pour permettre aux utilisateurs d'accéder aux informations, le périphérique distant doit avoir une connexion constante au réseau d'entreprise au cours de l'accès aux données. Pour certains employés, tels que ceux qui travaillent à domicile, cela ne présente pas de problème. Pour les autres utilisateurs, tels que les commerciaux qui sont toujours en déplacement, cela peut être plus difficile. Par exemple, si un commercial rend visite à un client et ne peut pas accéder aux données d'inventaire en l'absence de connectivité réseau, ce commercial ne peut pas travailler efficacement.

  • Vitesses d'accès aux données

    Dans un environnement d'entreprise client-serveur classique, les utilisateurs utilisent des réseaux à haut débit qui permettent l'accès rapide aux informations. Toutefois, les employés distants sont souvent connectés via des réseaux lents, peu fiables. Dans une solution classique, chaque portion de données dont un utilisateur a besoin doit être téléchargée à chaque fois qu'elle est demandée parce qu'il n'existe aucune méthode pour rendre les données persistantes sur le périphérique. Par exemple, si un commercial doit télécharger sa liste de produits à chaque fois qu'il ouvre son application, le retard nécessaire au remplissage de l'application par les informations peut être frustrant.

  • Point de défaillance unique

    Avec ce type de solution, les utilisateurs dépendent souvent d'une base de données serveur unique. Si cette base de données n'est pas disponible en raison d'un temps d'arrêt planifié ou de défaillances du serveur, tous les employés distants sont déconnectés de leurs données.

  • Évolutivité du serveur

    Du fait de l'augmentation des employés travaillant à distance, les performances des serveurs d'entreprise sont affectées, et il est parfois nécessaire d'ajouter du matériel.

Applications occasionnellement connectées

Au lieu d'utiliser la solution décrite dans la section précédente, vous pouvez implémenter une application occasionnellement connectée. Une application occasionnellement connectée permet à un employé distant d'accéder aux données, mais les informations qu'il veut sont stockées localement. Pour remplir une base de données locale, une application occasionnellement connectée utilise en général la synchronisation de données.

La synchronisation de données consiste à obtenir périodiquement des informations stockées dans une base de données (comme une base de données client) et de synchroniser les modifications avec une autre (comme une base de données serveur). Une solution basée sur la synchronisation permet à un utilisateur de ne plus être connecté de façon permanente au réseau pour accéder aux informations. Comme les données sont stockées localement, un utilisateur dispose d'un accès constant aux données au cours du téléchargement depuis la base de données centrale. En outre, comme la vitesse du réseau n'est plus un facteur limitant, un utilisateur peut désormais accéder aux données à la vitesse de l'ordinateur local.

La synchronisation client à client évite d'avoir un point de défaillance unique car ce type de synchronisation n'implique pas que toutes les modifications passent via un serveur. La capacité à envoyer une partie importante du traitement de l'application vers chaque client contribue aussi à éviter ce problème d'évolutivité du serveur.

Sync Framework utilise des fournisseurs de synchronisation pour communiquer avec chaque base de données synchronisée. Les fournisseurs de bases de données Sync Framework, qui sont analogues aux fournisseurs de données ADO.NET, protègent d'autres composants Sync Framework de l'implémentation spécifique de chaque base de données. Sync Framework inclut cinq fournisseurs de bases de données, qui prennent en charge deux types de scénarios : hors connexion et de collaboration. L'illustration suivante montre un scénario hors connexion : dans une topologie client-serveur, les clients se connectent à un serveur central pour synchroniser des données lorsqu'une connexion est disponible.

Scénario Sync Services hors connexion

Une extension commune à ce type d'application occasionnellement connectée est la capacité de prendre en charge des scénarios de collaboration. Dans ces scénarios, deux bases de données peuvent être synchronisées d'égal à égal sans passer par un concentrateur central. L'illustration suivante montre une topologie mixte, où un serveur central se synchronise avec les clients et où les clients peuvent se synchroniser entre eux. Une topologie comme celle-ci peut par exemple prendre en charge une application permettant à des utilisateurs de partager des remarques relatives à un projet. Les membres d'une équipe projet ont souvent besoin de pouvoir travailler sur une copie locale des données. Lorsqu'ils effectuent des modifications, ils peuvent ensuite se synchroniser avec un serveur afin de les télécharger ou avec un autre membre de l'équipe pour les échanger.

Scénario de collaboration Sync Services

Les cinq fournisseurs de synchronisation de bases de données proposés par Sync Framework appartiennent à deux catégories :

  • DbServerSyncProvider et SqlCeClientSyncProvider prennent en charge les scénarios hors connexion. Ces fournisseurs présentent les caractéristiques suivantes :

    • Conviennent pour les topologies client-serveur.

    • Toujours utilisés comme une paire. Par exemple, vous ne pouvez pas synchroniser deux bases de données serveur à l'aide de deux instances de ServerSyncProvider (utilisez à la place SqlSyncProvider ou DbSyncProvider).

    • Peuvent être moins complexes que les fournisseurs de collaboration, mais ne peuvent pas faire partie de topologies comprenant d'autres fournisseurs Sync Framework.

    Pour plus d'informations sur la synchronisation hors connexion, consultez Scénarios hors connexion.

  • SqlSyncProvider, SqlCeSyncProvider et DbSyncProvider prennent en charge des scénarios de collaboration. SqlSyncProvider et SqlCeSyncProvider sont utilisés, respectivement, pour synchroniser des bases de données SQL Server et SQL Server Compact. DbSyncProvider est généralement utilisé pour synchroniser des bases de données non SQL Server. Ces fournisseurs présentent les caractéristiques suivantes :

    • Conviennent pour des topologies d'égal à égal et mixtes. Peuvent être utilisés dans les topologies client-serveur si des fonctionnalités plus évoluées sont requises, comme un traitement par lot complexe.

    • Peuvent être utilisés de façons plus flexibles. Par exemple, vous pouvez synchroniser deux instances de DbSyncProvider ou une instance de SqlSyncProvider et une instance de SqlCeSyncProvider, etc.

    • Utilisent des métadonnées Sync Framework et peuvent faire partie de topologies comprenant d'autres fournisseurs Sync Framework.

    Pour plus d'informations sur la collaboration de données, consultez Scénarios de collaboration.

Voir aussi

Concepts

Synchronisation de bases de données