Моят клиент, доставчик на финансови услуги, е внедрил техния софтуер при над 500 клиента.
Тяхното приложение е написано на C# и използва SQL Server като бекенд на базата данни. Те биха искали да събират данни от всички свои клиентски бази данни и също така да изпращат обратно по-малко количество данни обратно на клиентите. Има няколко изисквания:
Синхронизирането на данни е срещу 500+ клиента със 7 леко различни схеми на бази данни в 7 различни версии на техния софтуер
С течение на времето може да има нови версии на техния софтуер с различни схеми, които не могат да бъдат отложени за изчакване за актуализиране на този механизъм за синхронизиране на данни. По принцип синхронизирането на данни трябва да бъде гъвкаво, за да поддържа всяка схема и да се контролира от централно място, вместо промените в него да бъдат обвързани с пускането на тяхното приложение
Трябва да бъде написан в .Net, тъй като целият им софтуер работи на Windows
Може да има специален клиент за синхронизиране на данни, разположен заедно, който има достъп до базата данни на SQL Server на всеки клиент - но не е гарантирано, че актуализирането на клиента ще се случва често.
Има ли вече рамка (различна от Microsoft Sync Framework, която използва тригери в базата данни), която би помогнала при разработването на тази система за синхронизиране на данни?
Има ли добри книги/статии за четене относно системи с множество наематели или синхронизиране на данни, които предоставят някои добри точки за това как да създадете система като тази?