Une nouvelle démonstration mettant en œuvre la réplication de type Merge de SQL Server 2005/2008 vient d’être postée sur le site de partage de code de MSDN :

http://code.msdn.microsoft.com/TheSQLMergeStyle

Cette démonstration expose la plupart des fonctionnalités disponibles dans la réplication de type fusion (Merge) au sein de SQL Server 2005 et SQL Server 2008. Le code source a été entièrement développé en C# sous Visual Studio 2008. Une base de données de type SQL Server Compact Edition 3.5 est utilisée côté client pour le stockage offline. Le générateur de code OlyMars (http://www.olymars.net) a également été utilisé.

Cette démonstration illustre le quotidien des agents de la célèbre entreprise de fourniture de gaz et d'électricité, j'ai nommé ElecEtGazPourTous !

Le principe général est que les agents de terrain doivent pouvoir aller effectuer des interventions chez les clients de la société et saisir toutes les informations concernant leur travail sur leur PDA, qu'ils soient connectés au réseau Internet ou pas. Dès qu'ils le souhaitent, ils doivent pouvoir synchroniser les informations, pour pouvoir à la fois remonter les données saisies mais également redescendre les données modifiées sur le serveur central.

Le code source de cette démonstration illustre :

  • La mise en oeuvre de publication Merge de type simple 
  • La mise en oeuvre de publication Merge de type complexe avec filtres dynamiques 
  • La sécurisation complète des accès pour les synchronisations 
  • La résolution de conflits automatique 
  • La résolution de conflits via un CustomResolver écrit en .NET (C#) 
  • L'utilisation de la réplication pour transférer des documents de type photos et autres signatures des clients 
  • La génération de snaphots dynamiques 
  • La génération dynamique de bases SQL Server Compact Edition (SQLCE) 
  • L'appel d'autres services (comme ETL, Web Services ou autres) en fin de synchronisation pour perpétuer le transfert d'information jusqu'à une destination finale qui ne serait pas SQL Server (comme un MainFrame ou autre)

N’hésitez pas à transmettre cette information à toute personne qui pourrait être intéressée par cette démonstration. Prochaine étape, des webcasts pour montrer comment mettre en oeuvre cette démonstration.