C'est l'une des énormes annonces de Microsoft pour ce TechEd: le Sync Framework promet de nous offrir un accès permanent à nos données, avec ou sans connexion, le tout synchronisé avec d'autres données (même en peer-to-peer!) avec d'autres machines.
Comme d'habitude, je vous livre mes notes de la session (qui vient de se terminer) ci-dessous. A déguster en avant-première!
Vision
Les données sont disponibles où que ce soit, sur tout PC ou terminal. Prise en charge de:
- opérations déconnectées (mises en cache) depuis une application: les données sont utilisées localement, par exemple dans un avion;
- roaming et partage des données (par exemple sur mes 5 PC à la maison ou dans l'entreprise);
- collaboration simplifiée entre de nombreuses personnes.
Deux grands concepts
- offline: exemple: mode "cache" de Outlook; destiné aux travailleurs mobiles;
- collaboration;
Description
Les avantages sont:
- accès rapide aux données;
- accès à l'information depuis n'importe où;
- disponibilité permanente des applications;
- optimisation de la communication des données: seuls les changements ou les nouveautés sont transmises à travers le réseau;
- soulagement des serveurs: les données fréquemment utilisées sont mises en cache;
- mise en oeuvre facile de la collaboration.
Prend en charge les problématiques:
- conflits: détection et résolution;
- erreurs de connexion et stockage;
- de nombreux cas limites.
Fonctionne dans des environnements difficiles:
- peer-to-peer en évolution constante;
- réseaux non fiables.
...et pourtant c'est une technologie facile à mettre en oeuvre et performante dans des cas simples.
Prise en charge de:
- sources de données et types de données hétérogènes (et c'est extensible);
- des protocoles au choix (avec support intégré pour Simple Shared Extension - SSE, qui est du type RSS);
- topologies quelconques: serveur offline, client-serveur, client-client, ...
Démo: synchronisation d'un contact entre SQL Server 2005, Outlook, un PDA et détection des conflits. Quand le conflit est résolu, la résolution est propagée sur toutes les machines, au lieu d'avoir le conflit plusieurs fois.
Synchronisation d'endpoints avec le Sync Framework
Un Sync Agent pilote la synchronisation au travers de plusieurs providers (un par source de données).
Providers fournis:
- File System (FAT, NTFS, disques amovibles): une appli, SyncToy, utilise ce provider;
- Relational;
- SSE (Simple Sharing Extensions); permet aux Web Services de partager les données dans un format commun RSS/ATOM.
Intégration avec:
- Visual Studio 2008 et ADO.NET pour les applications déconnectées
- SQL Server 2008: synchro avec le provider peer, requêtage des changements avec le "change tracking"
Extensibilité
Un toolkit permet d'écrire son propre provider. Le provider masque ensuite la complexité de la source de données.
Les métadonnées du Sync Framework indiquent ce qui s'est passé: changements, conflits, ... Cela permet de ne pas se soucier de la source de données. Il faut donc remonter ces métadonnées.
Ces métadonnées peuvent comprendre un ID unique assigné par le Sync Framework aux éléments pour notamment détecter les conflits.
Les métadonnées peuvent être stockées dans la source de données ou bien de manière interne par le Sync Framework.
Plateformes prises en charge: Vista, XP, Windows Mobile, .NET Framework. Le but est de prendre en charge toutes les plateformes Microsoft.
Pour aller plus loin
D'autres sessions du TechEd entreront dans les détails techniques, et il y a des hands-on-labs pour se faire la main.
Comments