Я думаю о высокоуровневой архитектуре приложения WPF.
Обычно я думаю об этом
- Сервер базы данных
- AУровень доступа к данным на своем собственном сервере
- Уровень бизнес-логики на своем собственном сервере
- Оболочка WCF для бизнес-уровня
- Уровень пользовательского интерфейса для использования на клиенте.
Например, тонкий клиент со всей магией, происходящей на удаленных серверах.
Но кто-то в команде задал вопрос, должен ли уровень бизнес-логики находиться на удаленном сервере.Почему бы не просто перенести это на клиента, сделав его менее тонким клиентом, а не толстым клиент-серверным приложением.
В данный момент нам не нужен WCF, и мы предполагаем, что мы все еще строим бизнес-логикутак что на отдельном уровне это имеет какой-то смысл для меня с точки зрения упрощения инфраструктуры.
Мой вопрос ... есть ли какие-либо веские архитектурные причины НЕ развертывать уровень бизнес-логики дляклиентские машины вместе со слоем пользовательского интерфейса, когда веб-сервисы не требуются?
Я могу думать о drwabacks, но ни один из них не кажется настолько большим
- Меньше необходимости обновлений на клиенте (но, конечно, clickonce уменьшает это)
- Больше нагрузки на клиентский компьютер.
- Необходимо убедиться, что сервер базы данных достаточно громоздкий и соединение с ним достаточно большое