Рекомендации по архитектуре веб-приложения C #, которое подключается к системе POS

Я хочу разработать веб-приложение на C #, которое позволит клиентам выходить в Интернет и просматривать текущие уровни запасов в розничном магазине, который у меня есть. Магазин использует POS-систему с серверной частью SQL Server.

Приложение будет размещено вне брандмауэра на отдельном сервере. Мне интересно, было бы более разумным с точки зрения безопасности и / или производительности создать сценарий локальной БД, который реплицирует необходимые данные в отдельную БД (вероятно, на том же сервере, где размещено приложение), обновляясь каждые 10- 20 минут или около того, чем просто заставить веб-приложение напрямую взаимодействовать с действующей базой данных POS.

Я не могу позволить, чтобы приложение каким-либо образом влияло на производительность POS-системы. Соединение с приложением будет доступно только для чтения и будет ограничено этой единственной таблицей инвентаризации, но даже с объединением я не уверен, что несколько сотен веб-пользователей, проверяющих живую БД, вызовут какую-либо задержку или нежелательные эффекты.


person RyanMac    schedule 26.11.2012    source источник
comment
Это означает, что данные, которые видят пользователи, могут быть старше 20 минут. Если это нормально, то очевидный ответ - да, дерзайте.   -  person Tengiz    schedule 26.11.2012


Ответы (1)


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

Что касается производительности - даже базовый сервер (Core i3, жесткий диск 5200 об / мин, 2 ГБ ОЗУ) может обрабатывать несколько сотен простых SQL-запросов в секунду для базы данных скромного размера. Учитывая, как современные серверы баз данных кэшируют много данных в оперативной памяти, это означает, что запросы на чтение невероятно дешевы.

person Dai    schedule 26.11.2012
comment
И иметь права доступа только к таблицам, которые представляют ваш инвентарь, и никакие другие. - person sinni800; 26.11.2012
comment
Это был ответ, который я искал - и моя первоначальная склонность. Спасибо. - person RyanMac; 26.11.2012