2010-07-05 2 views
1

Я просто вхожу на этап синхронизации данных клиент-сервер моего проекта приложения iPhone, и мне удалось загрузить мою модель данных CoreData как на iPhone-клиент, так и на мой сервер TurboGears (что хорошо). Теперь я начинаю решать проблему синхронизации данных между сервером и несколькими клиентами, и, хотя я могу сворачивать самостоятельно, это похоже на одну из этих проблем, которая является довольно общей, и поэтому там должны быть фреймворки или библиотеки которые обеспечивают значительную функциональность.Любые хорошие клиент-серверные системы синхронизации данных, доступные для iPhone?

Кто-нибудь знает об одном, который может быть применим к этой среде (например, Objective-C на iPhone, pyobjc/Python на сервере)? Если нет, знает ли кто-нибудь о шаблоне проектирования или общепринятом подходе к этому материалу, который будет хорошим путем для самореализации? Я не мог найти общепринятый термин для этой проблемы, помимо «синхронизации данных» или «сохранения удаленных объектов», ни один из которых не очень полезен для Google.

Я столкнулся с каркасом Funambol, который выглядит так, как будто он обеспечивает этот точный тип функциональности, однако он основан на C++/Java и поэтому кажется, что он не подходит для конкретных языков моего проекта.

Любая помощь очень ценится.

ответ

1

Поскольку вы уже используете TurboGears, ознакомьтесь с документацией RestController. Использование сервисов RESTful стало широко принятой архитектурой со многими реализациями как для клиентов, так и для серверов. MGTwitterEngine от Matt Gemmell - хороший пример клиентской реализации конкретного API, Twitter.

+0

Благодарим за ответ, но я не столько ищу протокол связи между клиентом и сервером (я уже использую подход RESTful для компиляций cli/srv), но и для более высокоуровневой архитектуры, которая решает проблемы специфические для синхронизации данных клиент-сервер, например, разрешение конфликтов между несколькими версиями одного и того же объекта, отправленного от разных клиентов. Я знаю, что для этих систем требуется большое количество бизнес-логики, но даже какая-то базовая структура будет лучше, чем ничего. Funambol выглядит так, но это не так для моего проекта. – glenc

+0

REST - архитектура. Это больше, чем протокол. Ключевой концепцией является «Ресурсы» (см. Ссылку на wiki). Существует тенденция требовать от удаленных клиентов опроса для обновлений, что можно сделать, однако, если вы можете, выполните слой REST с Push Notifications, чтобы сообщить клиентам, когда произошли изменения «интереса». – falconcreek

 Смежные вопросы

  • Нет связанных вопросов^_^