Eind 2007 heeft Microsoft het Microsoft Sync Framework gepresenteerd. Het Microsoft Sync Framework is (aldus Microsoft): “a comprehensive synchronization platform that enables collaboration and offline access for applications, services and devices. It features technologies and tools that enable roaming, sharing, and taking data offline. Using Microsoft Sync Framework, developers can build sync ecosystems that integrate any application, with any data from any store using any protocol over any network.”
In het Nederlands klinkt dat ongeveer zo: “een uitgebreid synchronisatie platform dat het mogelijk maakt voor applicaties, services en hardware om gegevens (data) te delen, on- en offline. Het omvat technologieën en tools waardoor data mobiel wordt, online gedeeld kan worden, en tevens offline gebruikt kan worden. Met behulp van het Microsoft Sync Framework kunnen ontwikkelaars “sync eco-systemen” ontwerpen waarbij elke applicatie gebruik kan maken van welke datasoort dan ook, afkomstig van iedere mogelijke gegevensbron middels ieder protocol en over elk netwerk“.

Vooral de laatste bewering is van belang, het impliceert volledige portabiliteit (uitwisseling en synchronisatie) van gegevens. Dit in tegenstelling tot Google Gears, dat zich vooralsnog focust op het offline faciliteren van webapplicaties (en bijbehorende data) middels een browser extensie. Microsoft gaat met haar Sync Framework een flinke stap verder.
Er worden verschillende niveau’s van synchronisatie onderscheiden. Iedere niveau dient middels een standaard protocol om te gaan met binnenkomende en uitgaande gegevens. De volgende situatie kunnen zich voordoen:
Eenvoudige synchronisatie
De meest eenvoudige is het delen van gegevens van één gegevensbron door verschillende deelnemers (apparaten of applicaties). Zoals in onderstaande afbeelding, waarin een RSS-feed (aangeduid als participant, oftewel deelnemer binnen het MS Sync framework) zijn gegevens beschikbaar maakt aan twee pc’s. Er vindt slechts uitwisseling van gegevens plaats in één richting.
Gedeeltelijke synchronisatie
Gedeeltelijke synchronisatie gaat een stap verder. Gegevensdragers waarop gegevens vastgelegd kunnen worden maar waar geen applicaties op uitgevoerd worden (zoals bijvoorbeeld een digitale camera of een MP3-speler) kunnen enerzijds gegevens ontvangen van, en anderzijds gegevens sturen naar een derde deelnemer (zoals bijvoorbeeld een pc).
Volledige synchronisatie
Volledige synchronisatie kan plaatsvinden wanneer verschillende deelnemers (apparaten of applicaties) gegevens kunnen aanmaken, wijzigen en verwijderen en deze tevens uitwisselen met andere deelnemers met dezelfde capaciteiten. Hier is sprake van volledige synchronisatie, waarbij de integriteit en actualiteit van de gegevens voorop dienen te staan.
Het Synchronisatie framework
Het MS Sync Framework biedt middels gecompliceerde regels de mogelijkheid om de synchronisatie optimaal uit te voeren. Hiervoor moet op alle deelnemende apparaten of applicaties waar gegevens kunnen worden gewijzigd conform het MS Sync framework haar gegevens, en de mutaties op die gegevens op gelijke wijze vastleggen.
De manier van synchroniseren, de synchronisation flow
Zodra deelnemers met elkaar gaan communiceren, gegevens uitwisselen vindt er een middels het Sync framework een dialoog plaats tussen de deelnemers om gedeelde gegevens onderling up-to-date te houden.
Meer info en download
Meer over het Microsoft Sync Framework hier, en je kunt de software hier downloaden.