Есть так много учебников, которые учат нас использовать, например, ORM напрямую с базой данных, но в реальной жизни я не могу вспомнить большой проект, который работал непосредственно с базой данных, а не с сервисами, поэтому количество этих обучающих программ кажется странным мне. Непосредственно подключенные приложения имеют реальные преимущества в скорости переходов данных между базой данных и приложением, и у них нет ограничений в функциональности, которые появляются из-за уровней обслуживания (например, можно взять инфраструктуру Entity и службы данных WCF (которая использует ту же самую модель данных объекта )). С другой стороны, решение служб более безопасно и гибко, поэтому я (и думаю, что многие другие программисты) обычно выбирают его для создания больших приложений с какой-то общей бизнес-логикой... НО! Иногда проигрыш в скорости до 10 раз! Это просто грустно, приложение становится менее отзывчивым, чем могло бы быть. Поэтому я хочу задать вопрос: можете ли вы поделиться своим опытом создания корпоративных приложений без слоя с веб-сервисами и когда это хороший выбор?
Корпоративное приложение!= n-ярусное приложение. Это означает, что вы можете писать корпоративное приложение без создания отдельного физического среднего уровня (бизнес-логики). Создание отдельного среднего уровня всегда должно быть частью требований, потому что это много дополнительной сложности = много дополнительных затрат.
Обычными требованиями для отдельного среднего уровня являются:
Если у вас нет такого требования, вы можете создавать многоуровневое приложение, в котором как интерфейсная, так и бизнес-логика находятся в одном и том же процессе на одном сервере.