Adobe AIR: синхронизация базы данных онлайн / офлайн - PullRequest
0 голосов
/ 01 августа 2011

Я работаю над приложением AIR, которое должно работать как в онлайн, так и в автономном режиме. Пользователь может выполнять различные действия в автономном режиме и результаты будут сохранены в локальной БД. То же самое необходимо синхронизировать с глобальной базой данных, как только пользователь выходит в сеть. Я немного погуглил, и кажется, что Adobe LCDS (службы данных жизненного цикла) - единственный доступный способ сделать это. Однако это корпоративное решение, и оно слишком дорогое.

Есть ли другая реализация для этого? Кто-нибудь использовал CouchDB для онлайн / офлайн синхронизации?

Спасибо и С уважением, Капиль Каушик

1 Ответ

0 голосов
/ 02 августа 2011

Для выполнения синхронизации БД с вашим сервером, когда приложение Air только, у вас нет никаких требований относительно того, какую бэкэнд-технологию вы используете . LCDS упрощает , но это не единственный вариант. Черт возьми, вы можете использовать обычный PHP-скрипт для синхронизации, если хотите.

Сложная часть всего этого заключается в том, что вам необходимо выяснить свой алгоритм синхронизации, чтобы не потерять какую-либо информацию. Обычно я делаю так, что когда приложение снова подключено к сети, оно отправляет всю информацию, которая была изменена / создана (с отметками времени, когда оно было изменено), в автономном режиме на сервер, а затем на сервере есть алгоритм, который проверяет, находится ли автономный режим информация новее, чем то, что было сделано ранее (или имеет какое-то другое бизнес-правило в зависимости от вашей ситуации). Когда сервер решает, какие данные хороши, он отправляет обновленные данные клиенту и эффективно синхронизирует все.

Это можно сделать с помощью обычного HTTP-запроса, опроса или отправки.

...