Microsoft Sync Services - хорошее решение для меня? - PullRequest
3 голосов
/ 29 января 2009

Мы загружаем транзакции продаж из наших магазинов на сервер головного офиса. В настоящее время мы используем DTS (службы преобразования данных SQL Server), но мы планируем заменить его службами Microsoft Sync для ADO.NET, поскольку это предпочтительное решение Microsoft для этого типа установки, и мы хотим следовать стандарт (который, будем надеяться, будет долгое время). Вот детали нашей установки и то, что мы планируем. Мне нужен совет, особенно о том, подходит ли Sync Services нашему решению.

Положение

Каждый магазин имеет стороннюю систему EPOS, которая хранит продажи в базе данных Microsoft Access 2000, к которой мы можем получить доступ. Наша база данных головного офиса - SQL Server 2005, но она будет обновлена ​​до 2008 года. Головной офис находится не на VPN со всеми хранилищами, но мы можем открыть брандмауэр для IP-адресов хранилищ, чтобы они могли отправлять данные непосредственно в SQL Сервер. Магазины всегда подключены к Интернету через ADSL, хотя они теряют связь, и мы не хотим терять данные о продажах. Мы загружаем только транзакции из магазина - определения не нужно загружать.

Текущее решение

Мы написали службу Windows, которая работает на ПК-магазине. Этот сервис загружает пакет DTS с сервера (который содержит все детали загрузки) и запускает его в магазине - и это загрузит продажи на наш сервер. Мы выбрали DTS, потому что он бесплатный при установке MSDE. Мы не можем использовать SSIS, потому что для этого потребуется лицензия на SQL Server в каждом магазине. Еще одна причина, по которой мы выбрали DTS, заключается в том, что детали загрузки (т.е. какие таблицы и поля должны быть включены) хранятся на нашем головном сервере, поэтому, если нам нужно что-то изменить, мы можем сделать это централизованно и не нужно устанавливать что-либо новое магазины. Это не демонстрация, но было бы неплохо иметь эту возможность в нашем новом решении.

Потенциальное решение - службы Microsoft Sync для ADO.NET

В настоящее время мы создаем подтверждение концепции с помощью служб Microsoft Sync для ADO.NET. Идея состоит в том, чтобы поместить SQL CE (SQL Server Compact 3.5) в каждое хранилище (клиент) и синхронизировать его с базой данных главного сервера SQL Server 2005 (сервер). Мы поместим данные в базу данных SQL CE, либо (1) синхронизировав их с базой данных Access 2000, либо (2) заставив разработчиков системы EPOS записать продажи прямо в базу данных SQL CE - возможно (2). Но наша главная задача - доставить данные из хранилища на сервер головного офиса. Этот метод кажется предпочтительным решением Microsoft для иногда подключаемых систем, и именно это заставило нас серьезно взглянуть на Sync Services. Я надеюсь, что использование этого будет означать, что большая часть работы, необходимой для загрузки продаж, будет встроена в службы синхронизации, и нам не придется заново изобретать колесо.

Потенциальное решение - загрузка на пользовательский веб-сервис

Существует также возможность загрузки транзакций продаж в пользовательский веб-сервис на нашем головном сервере, а затем в нашу базу данных SQL Server. Это означает, что нам нужно будет создать наш собственный механизм для определения того, какие строки являются новыми, а также для кэширования, когда системы отключены. Кроме того, мы можем упустить другие функции, которые будут встроены в Sync Services.

Пожалуйста, дайте мне знать, если у вас есть какой-либо совет, который поможет, особенно: «Является ли Sync сервисами правильное решение!». Проблема, которую мы пытаемся решить, кажется очень общей (загрузка продаж из магазинов), и я хотел бы решить ее с помощью общего решения.

1 Ответ

3 голосов
/ 29 января 2009

Службы Microsoft Sync - это больше, чем вам нужно, но они, безусловно, будут делать то, что вы хотите, и были созданы с учетом вашего типа приложения.

Как и в случае большинства новых технологий от Microsoft, (осторожно: обобщение!) Вы можете обнаружить, что они не настолько зрелы, как хотелось бы. Он будет делать то, что вам нужно, но вы можете столкнуться с проблемами, которые нелегко решить, потому что это не было передано через звонок. Однако, как первопроходец, вы можете обнаружить, что разработчики Sync готовы помочь вам, когда вы застряли, так что это не такая большая проблема, как может показаться.

Убедитесь, что вы прочитали всю литературу, некоторые из которых здесь, или ссылки на следующие сайты:

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

Обязательно сообщите о своем опыте здесь!

-Adam

...