Таким образом, мы создаем локальную (на сайте клиентов) систему пользовательских точек продаж, ничего особенного. Это все .NET, C # и SQL Server.
Одним из требований является то, что система позволяет принимать заказы также через Интернет.
По разным причинам (надежность / скорость соединения, резервное копирование, стабильность, обслуживание и т. Д.) Веб-портал будет размещен за пределами сайта с какой-либо стандартной компанией, предоставляющей услуги веб-хостинга.
Информация о продукте находится в локальной БД, поэтому нам необходимо каким-то образом синхронизировать внешнюю БД веб-сайта с этими данными. Очевидно, он должен быть безопасным и не слишком тяжелым.
Мы придумали решение, которое минимизирует воздействие локальной БД на внешний мир:
- веб-приложение не может получить доступ к чему-либо из локального приложения.
- единственный способ перемещения данных - это отправка из локального приложения в веб-приложение.
- единственное, что может сделать веб-приложение, - это отправить в местный БД уведомление о том, что был принят новый заказ. Затем локальное приложение подключится к внешнему приложению и получит данные заказа.
Итак, мы думали о таком дизайне, используя веб-сервисы и просто определяя основные действия в веб-приложении, такие как addProduct (id, бла-бла-бла)
Но затем мы должны написать подпрограммы для синхронизации данных, например, если продукт удален из локального приложения, но внешнее приложение временно недоступно и т. Д., И т. Д. *
Это разумный подход или есть лучший способ?