locked
Next release of Sync Framework for Devices? RRS feed

Answers

  • Hi Andreas,

    Thanks for posting the details. We are currently in the process of releasing a QFE for the Sync Services device release which has several perf improvements including.

    1. Use of SqlCeResultSet for applying inserts on device.
    2. Ability to use custom serialization to transfer data between device and server.
    3. Other performance issues that were identified and discussed on the forum.

    I will encourage you to try this QFE when it is released.

    In addition there is a way in Sync Services to do a fast initialization. You can take a sdf file from a initialized client and copy it to a new client. The clientID parameter can then be set to indicate that this is a new client. You might want to look into that approach to improve performance of client initializations.

    thank
    Sudarshan


    Development Lead , Microsoft
    Monday, August 31, 2009 6:11 PM
    Moderator

All replies

  • AFAIK it´s a "so called" Microsoft(?) Strategy to not give out any date for a next release. ;-)
    Monday, August 17, 2009 7:55 AM
  • ;)

    perhaps we do not get a concrete date but at least which quarter of the year or if we will have to wait until VS 10 is out or something like that.
    Monday, August 17, 2009 9:23 AM
  • Andreas,

    Sorry I don't have a date for you but I am interested in knowing a little bit about your scenario. Can you share some information about your device scenario and which specific CTP2 features you were interested in? We can take this offline if you like. Are you currently using sync services for devices?

    thanks
    Sudarshan
    Development Lead , Microsoft
    Monday, August 17, 2009 8:33 PM
    Moderator
  • Hello Sudarshan,

    thanks for your reply.

    We started using Sync Services for Devices in our current project in end 2007/early 2008. We were in search of a sync solution and did not want to go the RDA or merge replication route, as we were convinced Sql 2008 changetracking and SyncServices / SyncFramework is the upcoming thing and we wanted state of the art technology ;)

    Our scenario is not very special I guess. We have a field force support system simply spoken managing "tasks", "employees" and "task data". The central system is based on a SQL2008 database and employees are working on Windows Mobile 6.1 devices with local SQL Compact 3.5 DB. In the next version we will also have users working on notebooks and tablet pcs, hence using SQL Compact 3.5 desktop. For now there is no sophisticated peer-to-peer sync, only simple client-server.

    The features I am interested in having also for device usage:

    • new database providers - the new initialization and batching features sound very promising; initial syncs last quite long (30min+), having snapshots would be great. also batching did not work very well for us, now having a rather complex stored procedure for "estimating" batch counts, as we had lots(!) of OOM problems (both download AND upload).
    • custom filters - not quite sure if this can work for us, but I think of using this to filter by employee and thus only sync the tasks and data that are actually assigned to this employee. for now this is all handled using diverse joins in the incrementalInserts and incrementalUpdates scripts
    • conflict logging - sounds very helpful. this way we could handle later if a conflict cannot be automatically resolved
    • performance - most of all I love to see that internal processing should now be handled via SqlCEResultSet. this was the main reason why we had to customize our sync handling - sync times were not acceptable. Manually messing with the local data improved our perf but lead to some other problems, as our manual inserts were now tracked by the local changetracking as if this was actually new data. So we had to also come up with calls to accept changes and stuff. This lead to a state where we could not have background syncs, as we had to make sure that there is no new data entered during sync, as we manipulated the metadata after sync. Me and other developers here quite often posted for ways to get around the SQL Ce changetracking (temporarily disable it, nullify tracking columns,...) here in the forums but as far as I know there was no solution offered. So the solution works for now, but I would love to let only the sync framework do its job, not needing to mess with the (meta-)data and not having to worry about the overall time required to sync tables.

      For now users told me they sync while getting a cup of coffee or a snack, but this should not be the final solution. Their boss / our customer would probably not accept this ;)

      Kind Regards,

      Andreas
    Thursday, August 20, 2009 2:38 PM
  • Hi Andreas,

    Thanks for posting the details. We are currently in the process of releasing a QFE for the Sync Services device release which has several perf improvements including.

    1. Use of SqlCeResultSet for applying inserts on device.
    2. Ability to use custom serialization to transfer data between device and server.
    3. Other performance issues that were identified and discussed on the forum.

    I will encourage you to try this QFE when it is released.

    In addition there is a way in Sync Services to do a fast initialization. You can take a sdf file from a initialized client and copy it to a new client. The clientID parameter can then be set to indicate that this is a new client. You might want to look into that approach to improve performance of client initializations.

    thank
    Sudarshan


    Development Lead , Microsoft
    Monday, August 31, 2009 6:11 PM
    Moderator
  • Hello Sudarshan,

    thank you very much for sharing this with us!

    Can't wait to get my hands on this release.

    Regards,
    Andreas
    Tuesday, September 1, 2009 1:37 PM