Welcome to MSDN Blogs Sign in | Join | Help

The Synchronizer

sync for the masses
SaaS = Web Component + Desktop Component + Sync

I tuned to Mix07 yesterday to listen to the keynote from Ray Ozzie. Ray draws the picture for the software and service model. One important statement in the keynote made feel really good, Ray said “Even software as a service vendors have found a need to expand their offering to include offline edition”

This is a fact. There is growing interest in building offline applications especially with the new breed of web 2.0 applications. It is much faster to edit your documents on the desktop, yet it is more convenience to store them on the web and be able to access them anywhere. Web based everything is a weak vision and won’t materialize given that SaaS vendors are building offline experiences.

If you buy into this new world of software plus service then you must look at synchronization as the enabling technology. The Synchronization Services of ADO.NET is one step in this direction. Using web service or WCF you could easily expose your data to your web clients.

Building rich applications on the client that takes advantage of the processing power, storage, and graphics on the desktop for better user experience and reduce the load on the web server for better scalability is a great model that is gaining momentum everyday. For this vision to materialize, synchronization technologies have to become mainstream and part of every developer toolbox. With that, I think you know why I feel good … [tip: my team is responsible for sync technologies across Microsoft!] ….

 

Update: Just to let you know, I left Microsoft to start a new company, Raveable Hotel Reviews. See Examples: Romantic Hotels in Myrtle Beach, Top 10 Hotels in Seattle, 5 Star Hotels in Miami, Hotels with in-room jacuzzi, Family Friendly hotels in Anaheimand Best Hotels in Fort Lauderdale. Your feedback is welcome ontwitter.com/raveable, raveable blog.

 

Posted: Tuesday, May 01, 2007 7:45 PM by Rafik
Filed under:

Comments

Udi Dahan said:

While I agree that the online/offline combo is needed, I think that the synchronization model you are suggesting might be augmented to handle more complex scenarios.

I have a podcast up about this here: http://udidahan.weblogs.us/2007/04/17/podcast-occasionally-connected-smart-clients-and-adonet-sync-services/

The bottom line is that synchronization leads to collision detection and resolution, which involve highly complex business logic. I suggest an integrated infrastructure/applicative-design approach that is optimized for handling it.

Take a look and tell me what you think.

# May 1, 2007 3:28 PM

nick_randolph said:

Rafik - I think the whole MS Sync Services is going to rock once we can build a Silverlight app that can store data locally (using SSCE), sync using MS Sync Services and function offline!!!

# May 1, 2007 9:24 PM

Rafik said:

Hi Udi,

I listened to your cast and I disagree with you.  The scenario you mentioned regarding address change and whether a conflict should be detected if another change is made to the same row but in other set of columns is usually addressed by column level tracking. SQL merge replication supports column level tracking, but OCS does not at this point.  When simultaneous changes to the address fields are made, you got a conflict regardless of the type of sync engine: state based sync like OCS; event based sync like the approach you suggested.

State based synchronization algorithms are simpler and more reliable. Event based synchronization algorithms are extremely complex and unreliable. I am basing my assessment on my previous experience building windows file replication engines, one of which is event based system. OCS scope is to enable developers to easily build sync scenarios with most needed features, exposing set of events for developers to intercept the data while in flight and apply any business logic they might have. It is a developer framework and not end-to-end solution like merge replication.  

Thanks,

Rafik

# May 2, 2007 12:11 PM

Rafik said:

Hi Nick,

I totally agree with you. However, the offline story is has to be in the browser only since the SilverLight team made it clear that they are not planning to enable building SilverLight apps for desktop. I am reading the news here just like you; no insider info :)

Thanks,

Rafik

# May 2, 2007 12:12 PM
Anonymous comments are disabled
Page view tracker