Sync Guru Sync Guru
spacer
 
       
    Home
    Projects
    Articles
    Resources
    Links
    About
 
   16506
  

  spacer

spacer
 
Microsoft Sync Framework



Framework

Providers
   

Bryant Likes has been experimenting with the CTP1 of the Microsoft Sync Framework and in particular the NTFS provider sample that is shipped as part of the SDK. Check out this forum thread to see what he was up to.

The samples only shows how to sync files between to folders that could be on the same box or shared across a LAN setup. Brian tweaked the sample code to enable synchronizing files over the internet. This is really cool addition to the sample and commonly requested by developers. Brian shared the code with all of us on his blog.
 

 



Synchronization Services for ADO.NET

Sync Runtime

 


Roger Jennings have been following Synchronization services since day one and has written excellent article about the framework. Below is a reference to his article about sync services and a short summary from the author:

My "Update Local Data Caches with Sync Services" article in the May 2007 issue of Visual Studio Magazine carries this deck:

"The Microsoft Synchronization Services 1.0 API for SQL Server 2005 Compact Edition and the new Sync Designer in the Orcas March 2007 CTP team up to generate a local data cache that synchronizes incrementally and bidirectional with SQL Server [Express]."

Sync services and the Sync Designer is the technology behind Occasionally Connected Systems, which--together with the Entity Framework--comprise the Dynamic Development "Pillar of Katmai."

 
   

As you may know, I authored an early article introducing the framework to the developers entitled "Take Data Offline Using Microsoft synchronization Services for ADO.NET". This article covers the basic concepts of data synchronization and briefly discuss the architecture of the framework. It then walks through the process of building simple bidirectional sync application using the SyncAdapterBuilder. If you are new to sync, you should start here.
 

 
 
  October 2004
Sync Services uses DataSet to store and transfer row changes. DataSet is a feature rich container that is very flexible. This flexibility is not free especially when passing DataSet object across machine boundaries. While the XML serializer is capable of serializing DataSet, the serialized object is rather big.

Dino Esposite wrote an excellent article on this topic. In his article, he discusses how efficient the binary serializer is for DataSet and how to take advantage of it.

 

 
Probably the most complete Q&A you will ever find for Sync Services are those that were posted by Steve Lasker:
 
 
 
The Code magazine featured two articles on Microsoft Sync Framework and Sync Services for ADO.NET. This episode of the Code magazine was a special edition featuring various Microsoft technologies and was released to the attendees of DevConenctions 2007.
 
 

 
Sébastien PertusSébastien Pertus is very enthusiastic about sync. Sébastien wrote an article in French to introduce Sync Services for ADO.NET to developers. I ran into a forum post where he shared a link to his article with fellow developers in the forum. I am really excited to see developers stepping up to help others leverage this new and exciting sync technology. If you have something to share with the rest of us then don't be shy and drop me a line and I will post a link to it on my site.  
 
 
 
I turns out that Microsoft Solution Architect Memi Lavi was visiting this web site and seemed to have loved it and is parsing it on his blog. That's very faltering, thanks Memi. I've not had the opportunity to meet with Memi before; one reason is that he is not in Redmond or even the US! Isn't that cool!? blogs are not only for external audience, but also for microsofties to learn about each others and exchange experiences.

In his blog, Memi shared the work he did building sync solution using Oracle as a backend database. He wrote a pretty detailed post on his sample, check it out.

 

 
Sync Designer
 
Visual Studio 2008 (code name Orcas) include a Sync Designer which provides a much needed RAD experience for Sync Services runtime. With few clicks, you can quickly build simple offline application for both 2-tier and n-tier environment. Nick Randolph wrote an excellent article about the sync designer in Orcas CTP, you can find it here.
 
 
 

Nobody can show you the sync designer in action better than Steve Lasker. Steve posted two screen casts showing how to use the designer to build offline application for a 2-tier setup. In the second screen cast, Steve shows how to change the application to work in n-tier environment where the client sync component communicates with the server component through WCF. The sessions are available here:

Screen cast #1: First look at the Visual Studio Orcas Sync Designer
Screen cast #2: Going N Tier w/WCF, Synchronizing data using Sync Services for ADO.NET

 

 
 
   


Very interesting interview with Milin Lele, VS program manger. Milind led the team that built the sync designer in VS 2008. He knows it better than anyone and in this interview he shows all the features of the designer and walk through the process of adding database cache component to a given project.

 
 

 
 

SQL Compact Edition
 
Another great article from Roger. This one is more focused on the SQL Server CE as a desktop and mobile database. Below is a brief summary given by the author:
 
My earlier "Lighten Up Your Local Databases" in the March 2007 Visual Studio Magazine issue covers SQL Server 2005 Compact Edition v3.1 , which is the first version licensed for use in conventional PCs, and v3.5, which is included in Visual Studio codename "Orcas." Microsoft initially called V3.5 "SQL Server Everywhere Edition." V3.5 adds important features, such as timestamp fields to aid synchronization and simplify concurrency conflict detection. SQL Server Mobile Edition v3.0 and earlier were licensed for use by devices and Tablet PCs only.
 
 
 
In my blog post about SQL CE, I discussed the need for it and why it is uniquely positioned to be the store of choice for rich desktop application. Sync Services takes the value add to another new level.

I ran into a great article on MSDN on how to design solutions using SQL CE. It is really a great read:

"SQL Server 2005 Compact Edition (SSCE) provides a powerful yet lightweight data storage engine for building a variety of application types. This paper introduces data storage concerns for client applications and small-scale server applications. It discusses the feature set of SSCE and how that feature set addresses data storage concerns. It covers different application architectures where SSCE might be a good fit, highlighting the attributes of the application types and how SSCE can meet the requirements for each application type"

Read more ...
 

 

 

Blogs, Portals, Forums ...
 


Roger Jennings
Steve Lasker
Rafik Robeal
Andrei Maksimenka

SQLCE Team Blog
Sync Team Blog


MSDN Sync Developer Center

MSDN Sync Forums
MSDN VS Forums

 

 
 

  
 


Copyright © 2010  -  Rafik Robeal
 All Rights Reserved