У нас есть довольно большое многоуровневое многоуровневое многоуровневое решение на основе .Net 3.5. Эта система представляет собой сервис-ориентированную архитектуру (службы WCF) с пользовательским интерфейсом ASP.Net MVC.Должен использоваться Rich Client Arch в системах многоуровневого предприятия
Некоторые из ребят в команде работают над инструментами для системы и реализуют их как богатые клиентские архитектуры WPF, которые напрямую подключаются к базе данных (или другим источникам данных).
Как-то это просто не чувствует себя хорошо ко мне по следующим причинам:
- Это потребует, что SQL Server должен был бы быть доступен по количеству машин (которые работают инструменты) непосредственно. Разве это не лучшая практика только для того, чтобы ваш уровень приложений мог подключаться к уровню базы данных? В любом случае сквозная аутентификация будет использоваться для аудитоспособности, поэтому накладные расходы на управление несколькими учетными записями не являются проблемой.
- Должно возникнуть дублирование (или, по крайней мере, распределение) бизнес-логики. Вместо того, чтобы размещать бизнес-логику на сервере для повторного использования, он должен был бы размещаться на каждой из клиентских машин.
- Обслуживание нескольких клиентских установок: теперь все эти машины необходимо обновлять отдельно каждый раз, когда выпущена новая версия инструмента. Хорошо, вы все равно можете использовать что-то вроде одного щелчка, чтобы автоматически обновлять его.
и т.д., и т.д.
Я предложил Rich Internet Architecture для инструментов, чтобы мы могли воспользоваться расширенной функциональностью, что клиентские машины могут затем поставить (что браузер не может быть в состоянии сделать или просто будет намного сложнее в браузере). По крайней мере, в этом случае основная бизнес-логика будет по-прежнему удерживаться на уровне сервисов на серверах приложений, и нет необходимости в каких-либо прямых подключениях к SQL-серверам.
Я могу понять, используя Rich клиентов для приложений, таких как слово или excel, но если у вас уже есть многоуровневое решение, то, конечно, это не лучший способ сделать это!
Я хотел бы получить хорошее обсуждение по этой теме, поскольку я не думаю, что это одна из тех вещей, на которые можно легко ответить одним ответом (я могу ошибаться ;-).
Как вы думаете? Что вы, ребята, пережили в прошлом? Где я могу найти ресурсы, чтобы доказать или опровергнуть мои пункты выше?
Смотрите также: Google Earth - Rich Client or Rich Internet Architecture?
Java-Web начать альтернативную технологию .NET, как представляется, ClickOnce. – kazanaki