ORM с автоматической синхронизацией данных клиент-сервер. Есть ли готовые к использованию решения? - PullRequest
1 голос
/ 28 февраля 2010

Рассмотрим клиентское приложение, которое должно хранить свои данные на удаленном сервере. Мы не хотим, чтобы он получал доступ к этим данным «на лету», а хотим, чтобы он имел копию этих данных в локальной базе данных. Таким образом, нам не нужно соединение с удаленным сервером, чтобы использовать приложение. В конце концов мы хотим синхронизировать локальную базу данных с удаленным сервером. Хороший пример того, о чем я говорю, - сервис Evernote . Этот тип приложений очень распространен, например, в разработке мобильных приложений, где пользователю не гарантируется постоянное подключение к Интернету, пропускная способность ограничена и трафик может быть дорогим.

Решения ORM (объектно-реляционное отображение) обычно позволяют разработчику определить некоторую промежуточную "модель" для своих данных бизнес-логики. И затем работать с ним как с некоторой объектной иерархией на его языке программирования, имея возможность хранить его в реляционной базе данных.

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

Ответы [ 3 ]

1 голос
/ 03 марта 2010

AFAIK, таких инструментов ORM нет.

Это была одна из первоначальных целей нашей команды (я один из разработчиков DataObjects.Net), но эта функция все еще не реализована . Скорее всего, мы начнем работать над синхронизацией базы данных этой весной, но, поскольку почти ничего еще не сделано, точного срока для этого нет.

1 голос
/ 28 февраля 2010

эта ссылка может предоставить некоторую полезную информацию

http://gwtsandbox.com/?q=node/34

http://www.urielkatz.com/archive/detail/google-gears-orm-v01/

http://www.urielkatz.com/archive/detail/google-gears-orm/

0 голосов
/ 04 ноября 2011

Существует хотя бы один ORM с открытым исходным кодом, соответствующий вашим потребностям, но это Delphi ORM.

Он называется mORMot и использует JSON в архитектуре без состояния / без REST для связи через сообщения GDI, именованные каналы или HTTP / 1.1. Он может подключиться к любому ядру базы данных и встроить оптимизированный механизм SQlite3 .

Это настоящий Клиент-сервер ORM. То есть ORM используется не только для сохранения данных объектов (как в других реализациях), но как часть глобального n-уровневого уровня, сервис-ориентированной архитектуры. Это действительно имеет значение .

...