Перемещение приложения в облако - как создать двунаправленную синхронизацию между клиентами - дизайн таблицы - PullRequest
1 голос
/ 12 марта 2012

В настоящее время у меня есть потребительское приложение WPF, и мои пользователи хотят просматривать и обновлять информацию на мобильных устройствах и планшетах. Я планирую поддерживать метро ipad, iphone и windows8.

Я хочу создать новое приложение с возможностями облачной синхронизации. Я планирую использовать платформу Azure для хранения базы данных и размещения служб.

Учитывая, что у пользователя может быть несколько устройств, которые могут быть подключены или отключены, и они выполняют редактирование, удаление и т. Д., Какие изменения я должен внести в свои таблицы для обработки двунаправленной синхронизации данных?

Если пользователь имеет 2 устройства, удаляет запись на устройстве, а затем на втором устройстве вместо этого редактирует запись и затем синхронизирует оба устройства в облаке, удаляется ли запись или обновляется? Как вы отслеживаете эти изменения? Достаточно ли будет добавить эти столбцы: созданные и последние обновления для отслеживания этих изменений?

Каков наилучший подход к синхронизации данных в гибридных приложениях?

Ответы [ 2 ]

1 голос
/ 16 марта 2012

Вы можете взглянуть на проект с открытым исходным кодом, службу синхронизации OpenMobster. Вы можете выполнить следующие операции синхронизации

  • двусторонний
  • односторонний клиент
  • одностороннее устройство
  • загрузка

Кроме того, все модификации автоматически отслеживаются и синхронизируются с облаком. Вы можете отключить приложение, когда сетевое соединение не работает. Он будет отслеживать любые изменения и автоматически в фоновом режиме синхронизировать его с облаком при восстановлении соединения.

Он также поддерживает синхронизацию между несколькими устройствами, как это делает iCloud.

По вашему вопросу, удалено ли оно или обновлено, в моем движке оно будет удалено по той причине, что кто-то хочет, чтобы запись была удалена независимо от ее состояния. Я понимаю, что другой аргумент также справедлив. Но с механизмами синхронизации и разрешением конфликтов вы должны придерживаться некоторого поведения и оставаться последовательными

В настоящее время на Android и iOS поддерживаются только собственные разработки. Однако следующая версия 2.2-M8 будет поддерживать сквозную интеграцию с PhoneGap на Android, а 2.2-M9 добавит iOS.

Вот ссылка на проект с открытым исходным кодом: http://openmobster.googlecode.com

Вот учебник, чтобы понять некоторые из его работ: http://code.google.com/p/openmobster/wiki/AndroidSyncApp

1 голос
/ 12 марта 2012

взгляните на Sync Framework Toolkit

. Это инструментарий, созданный поверх Sync Framework с OData, и, если я не ошибаюсь, в нем есть примеры для iPhone и HTML5.

...