Современная стратегия синхронизации для приложения Winforms
Мне поручено написать приложение Winforms для небольшой компании, имеющей около 10 мест. Он имеет довольно простую структуру базы данных с таблицами для клиентов, счетов, транзакций, магазинов, транспортных средств и т. Д. Я думаю об использовании базы данных SQL Azure для "основной" базы данных, но приложение критически важно для каждого местоположения и нуждается в иметь "время от времени подключенную" архитектуру, чтобы гарантировать, что она может работать, если и когда Интернет-соединение недоступно, а затем синхронизировать, когда соединение восстановлено.
Я исследовал Microsoft Sync Framework, который кажется лучшим вариантом, но вся документация выглядит несколько лет назад и устарела.
Синхронизация данных Azure выглядела многообещающе, но это больше похоже на инструмент управления типом Azure, тогда как я хочу, чтобы функциональность синхронизации была встроена в клиентское приложение.
Некоторые мобильные решения кажутся интересными, но мне кажется, что мне нужны практически идентичные базы данных SQL Server на клиентском и облачном серверах, и большинство, если не все таблицы, должны оставаться синхронизированными. Я думаю, что самый простой способ сделать это - использовать идентификаторы GUID для каждой сущности и либо Sync Framework, либо использовать мой собственный код для синхронизации.
Итак, я думаю, мои вопросы:
- Каков обычно рекомендуемый современный подход к созданию периодически подключаемого приложения Winforms?
- MS Sync Framework по-прежнему актуален?
- Является ли моя идея иметь идентичные базы данных на клиенте и сервере, использовать идентификаторы GUID для сущностей и либо использовать MS Sync Framework, либо использовать мой собственный код синхронизации как правдоподобный или безумный?
Благодарю.