Клиентское приложение - Сервер Приложений - СУБД

Дядька с усами и часами
Дата: 17.06.2017 10:56:21
Здравствуйте, уважаемые программисты!
Прошу поделиться соображениями вот о чём.
Пишу клиентские desktop приложения (C# WinForms) под Виндовс для работы с Базами Данных (речь о веб-приложениях пока не ведём, обсуждаем только desktop).
Клиентское приложение <----> СУБД
Напишите, какие по вашему мнению существуют преимущества у трёхзвенной схемы:
Клиентское приложение <----> Сервер Приложений <----> СУБД
Также буду рад прочесть о случаях из вашей практики в пользу той или иной точки зрения.
Спасибо.
MasterZiv
Дата: 19.06.2017 02:29:30
Дядька с усами и часами,

на среднем слое можно реализовать какую-то бизнес логику, не на расширениях SQL.

Кроме этого, если нужно иногда задействовать какие-то другие компоненты или службы, например, послать с сервера сообщение по электронной почте или что-то в этом роде, из кода в базе данных на SQL это бывает достаточно трудно сделать. А со среднего звена никаких проблем. Вообще, если управление попадает в код на SQL, из него потом трудно выбраться куда-то ещё, кроме клиента СУБД.
Leonid Kudryavtsev
Дата: 19.06.2017 09:08:36
Дядька с усами и часами
....
Напишите, какие по вашему мнению существуют преимущества у трёхзвенной схемы
....

если как у индусов, оплата по кол-ву строк кода==> можно больше написать кода ==> выше заработок
Изопропил
Дата: 19.06.2017 09:35:02
MasterZiv
на среднем слое можно реализовать какую-то бизнес логику, не на расширениях SQL.

особенно что касается разграничения прав доступа
Дядька с усами и часами
Дата: 19.06.2017 09:52:45
Leonid Kudryavtsev
можно больше написать кода ==> выше заработок
может быть ещё какие-то аргументы?
Дядька с усами и часами
Дата: 19.06.2017 09:55:02
Изопропил
MasterZiv
на среднем слое можно реализовать какую-то бизнес логику, не на расширениях SQL.

особенно что касается разграничения прав доступа
например? на среднем звене организовать свою систему юзеров-ролей-паролей, при том, что сам Сервер Приложений ломится в БД от имени одной и той же учётки? вы это имеете ввиду?
schi
Дата: 19.06.2017 10:36:47
Дядька с усами и часами
Здравствуйте, уважаемые программисты!
Прошу поделиться соображениями вот о чём.
Пишу клиентские desktop приложения (C# WinForms) под Виндовс для работы с Базами Данных (речь о веб-приложениях пока не ведём, обсуждаем только desktop).
Клиентское приложение <----> СУБД
Напишите, какие по вашему мнению существуют преимущества у трёхзвенной схемы:
Клиентское приложение <----> Сервер Приложений <----> СУБД
Также буду рад прочесть о случаях из вашей практики в пользу той или иной точки зрения.
Спасибо.


А что, если слова начинать с заглавной буквы, это им дополнительный вес придает ? Просто интересно...
просто я
Дата: 19.06.2017 11:08:47
Дядька с усами и часами
например? на среднем звене организовать свою систему юзеров-ролей-паролей, при том, что сам Сервер Приложений ломится в БД от имени одной и той же учётки? вы это имеете ввиду?

ну "свою систему юзеров-ролей-паролей" это ваше дело, но вот сбором "в одну кучку"/расчетами/пересчетами каких-то данных из разных систем и БД, чтоб не терять время на "...кучку..." на клиенте, а отдать ему сразу - можно наверное...
alexk123
Дата: 19.06.2017 13:00:45
Сервер приложений позволяет много чего:
alexk123
Дата: 19.06.2017 13:09:25
- организовать общие кэши, используя другую бесплатную базу типа кеу-value и т.п.
- минимизировать количество сессий на СУБД (важно, если лицензирование ведется по количеству сессий), требования к серверу СУБД становятся меньшими (как за счет меньшего количества сессий, так и переноса логики)
- появляются возможности масштабирования горизонтального (когда ERP вырастет до нескольких тысяч пользователей)
- ну и возможности языков типа JAVA и т.п., которые используются на серверах приложений, гораздо шире, чем языки СУБД