locked
Multiple Occasionally Connected Clients Sync Framework Architecture RRS feed

  • Question

  • Hi

    I have a sync framework architecture to design and while I've done a lot of surfing around and reading up on I still can't quite grasp the right way to go about this. I've come up with the following analogy to describe what I'm attempting to achieve.

    Imagine we have a clothing brand/retailer/wholesaler where we have the following parts:

    1. Head office where the designers work, the manufacturing process is managed and the accounting systems housed.
    2. A public facing web site retailing product.
    3. A number of distribution warehouses that are separated geographically.

    So the head office would contain the parent database, that has all the information about the products, orders and stock levels. When an order is placed online (point 2) the order is inserted to the head office server then a sync will be ready for the relevant warehouse.

    Imagine the warehouses are very big, we've got a console at each end of the warehouse where pickers dispatch the orders, mark them as dispatched, and a sync is conducted. The head office can see the order has been dispatched as can the second console in the warehouse.

    Now consider if the internet connection went down at the warehouse prior to the order being marked as dispatched. The order can be marked as dispatched in the console, which would be synced to the head office later. That's fine, but what about the other console in the warehouse?

    At this point I've only considered that each console would sync with the head office server only, so at this point console 1 and console 2 do not know what each other have been doing. And, because the internet connection is down they won't be able to until it is back up again and they can communicate with the head office server.

    I'm not sure if this is an N-Teir solution, or how to go about it. Do you have some ideas for me please?

    Previously I've done data replication using sql server compact edition but seeing as it's coming to end of life I've moved on to play with the Sync Framework and have it working fine between a client and a server and syncing just fine. That was just for an initial test though, now I need to get serious about planning the real thing.

    Thanks!
    Tuesday, July 26, 2016 5:21 AM