Microsoft Sync Framework против WCF

У меня есть возможность использовать WCF или Microsoft Sync Framework для моего следующего проекта. Это будет серверная часть SQL Server, которую необходимо синхронизировать с мобильным интерфейсом (.net cf).

У меня есть несколько проблем: 1. схемы базы данных между двумя базами данных не будут одинаковыми.
2. На стороне сервера мне действительно нужно вызвать DLL-библиотеку .net для выполнения обновлений 3. Мы хотим сделать минимальные изменения в базе данных сервера. Он уже находится в разработке, и мы не хотим об этом говорить.

Я знаю, что могу выполнить синхронизацию с WCF между двумя конечными точками, но действительно ли Sync Framework купит мне что-нибудь здесь?


person Chris Brandsma    schedule 29.04.2009    source источник
comment
Я собираюсь отправиться в путешествие, подобное тому, что вы описываете выше. Мне просто было интересно, как вы продвигаетесь со своим проектом и с какими методами / технологиями вы в конечном итоге работали? Как и вам, мне нужно синхронизировать данные между сервером Sql и устройством Windows Mobile, а на стороне сервера любые операции выбора / вставки / обновления / удаления должны выполняться через dll, а не напрямую в базу данных. Наконец, как ваше приложение работает при синхронизации? Как правило, сколько времени занимает синхронизация и о каком объеме данных идет речь? Если бы вы могли ответить на любой из этих вопросов,   -  person ETFairfax    schedule 17.01.2011
comment
@ETFairfax: время синхронизации сильно зависит от пропускной способности в то время, может составлять от пары секунд до нескольких минут. :( Мой план атаки сильно изменился с тех пор, как был опубликован этот вопрос (я пошел с WCF), больше я создаю веб-интерфейс на основе REST с ASP.Net MVC. С базовыми веб-службами MVC гораздо проще иметь дело, и я замечаю между ними нет разницы в производительности.У меня также было много проблем с настройкой WCF - ни одной с MVC.   -  person Chris Brandsma    schedule 18.01.2011


Ответы (1)


Будете ли вы разрешать изменения как на мобильном устройстве, так и на сервере? Если да, то как вы будете справляться с конфликтами, если одна и та же запись данных будет изменена пользователем A на мобильном телефоне и пользователем B на сервере?

Большая разница между фреймворком синхронизации и WCF состоит в том, что фреймворк синхронизации был создан для обнаружения таких конфликтов и предоставляет процедуры для их устранения, в то время как WCF этого не делает.

При этом вы заявляете: «На стороне сервера мне действительно нужно вызвать DLL-библиотеку .net для выполнения обновлений». Если вы говорите, что это должна быть конкретная DLL, которая либо уже есть у вашей компании, либо которую вы разрабатываете, это, похоже, исключает возможность прямого обновления инфраструктуры синхронизации SQL Server. Когда вы используете фреймворк синхронизации, он напрямую связывается с базами данных как на сервере, так и на мобильном устройстве.

person JonnyBoats    schedule 30.04.2009
comment
DLL уже создана и используется уже некоторое время. Так что со стороны компании неохота его менять. И хотя структура синхронизации действительно обнаруживает изменения, она делает это с помощью таблиц захоронения и отслеживания изменений SQL Server. Я отслеживаю изменения с помощью таблиц LastUpdateDate и Tombstone. В остальном только одна таблица требует двунаправленной синхронизации. Все остальное в одну сторону. - person Chris Brandsma; 30.04.2009