locked
Is Sync Framework a good choice for this scenario? RRS feed

  • Question

  • Let me explain what we need:

    We have a repository of 5000 products and we work together with 5 external providers, each provider provide us product prices. For each provider we need to collect all the prices we can get for all out products. When our customers then search for a specific product we need to show them all the prices we found for that product including a link to the vendor site.

    The providers each provide their date in their own format. Provider A puts every night an updated 25MB XML file on a server that we can download using a HTTP GET. Provider B does basically the same but the XML structure is different. For Provider C and Provider D we need to request updated price information product by product. Provider E works with CSV files and so on... In the future there are going to more providers. 

    This is going to be a one-way synchronization always and we wanted to know if the Microsoft Sync Framework would be a good choice for this project? The providers are providing data in different formats, some providers are giving us full files that we need to process on our side whilst for other providers we need to get price information product per product, ...

    Any comment is strongly appreciated. Many thanks!
    Wednesday, February 3, 2010 10:52 AM

Answers

  • No,

    imho, the Sync Framework is not intended for this scenario. Although MSF does work with providers, these would not fit to do the sort of 'synchronization' you want to do.
    1) The synchronization providers are expected to provide 'knowledge' of what data has changed.
        You only get all of the data again, there is no sharing of 'knowledge'
    2) The Database providers require the use of change tracking (no full enumeration)
        Because of 1) you need to iterate all of the received data to check if that data is newer
    3) What you are doing is aggregate data, rather than synchronize it, right?

    You could use a tool such as BizTalk to achieve what you want to do, if you require the more enterprise features or you can build your own lightweight tool based on a provider pattern.
    Wednesday, February 3, 2010 2:10 PM
  • Agree with Rudi. Your requirements looks more of an aggregation with lots of transformation between source and destination.
    Wednesday, February 3, 2010 4:31 PM
  • Nimble, I think your are confusing the providers you have with the Sync framework providers.

    The way I read it, your providers are data sources that give you data in different formats that you want to transform and save into a store and then display it to your customers.
    The Sync framework providers are more like agents sitting on each store that would keep the store uptodate with other such agents and stores through data synchronization.

    Let me know if my understand is off base here :)
    This posting is provided AS IS with no warranties, and confers no rights
    Thursday, February 4, 2010 7:55 AM

All replies

  • No,

    imho, the Sync Framework is not intended for this scenario. Although MSF does work with providers, these would not fit to do the sort of 'synchronization' you want to do.
    1) The synchronization providers are expected to provide 'knowledge' of what data has changed.
        You only get all of the data again, there is no sharing of 'knowledge'
    2) The Database providers require the use of change tracking (no full enumeration)
        Because of 1) you need to iterate all of the received data to check if that data is newer
    3) What you are doing is aggregate data, rather than synchronize it, right?

    You could use a tool such as BizTalk to achieve what you want to do, if you require the more enterprise features or you can build your own lightweight tool based on a provider pattern.
    Wednesday, February 3, 2010 2:10 PM
  • Agree with Rudi. Your requirements looks more of an aggregation with lots of transformation between source and destination.
    Wednesday, February 3, 2010 4:31 PM
  • Nimble, I think your are confusing the providers you have with the Sync framework providers.

    The way I read it, your providers are data sources that give you data in different formats that you want to transform and save into a store and then display it to your customers.
    The Sync framework providers are more like agents sitting on each store that would keep the store uptodate with other such agents and stores through data synchronization.

    Let me know if my understand is off base here :)
    This posting is provided AS IS with no warranties, and confers no rights
    Thursday, February 4, 2010 7:55 AM
  • Thank you all for your answers, I was indeed confusing the providers.
    Monday, February 8, 2010 8:49 AM