![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Расположение бизнес логики приложения. [D7, MSSQL]
Sectey © (2004-08-02 15:07:00)Добрый день уважаемые мастера.
Передо мной стоит задача разработки довольно объемного приложения. Технология клиент-сервер. У меня не возникал вопрос по поводу расположения бизнес - логики. Я всегда использовал комбинированный подход. А тут возникло желание максимально перенести ее на сервер. Так вот вопрос насколько это является грамотным и целесообразно ли это?
Johnmen (2004-08-02 17:52:00) [21]Видимо у нас разные понятия, что такое "звено" в многозвенных архитектурах...
Sergey_Masloff (2004-08-02 17:23:00) [22]Johnmen © (02.08.04 16:35) [9]
>Хочешь поговорить об определениях ?
Можно было б, жаль времени нет.
Соловьев © (02.08.04 16:33) [8]
бизнес-логика в датасорсе, видимо?
Ega23 (2004-08-02 17:22:00) [23]Соловьев © (02.08.04 16:33) [8]
А если Master->Detail на три грида?
TDataSet=>TDataSource=>TDataSet=>TDataSource=>TDataSet=>TDataSource=>TDBGrid?
Тогда что, семицветик, блин?
Johnmen © (02.08.04 16:35) [9]
Хочешь поговорить об определениях ?
Эти определения не более чем условности, Application Server и на ХП можно организовать, было-бы желание.
Johnmen (2004-08-02 16:35:00) [24]>Sergey_Masloff (02.08.04 16:26) [7]
Хочешь поговорить об определениях ?
:)
Соловьев (2004-08-02 16:33:00) [25]
> Самая что ни на есть трехзвенка.
TDataSet=>TDataSource=>TDBGrid - чем не трехзвенка ?:)
Sergey_Masloff (2004-08-02 16:26:00) [26]Johnmen © (02.08.04 16:21) [6]
>Нельзя. По определению...
Что за определение такое?
Есть мнение (и не только мое ;-))
- Слой хранения данных (таблицы и триггеры)
- Слой бизнес-логики (ХП)
- Презентационный слой
Самая что ни на есть трехзвенка.
Johnmen (2004-08-02 16:21:00) [27]>Ega23 © (02.08.04 16:18) [5]
Нельзя. По определению...
Ega23 (2004-08-02 16:18:00) [28]В принципе, когда клиент работает непосредственно с серверными хп, это уже можно считать трёхзвенкой.
Anatoly Podgoretsky (2004-08-02 16:17:00) [29]Много звенная архитектура, отчасти и придумана для этого. Разделение по слоям.
Sergey_Masloff (2004-08-02 16:04:00) [30]Я "фанат" ;-) серверной логики но не всегда это работает эффективно. Скажем довольно обидно пользователю введя много данных получить отлуп от сервера (да и серверу лопатить впустую лишнее неразумно).
Для себя я нашел частичное решение - стараюсь ту бизнес-логику что уместна на клиенте на нем и реализовать но управлять ей с сервера ;-) Ну например какие поля обязательны для заполнения, форматы полей, ограничения - все проверяет клиент но данные для проверки он получает при коннекте к серверу. То есть форма открываясь первым делом запрашивает у сервера инициализационные данные, настраивает себя и только потом пользователь ее получает в свое распоряжение. Скажем поступила вводная что такое-то поле стало обязательным а это позволяет только ввод цифр - меняется пара строк в процедуре на сервере и все клиенты тут же начали работать по-новому. По умному называется data-driven application. Конечно первоначальные затраты на разработку фреймворка довольно большие но потом себя окупает.
Digitman (2004-08-02 15:15:00) [31]централизация бизнес-логики всегда целесообразна
другой вопрос, что в 2-хзвенных системах далеко не всегда удается сосредоточить БЛ на серверной стороне из-за ограниченных порой возможностей самого сиквел-сервера .. в этом случае начинает фигурировать т.н. "толстый клиент", который берет на себя ту или иную часть БЛ
в 3-хзвенных же системах нет никаких ограничений по сосредоточению подавляющего объема БЛ на сервере приложений, который, с одной стороны, взаимодействует с т.н. "тонким клиентом", а с другой - с одной или более СУБД, "толстым клиентом" которых сам сервер приложенийи будет являться в этом случае
Johnmen (2004-08-02 15:10:00) [32]Вопрос слишком абстрактный.
В целом - явл.грамотным и целесообразно.