locked
Difference between v1.0 and v2.0 RRS feed

  • Question

  •  

    I'm a bit confused about the different versions of Sync Services for ADO.NET....

     

    v 1.0 is installed along with SQL Compact 3.5 and v 2.0 is part of the Sync Framework.  I've been using v1.0 for a while and haven't tried doing anything with v2.0.

     

    I've only seen new features mentioned in relation to v2.0 (http://blogs.msdn.com/sync/archive/2008/08/06/top-new-features-in-sync-services-for-ado-net-v2.aspx).  Are these new features also in v1.0?

     

    Is there a reason that SQL Compact did not include v2.0?  Are y'all going to continue to push these different versions out or will they be combined at some point in the future?

     

    Thanks,

     

    Daniel

    • Moved by Max Wang_1983 Friday, April 22, 2011 6:13 PM forum consolidation (From:SyncFx - Microsoft Sync Framework Database Providers [ReadOnly])
    Wednesday, August 13, 2008 12:37 PM

Answers

  • Daniel,

     

    Let me clarify.  SQL Compact does not ship with Sync Services for ADO.NET or the Sync Framework.  The SQL Compact Sync Provider ships with Sync Services for ADO.NET.  Think of Sync Services for ADO.NET as a layering on top of the Sync Framework that adds a whole lot of stuff specific to the database domain. 

     

     

    With regards to the following question:

     

    Do y'all intend to keep the two products separated or is there a plan to combine them at some point in the near future

     

    I am not sure which two products you are referring to.  This conversation is revolving around the following three products:

     

    1.     Microsoft Sync Framework

    2.     Sync Services for ADO.NET

    3.     SQL Compact (aka CE)

     

    Let me know which two you are referring to and I can clarify.

     

    Hope this helps.  If not, let’s keep the conversation going. 

     

    -Sean

     

    Thursday, August 14, 2008 11:02 PM
    Moderator
  • This is an excellent conversation to have Daniel.  It might be helpful if I provided a bit of history.  Sync Services for ADO.NET is focused on synchronizing databases and was packaged with SQL Compact for logistical reasons as Steve mentioned above.  Around the same time that Sync Services for ADO.NET was being built, leadership at Microsoft recognized that sync was not specific to databases and acorss the company various product groups and a large number of customers were being forced to solve this problem over and over again.  It was also noted that the sync space is really hard, especially when you start thinking about peer-to-peer topologies, loops, conflict resolution, etc.  The logical conclusion was that this particular problem needs a platform for people to build on top of, negating the need for developers to solve many of the generic aspects of this problem themselves. 

     

    Enter the Sync Framework.  The Sync Framework started out as an integral part of the WinFS project and as the momentum grew to go after this platform play, members of that team seeded a group focused on pulling that logic out of WinFS in an effort to create a generic synchronization platform which at the time was referred to as Harmonica.  The Harmonica team eventually merged with the Sync Services for ADO.NET (SyncADO) team and one of the focuses for SyncADO v2 was to re-platform this technology on top of the Sync Framework.  In doing so, we pulled the SyncADO bits out if the SQL Compact packages and pulled them into the SyncFramework packages where it would be one of a series of providers that we ship out of the box focused on a specific store type.

     

    Now thet SyncADO v2 has RTMed, you are more than welcome to move to those bits.  However, the caveat here is that you lose the Sync Designer support that shipped with Visual Studio 2008.  My general recommendation for folks is that if they want to target collaboration scenarios where there is a need to sync in a peer to peer fashion, go with v2.  If you are currently focused on offline scenarios with a hub-spoke topology, go with v1 as you get the added benefit of the Sync Designer.

     

    Hope this helps,

     

    Sean

     

     

    Friday, August 15, 2008 5:21 PM
    Moderator

All replies

  • I am facing the same confusion. Not sure if I do need to use the Sync Framework at all. Is sync framework compatible with synchronization with SQL server 2005?

    I have been using v1.0 without issues.

    Thanks

    Apurva
    Wednesday, August 13, 2008 1:50 PM
  • Sync Services for ADO.NET v2 is a superset of v1 insomuch that it includes everything that shipped with v1 including the SQL Compact provider.  Sync Services for ADO.NET v2 adds additional features that did not ship with v1.  Sync Services for ADO.NET v2 is powered by the Microsoft Sync Framework.  Whereas the Sync Framework is data type and store agnostic, Sync Services for ADO.NET is focused on synchronizing databases.  It includes a series of providers focused on synchronizing databases as well as additional services that provide value to these scenarios (i.e. schema extraction/creation, adapter builders, first class support for SQL Server 2008 change tracking).

     

    Let me know if this makes sense.

     

    Sean Kelley

    Program Manager

    Microsoft

     

     

     

    Thursday, August 14, 2008 2:42 AM
    Moderator
  • Thanks for the reply, Sean

     

    That makes sense.  Do y'all intend to keep the two products separated or is there a plan to combine them at some point in the near future (whereby SQL Compact will ship with the Sync Framework, etc)?

     

    Thanks again,

     

    Daniel

    Thursday, August 14, 2008 3:02 PM
  • Daniel,

     

    Let me clarify.  SQL Compact does not ship with Sync Services for ADO.NET or the Sync Framework.  The SQL Compact Sync Provider ships with Sync Services for ADO.NET.  Think of Sync Services for ADO.NET as a layering on top of the Sync Framework that adds a whole lot of stuff specific to the database domain. 

     

     

    With regards to the following question:

     

    Do y'all intend to keep the two products separated or is there a plan to combine them at some point in the near future

     

    I am not sure which two products you are referring to.  This conversation is revolving around the following three products:

     

    1.     Microsoft Sync Framework

    2.     Sync Services for ADO.NET

    3.     SQL Compact (aka CE)

     

    Let me know which two you are referring to and I can clarify.

     

    Hope this helps.  If not, let’s keep the conversation going. 

     

    -Sean

     

    Thursday, August 14, 2008 11:02 PM
    Moderator
  • Hi Sean,

     

    Actually, Sync Services for ADO.NET v1.0 has been included with SQL Compact 3.5 (for desktop), and v1.0 SP1 was released earlier this week bundled with SQL Compact 3.5 SP1.  Here is the download link...

     

    http://www.microsoft.com/downloads/details.aspx?FamilyID=dc614aee-7e1c-4881-9c32-3a6ce53384d9&displaylang=en

     

    I had expected that the v2 (and the sync framework) would be included with SQL Compact 3.5 when the Sync Framework was released last week, but they weren't, which was why I started this thread.

     

    It looks like someone asked Steve Lasker this question on his blog....

     

    http://blogs.msdn.com/stevelasker/archive/2008/08/07/sql-server-compact-3-5-sp1-released.aspx#8847991

     

    ...and he replied a couple of entries down.  Here is the text from the reply...

     

    Hi Dave,

    I realize the packaging is a bit confusing.  This is the result of ship cycles and some packaging decisions we made for Sync Services 1.0 and what we’re doing long term.

     

    For Sync Services 1.0, we choose to package the desktop runtime with SQL Server Compact as we weren’t able to spin up another product packaging team in time to ship with Visual Studio 2008.  Shipping individual products carries a significant cost for a company as broad as Microsoft as we must deal with localization, accessibility, security, sustained engineering and lots of other “taxes”.  It was our belief the value in delivering the end to end scenarios, including the designer support in VS was worth the short term packaging issues.  If you look at Sync Services for devices, we’ve already rolled out the Sync Services to a separate download.

     

    Why does Compact SP1 include Sync Services?  We can’t remove a component in a service pack.  The fact that Sync Framework 1.0 actually ships Sync Services 2.0 was another timing issue.  The reality is shipping in a product as big as VS requires a very long lead time to be finished before it actually ships to customers.  Between the point we finished Sync Services 1.0 and Sync Framework 1.0, we were able to get a lot more work done that we didn’t want to wait.

    Luckily, the size of these components are very small, and the impact to the developers machine is nill as there’s no services running etc.  It’s just disk space.  As for your end users, you certainly have a choice for which to use.  

     

    For the long road, in Dev10, the next major release of SQL Server Compact, we will be removing the Sync Services components from the SQL Server Compact packaging.  So, this will “clean up” as we move along.  

     

    Hope that explains the what and why,

    Steve

     

    So it looks like the general answer is that these two were not on separate development paths (which is really where I was confused), but that timing\versioning is what has caused them to both be released at the same time.  And that SQL Compact and Sync Services will not be bundled together much longer.  Which means I probably need to upgrade\change my references to v2.0 in the near future if I want to have all of latest improvements\fixes.

     

    Sound correct?

     

    Thanks again for your help.

     


    Daniel

    Friday, August 15, 2008 11:57 AM
  • This is an excellent conversation to have Daniel.  It might be helpful if I provided a bit of history.  Sync Services for ADO.NET is focused on synchronizing databases and was packaged with SQL Compact for logistical reasons as Steve mentioned above.  Around the same time that Sync Services for ADO.NET was being built, leadership at Microsoft recognized that sync was not specific to databases and acorss the company various product groups and a large number of customers were being forced to solve this problem over and over again.  It was also noted that the sync space is really hard, especially when you start thinking about peer-to-peer topologies, loops, conflict resolution, etc.  The logical conclusion was that this particular problem needs a platform for people to build on top of, negating the need for developers to solve many of the generic aspects of this problem themselves. 

     

    Enter the Sync Framework.  The Sync Framework started out as an integral part of the WinFS project and as the momentum grew to go after this platform play, members of that team seeded a group focused on pulling that logic out of WinFS in an effort to create a generic synchronization platform which at the time was referred to as Harmonica.  The Harmonica team eventually merged with the Sync Services for ADO.NET (SyncADO) team and one of the focuses for SyncADO v2 was to re-platform this technology on top of the Sync Framework.  In doing so, we pulled the SyncADO bits out if the SQL Compact packages and pulled them into the SyncFramework packages where it would be one of a series of providers that we ship out of the box focused on a specific store type.

     

    Now thet SyncADO v2 has RTMed, you are more than welcome to move to those bits.  However, the caveat here is that you lose the Sync Designer support that shipped with Visual Studio 2008.  My general recommendation for folks is that if they want to target collaboration scenarios where there is a need to sync in a peer to peer fashion, go with v2.  If you are currently focused on offline scenarios with a hub-spoke topology, go with v1 as you get the added benefit of the Sync Designer.

     

    Hope this helps,

     

    Sean

     

     

    Friday, August 15, 2008 5:21 PM
    Moderator
  • That helps a lot, Sean.  Thanks!

     

    I've personally told some of your team this before, but I want to state it again -  SQL Compact and Sync Framework\Sync Services for ADO.NET are really great products.  I've researched other ways of accomplishing these needs for my project and nothing has come close to whay y'all have developed.  Thanks for all the hard work y'all have put into this!

     

    Friday, August 15, 2008 5:33 PM
  • Thats a great piece of information Sean!

    So-I am setting up an N tier architecture for synchronization between a SQL 2005 database and SQL compact 3.5 on Pocket PC. I had this piece working for an application with Sync Services v 1.0. Here is what I had installed with version 1.0:

    • SQL Server Compact 3.5 and Synchronization Services for ADO.NET v1.0 for Windows Desktop

    This component needs to be installed on the SQL Server box. It can be downloaded from the following URL:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=7849b34f-67ab-481f-a5a5-4990597b0297&displaylang=en

     

    • SQL Server Compact 3.5 Server Tools

    This components needs to be installed on the Web Server where the Web Service will reside. This can be downloaded from this location:

    http://www.microsoft.com/downloads/details.aspx?familyid=B18327F3-96E1-415D-B037-9E0C46D49956&displaylang=en

     

    • Microsoft Synchronization Services for ADO.NET for Devices

    This component needs to be installed on SQL Server box. It can be downloaded from this location:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=75fef59f-1b5e-49bc-a21a-9ef4f34de6fc&displaylang=en

     

    • SQL Server Compact 3.5 RTM must be installed on the device

    For SyncADO v2, do I just need to replace the SQL Server Compact 3.5 and Synchronization Services for ADO.NET v1.0 for Windows Desktop with SyncADO v2 and then install SQL Compact 3.5 as a separate component on the SQL server box?

    I assume I can keep all other peices as it is?

    Thanks once again.

    Apurv
    Tuesday, August 19, 2008 5:39 PM