|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Да, ООП, здесь вы действительно что-то не то написали.... Более-менее нормальные объектные архитектуры используют действительно единую идентификацию всех объектов через одну общую таблицу. И это работает достаточно быстро даже в случае миллионов записей. Про использование СП я уже писал. Если говорить про бизнес-логику, то на него можно выносить часть бизнес-логики, не работающую с множествами, можно выносить специфические алгоритмы, плохо реализуемые средствами SQL, он может выполнять много вспомогательных функций - как то авторизация, кэширование, шифрование и т.п., с его помощью легче построить приложение, независимое от конкретной СУБД. Это все необязательно в общем случае, просто в зависимости от требований к приложению может быть целесообразно. Вообще говоря, при удаленной работе с БД (не из локальной сети) я почти всегда за использование промежуточного слоя, даже если он и не выполняет тех функций СП, которые я описал и является "драйвером" в термнологии tygra - просто это обеспечивает большую защищенность СУБД. С моей точки зрения, корпоративная СУБД наружу должна быть закрыта полностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 16:47 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Если говорить про объектную архитектуру бизнес-логики (это не равно полному выносу бизнес-логики на сервер приложений), то тут я уже кучу аргументов приводил, и не услышал ни одного внятного аргумента против кроме "зачем это делать, у нас и так все работает". Ну еще был аргумент, что это усложнит систему. Но я сним не согласен, т.к. мою систему это нисколько не усложняет, а наоборот делает более простой для понимания, расширения и поддержки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 16:57 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
авторЕсли говорить про объектную архитектуру бизнес-логики (это не равно полному выносу бизнес-логики на сервер приложений), то тут я уже кучу аргументов приводил, и не услышал ни одного внятного аргумента против кроме "зачем это делать, у нас и так все работает". Не слышать, и не хотеть слышать 2 большие разницы. Зачем мне объектная модель БЛ, если я ее реализую в реляционной СУБД?! Вот скажите, зачем?! Какие я получу от этого приемущества? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 17:08 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChЕсли говорить про объектную архитектуру бизнес-логики (это не равно полному выносу бизнес-логики на сервер приложений) Т.Е. Вы предлагаете использовать бизнес-логику на ООП в СУБД Пример: MS SQL с .Net или Oracle с Java. ---- SAnalis.ru - Just for fun. Еще расту, а так я ДЖИП! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 17:19 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklinНе слышать, и не хотеть слышать 2 большие разницы. Зачем мне объектная модель БЛ, если я ее реализую в реляционной СУБД?! Вот скажите, зачем?! Какие я получу от этого приемущества? Вот-вот. То что вы мне говорите, это еще один вариант на тему "зачем это делать, у нас и так все работает". Так что кто не хочет слышать - это большой вопрос. То, что у вас это реализуется в реляционной СУБД - это я понял. Но реляционная - то она реляционная, а язык - процедурный a-la Pascal, Basic и т.п. Я не говорю здесь про чистые SQL-возможности, я говорю про расширения SQL для написания хранимых процедур. Чем плох этот язык по сравнению с ОО-языком - еще раз написать? Попробуйте например построить сложное приложение на чистом Pascal без использования ОО-расширений - поймете. Поддерживать и расширять такой код гораздо менее удобно, примеры я уже приводил выше. Структурировав все приложение по ОО-принципам от этой проблемы я избавляюсь. Процедурный SQL у меня работает на самом нижнем уровне, выполняя роль своеобразного ассемблера для более высокоуровневого языка. Давайте только не вдаваться еще в дискуссии, что тут более высокоуровневое, я не имел в виду низкоуровневость SQL самого по себе, а всего лишь его место в моей системе. Это я уже повторяюсь. Больше повторяться не буду - надоело. Если хотите - пролистайте топик на несколько страниц назад, посмотрите мои аргументы, примеры, вопросы и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 17:21 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VoDAТ.Е. Вы предлагаете использовать бизнес-логику на ООП в СУБД Пример: MS SQL с .Net или Oracle с Java. Да нет же... Бизнес-логика же все равно полностью не выносится на сервер приложений, какая-то ее часть работает в СУБД. Просто здесь люди, когда видят аргументы в пользу сервера приложений сразу себе представляют, что я на сервере приложений делаю выборку из таблицы, пробегаю по ней и для каждой записи например делаю другую выборку или insert... Ну или что-то в этом роде. Специально для них я написал, что логика, которая работает со множествами так и будет с ними работать в СУБД. Просто я ввожу более высокоуровневые абстракции, чем вызовы хранимых процедур - вот и все. И код, реалзующий эти абстракции работает на сервере приложений, хотя в принципе может работать и на клиенте, это на самом деле не так принципиально. г-н Инженер здесь правильно высказался, что мы обсуждаем 2 разных вопроса - о применимости сервера приложений и об объектной архитектуре бизнес-логики. И мешать их в кучу не совсем правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 17:30 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChТо что вы мне говорите, это еще один вариант на тему "зачем это делать, у нас и так все работает". Так что кто не хочет слышать - это большой вопрос. То, что у вас это реализуется в реляционной СУБД - это я понял. Но реляционная - то она реляционная, а язык - процедурный a-la Pascal, Basic и т.п. ... Если хотите - пролистайте топик на несколько страниц назад, посмотрите мои аргументы, примеры, вопросы и т.п. Так я и не пытаюсь на процедурном языке реализовывать наследование, инкапсуляцию и полиморфизм, ибо действительно это будет криво. А вот возможностей TSQL для обработки реаляционных данных более чем достаточно для наибыстрейшей обработки правильно спроектированной структуры данных . Топик я читал, особенно вспоминаются аргументы про "1500 хранимых процедур" (кстати у меня их в разы больше, а современные ERP системы содержат их 10 и 100 тысяч. Т.е. все их разработчики лохи и не тут траву курили, когда систему разрабатывали?), и про то, что почему то надо "почти все" перелапачивать (почему все, опять непонятно). И Вам так же уже в этом топике отвечали на ваши вопросы. И в пплане невозможности сопровождения таких систем (без ООП) и т.п. авторПросто здесь люди, когда видят аргументы в пользу сервера приложений сразу себе представляют, что я на сервере приложений делаю выборку из таблицы, пробегаю по ней и для каждой записи например делаю другую выборку или insert... Ну или что-то в этом роде. Специально для них я написал, что логика, которая работает со множествами так и будет с ними работать в СУБД. Просто я ввожу более высокоуровневые абстракции, чем вызовы хранимых процедур - вот и все. Вы дадите гарантию, что Ваши "высокоуровневые абстракции" генерят оптимальный код и структуру с точки зрения реляционной бд? Что очень Важно для OLTP систем, когда каждый запрос и используемые им объекты приходится вылизывать, дабы добиться максимального быстродействия. У меня есть сомнения. Можете их опровергнуть? Что автоматически создаеются нужные индексы, что динамически генерируемые запросы оптимизированы? Ведь порой изменения порядка объединения таблиц или условий отбора в запросе катастрофически влияет на план его выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 17:54 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChо применимости сервера приложений и об объектной архитектуре бизнес-логики. И мешать их в кучу не совсем правильно.Предлагаю повторно поднять вопрос о том, когда лучше, а когде - нет применять сервер приложений. ---- SAnalis.ru - Just for fun. Еще расту, а так я ДЖИП! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 17:56 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChчто мы обсуждаем 2 разных вопроса - о применимости сервера приложений и об объектной архитектуре бизнес-логики. И мешать их в кучу не совсем правильно. нет уж, позвольте. Это Вы обосновывает применение ООП на сервере приложение "процедурностью" TSQL. Так что все здесь взаимосвязано... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 17:59 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Вопрос для всех противников объектного слоя. Как вы думаете, для чего существуют ORM-средства и кто ими пользуется? Для тех кто не знает что это такое pkarklinА вот возможностей TSQL для обработки реаляционных данных более чем достаточно для наибыстрейшей обработки правильно спроектированной структуры данных Для обработки данных достаточно. Обработка данных и у меня в конечном итоге производится на TSQL. Но ведь бизнес-логика и обработка данных - это не совсем одно и то же, не правда ли? Бизнес-логика связана с определенными объектами реального мира, между которыми существуют определенные отношения. И моделировать всю эту систему в целом только посредством TSQL довольно неудобно. pkarklinВы дадите гарантию, что Ваши "высокоуровневые абстракции" генерят оптимальный код и структуру с точки зрения реляционной бд? Что очень Важно для OLTP систем, когда каждый запрос и используемые им объекты приходится вылизывать, дабы добиться максимального быстродействия. У меня есть сомнения. Можете их опровергнуть? Что автоматически создаеются нужные индексы, что динамически генерируемые запросы оптимизированы? Ведь порой изменения порядка объединения таблиц или условий отбора в запросе катастрофически влияет на план его выполнения. Что вы называете оптимальным кодом и структурой? А вы дадите гарантию, что вы генерите такой код и структуру вручную? А доказать можете? А кто-нибудь вообще может дать такую гарантию? Какие-то странные вопросы вы задаете. Да, я считаю, что код генерится достаточно оптимальный для моей задачи. Вручную его можно конечно оптимизировать лучше, но возможности для ручной оптимизации в системе есть. А там, где такая оптимизация не нужна, я могу кучу времени сэкономить на разработке и поддержке. pkarklinнет уж, позвольте. Это Вы обосновывает применение ООП на сервере приложение "процедурностью" TSQL. Так что все здесь взаимосвязано... Нет уж позвольте. Я обосновываю применение ООП процедурностью TSQL. Применение сервера приложений я обосновывал другими аргументами, и в принципе согласен что для многих задач сервер приложений не нужен. В моей системе он нужен в том числе и для более эффективного функционирования именно ООП-подсистемы, поэтому определенная связь есть, но не более того. Сейчас я говорю именно об объектной прослойке, полезность которой на уровне бизнес-логики вы почему-то оспариваете. О сервере приложений можно поговорить отдельно, я писал тоже уже несколько раз для каких целей он используется в моей системе. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 18:18 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklinТопик я читал, особенно вспоминаются аргументы про "1500 хранимых процедур" (кстати у меня их в разы больше, а современные ERP системы содержат их 10 и 100 тысяч. Т.е. все их разработчики лохи и не тут траву курили, когда систему разрабатывали?), Да, назовите мне хотя бы парочку "современных ERP-систем", в которых не использовалась бы объектная бизнес-логика и сервер приложений. Желательно по-отдельности - в которых не используется одно и в которых не используется другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 18:28 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
автор Да, я считаю, что код генерится достаточно оптимальный для моей задачи. Вручную его можно конечно оптимизировать лучше, но возможности для ручной оптимизации в системе есть. А там, где такая оптимизация не нужна, я могу кучу времени сэкономить на разработке и поддержке. В том то и дело, что более менее приемлимый код генериться, только для очень простых задач. И оправдано такое использование, только при создании приложений не зависящих от СУБД. Как только вы начинаете руками там что-то оптимизировать, сразу получаете зависимость от СУБД. Других причин когда, то что можно сделать на СКЛ, делаеться, через ОРМ, я не вижу. Покажете? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 18:43 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
TerroristВ том то и дело, что более менее приемлимый код генериться, только для очень простых задач. И оправдано такое использование, только при создании приложений не зависящих от СУБД. Как только вы начинаете руками там что-то оптимизировать, сразу получаете зависимость от СУБД. Других причин когда, то что можно сделать на СКЛ, делаеться, через ОРМ, я не вижу. Покажете? Не согласен ни с тем, что такой подход годится только для очень простых задач, ни с тем, что при оптимизации я получаю зависимость от СУБД. При оптимизации не изменяется интерфейс между объектным ядром и клиентом, вся оптимизация проводится внутри СУБД. Откуда тогда зависимость от СУБД? Насчет того что других причин не видите - ну вы не одиноки в этом. Причины я уже наверное раз 10 описывал... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 18:53 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChПри оптимизации не изменяется интерфейс между объектным ядром и клиентом, вся оптимизация проводится внутри СУБД. А вот с этого места поподробнее - как именно для каждой из СУБД производится оптимизация ? Возьмем для примера любой из блокировочников MSSQL/DB2/ASA/ASE и что то еще версионное Oracle/FB/PostgreSQL (любую на выбор). Очень интересует вопросы, как Вы добьетесь независимости в логике транзакций, проектировании системы и оптимизации скорости между 2-мя выбранными из списков СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 18:57 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Да, тут я может быть несколько некорректно высказался... В этом случае действительно оптимизация будет зависимой от СУБД, но не сама система. Для каждой СУБД код придется оптимизировать отдельно (если это требуется). Если не требуется, то пользоваться стандартными возможностями. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 19:02 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChВопрос для всех противников объектного слоя. Как вы думаете, для чего существуют ORM-средства и кто ими пользуется? Для тех кто не знает что это такое Имхо все это реинкарнация идей про RAD. Вот я набросал мышкой метаданные(описал хмл-файлом, импортировал из розы итп)-и вот вам готовое приложение. Для определенного класса задач это приемлемый подход. Иногда довольно серьезные приложения пишутся на Ацессе с линкованными таблицами. Никогда не сталкивались? :) Вот ОРМы, что-то в этом роде. До определенного уровня вполне приемлемо. Но только до него. Да, кстати ОРМы очень уязвимы к устареванию технологий и политике поставщика\настроению гениального программиста. Так, что если вам нужно не слишком сложное, малонагруженное приложение сроком службы 2-3 года, то вам с ними по пути. VladiChЧто вы называете оптимальным кодом и структурой? А вы дадите гарантию, что вы генерите такой код и структуру вручную? А доказать можете? А кто-нибудь вообще может дать такую гарантию? Какие-то странные вопросы вы задаете. Да, я считаю, что код генерится достаточно оптимальный для моей задачи. Вручную его можно конечно оптимизировать лучше, но возможности для ручной оптимизации в системе есть. А там, где такая оптимизация не нужна, я могу кучу времени сэкономить на разработке и поддержке. Вы можете дать гарантию, что когда вам потребуется форсировать джойн-ордер или использование какого-нибудь индекса для конкретного тяжелого списка это: а) будет вообще возможно б) не затронет места, которые затрагивать не должно. Вы можете дать подобные гарантии для случаев, когда запрос нужно переписать кардинально - с использованием юнионов или временных таблиц? А для случаев, когда необходимо явное управлению уровнем изоляции\блокировками запросов? Только не говорите, что вашему приложению это не грозит. Это много скажет о вашем приложении :) VladiCh Да нет же... Бизнес-логика же все равно полностью не выносится на сервер приложений, какая-то ее часть работает в СУБД. Просто здесь люди, когда видят аргументы в пользу сервера приложений сразу себе представляют, что я на сервере приложений делаю выборку из таблицы, пробегаю по ней и для каждой записи например делаю другую выборку или insert... Ну или что-то в этом роде. Специально для них я написал, что логика, которая работает со множествами так и будет с ними работать в СУБД. Просто я ввожу более высокоуровневые абстракции, чем вызовы хранимых процедур - вот и все. И код, реалзующий эти абстракции работает на сервере приложений, хотя в принципе может работать и на клиенте, это на самом деле не так принципиально. Т.е. вы начитываете "тяжелый список" из СУБД обычным sql-запросом, а потом на СП придумываете для этого списка какой-нибудь класс в вашей объектной модели? Думаю у вас, по меньшей мере, большая объектная модель. Или я ошибаюсь? VladiChПопробуйте например построить сложное приложение на чистом Pascal без использования ОО-расширений - поймете. Ну за паскаль не скажу... Си подойдет? Виндовз. Если у вас аллергия на виндоз - Юникс. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 19:37 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
DrKonitoИмхо все это реинкарнация идей про RAD. Вот я набросал мышкой метаданные(описал хмл-файлом, импортировал из розы итп)-и вот вам готовое приложение. ORM к RAD не имеет абсолютно никакого отношения. DrKonitoДа, кстати ОРМы очень уязвимы к устареванию технологий и политике поставщика\настроению гениального программиста. Так, что если вам нужно не слишком сложное, малонагруженное приложение сроком службы 2-3 года, то вам с ними по пути. Зависит от конкретного ORM. В общем случае согласен. Но я не использую сторонний ORM, мне своего достаточно. DrKonito Вы можете дать гарантию, что когда вам потребуется форсировать джойн-ордер или использование какого-нибудь индекса для конкретного тяжелого списка это: а) будет вообще возможно б) не затронет места, которые затрагивать не должно. Вы можете дать подобные гарантии для случаев, когда запрос нужно переписать кардинально - с использованием юнионов или временных таблиц? а) могу дать гаранитю б) на 100% не уверен, но процентов так на 90 тоже могу дать гарантию для случаев с использованием юнионов и временных таблиц да и для всех других случаев - я могу в качестве таблицы использовать view с триггерами на вставку/обновление/удаление, а также табличные функции и хранимые процедуры. я также могу сам запрос на выборку списка написать с нуля и сохранить в таблице типов. там все равно хранятся полуразобранные запросы на выборку с целью кэшированя, чтобы не собирать их каждый раз заново. DrKonito Т.е. вы начитываете "тяжелый список" из СУБД обычным sql-запросом, а потом на СП придумываете для этого списка какой-нибудь класс в вашей объектной модели? Думаю у вас, по меньшей мере, большая объектная модель. Или я ошибаюсь? Поясните, что вы понимаете под списками вообще и "тяжелыми списками" в частности. Объектная модель пока небольшая - порядка сотни классов (я говорю разумеется только про те, которые описаны в БД). DrKonito VladiChПопробуйте например построить сложное приложение на чистом Pascal без использования ОО-расширений - поймете. Ну за паскаль не скажу... Си подойдет? Виндовз. Если у вас аллергия на виндоз - Юникс. :) Ну давайте еще PL/1 и OS/360 вспомним... Конечно на этих языках писался большой софт. И сколько человек было в этих проектах задействовано? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 20:12 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChORM к RAD не имеет абсолютно никакого отношения.Я в курсе. Просто имхо это чем-то родственные идеи. VladiCh DrKonitoДа, кстати ОРМы очень уязвимы к устареванию технологий и политике поставщика\настроению гениального программиста. Так, что если вам нужно не слишком сложное, малонагруженное приложение сроком службы 2-3 года, то вам с ними по пути. Зависит от конкретного ORM. В общем случае согласен. Но я не использую сторонний ORM, мне своего достаточно.Тогда в роли гениального программиста выступаете вы и ваши коллеги и преемники зависят от вас. И еще, им тоже хочется написать _свой_ крутой суперпроизводительный обжект-релэшонал маппер ;). VladiCh DrKonitoТ.е. вы начитываете "тяжелый список" из СУБД обычным sql-запросом, а потом на СП придумываете для этого списка какой-нибудь класс в вашей объектной модели? Думаю у вас, по меньшей мере, большая объектная модель. Или я ошибаюсь? Поясните, что вы понимаете под списками вообще и "тяжелыми списками" в частности. Объектная модель пока небольшая - порядка сотни классов (я говорю разумеется только про те, которые описаны в БД). Список=резалтсет, рекордсет, набор записей, датасет (выберите что вам ближе) Под "тяжелым списком" я имею в виду запросы возвращающие сотни-тысячи-десятки тыщ записей, которые имеют достаточно сложную логику и медленно выполняются даже на чистом SQL. VladiCh DrKonito VladiChПопробуйте например построить сложное приложение на чистом Pascal без использования ОО-расширений - поймете. Ну за паскаль не скажу... Си подойдет? Виндовз. Если у вас аллергия на виндоз - Юникс. :) Ну давайте еще PL/1 и OS/360 вспомним... Конечно на этих языках писался большой софт. И сколько человек было в этих проектах задействовано? Помню, когда ООП была новой темой были модны опыты на чем быстрее писать на Си или ЦПП. Группа программистов написал растровый редактор на Си, а потом переписала его на ЦПП. Никакой разницы в скорости разработки выявлено не было :) Ссылку сейчас дать затруднительно - это год 1995 кажется был, журнал то-ли МирПК, толи еще что-то в этом духе. Скажете-такие программисты :) А программисты они везде примерно одинаковые, а в ай-ти отделах особенно :) А вы Брукса читали про то что нет "серебрянных пуль"? Или может хотя бы Джоела Спольски (который ДжоелОнСофтваре)? Имхо скорость разработки зависит от людей и задачи и меньше всего от инструмента. Если не брать конечно крайности. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 21:16 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Всем защитникам обязательной объектной ориентированности. Имхо чтобы необходимость технологии представляющей новый уровень абстракции над "процедурным SQL", действительно была несомненна, а не приводила к пустому флэйму на форумах, она действительно должна означать повышение производительности труда, как минимум на порядок, по сравнению с "покрываемой" им низкоуровневой технологией Как Си над асм-ом, как SQL над самостоятельным оперированием хэш-джойнами, как VB над Си в области интерфейса. Не меньше. Иначе будут невразумительные заявления "А мне так удобнее - все заткнитесь". "А это сам Фаулер сказал - как вы не знаете кто такой Фаулер?". "А у Буча так написано - Всем читать Буча три раза". И еще это должна быть зрелая технология. Не самопальная вечно недописанная обертка, не очередная продукция отдела маркетинга БольшойФирмы, а технология у которой есть хотя-бы десятилетняя перспектива. Сами судите относятся ли ОРМы и самопальные апп-сервера к таким технологиям. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2005, 22:24 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklinТопик я читал, особенно вспоминаются аргументы про "1500 хранимых процедур" (кстати у меня их в разы больше, а современные ERP системы содержат их 10 и 100 тысяч. Т.е. все их разработчики лохи и не тут траву курили, когда систему разрабатывали?), Ответе всетаки простому труженику: как можно сопровождать систему из 100 тысяч ХП - без ОБЪЕКТНОГО (читай - иерархического) описания ? (причем желательно, чтобы происходила автоматическая синхронизация описания со всеми изменениями в базе) Как вообще описывается столь сложная система - чтобы ЛЮБОЙ - с первого чтения мог понять : что где лежит и где найти то, что мне надо? (уж не говоря про перестройку логики работы) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 08:29 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
ПользовательОтвете всетаки простому труженику: как можно сопровождать систему из 100 тысяч ХП - без ОБЪЕКТНОГО (читай - иерархического) описания ? (причем желательно, чтобы происходила автоматическая синхронизация описания со всеми изменениями в базе) Можно. И такие системы сопровождаются, и без всякой объектной модели, хотя с некоторыми дополнительными наворотами, типа Workflow. ПользовательКак вообще описывается столь сложная система - чтобы ЛЮБОЙ - с первого чтения мог понять : что где лежит и где найти то, что мне надо? (уж не говоря про перестройку логики работы) А с чего бы это "любой с первого чтения" смог понять бы что-где лежит в ERP системе состоящей из 50-80 модулей. Вам с полгода надо будет что-бы разобраться в паре - тройке таких модулей. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 09:17 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChВопрос для всех противников объектного слоя. Как вы думаете, для чего существуют ORM-средства и кто ими пользуется? Я не отношу себя к противникам объектного слоя. Я против его применения там, где отказ от его использования даст прирост производительности и более простую архитектуру системы. А на счет всяких ORM, ну что ж, раз они существуют, то ими кто-нибудь и пользуется, но это не является для меня аргументом в пользу их использования. VladiChДля обработки данных достаточно. Обработка данных и у меня в конечном итоге производится на TSQL. Но ведь бизнес-логика и обработка данных - это не совсем одно и то же, не правда ли? Бизнес-логика связана с определенными объектами реального мира, между которыми существуют определенные отношения. И моделировать всю эту систему в целом только посредством TSQL довольно неудобно. Так. Давайте тогда определимся, что такое бизнес-логика. Бизнес-логика это логика данных информационной системы с точки зрения компании, ведущей хозяйственную деятельность . Т.е. та самая обработка. Вы правильно привели термины про объекты реального мира (сущности) и отношения между ними (отношения). Вот как раз используя понятия "сущность" и "отношения" из реляционной теории и средство для их обработки (TSQL) я и строю бизнес-логику своей информационной системы. VladiChЧто вы называете оптимальным кодом и структурой? А вы дадите гарантию, что вы генерите такой код и структуру вручную? А доказать можете? А кто-нибудь вообще может дать такую гарантию? Какие-то странные вопросы вы задаете. Оптимальная структура - структура, позволяющая обрабатывать хранящиеся в ней данные с максимальной производительностью. Оптимальный код - код имеющий наименьшее время выполнения при реализации требуемых алгоритмов. Вручную я как раз могу "вылизать" и структуру и код, потратив на эту оптимизацию дополнительное и, причем, немалое время, используя все возможности СУБД, которая используется. Не вижу в вопросе об "оптимальности" ничего странного. Более того, для OLTP систем оптимальность структуры и кода - основа успеха. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 09:48 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChДа, назовите мне хотя бы парочку "современных ERP-систем", в которых не использовалась бы объектная бизнес-логика и сервер приложений. Желательно по-отдельности - в которых не используется одно и в которых не используется другое. OEBS Вас устроит?! Там есть среднее звено, но это не более чем формзовый сервер. Про кол-во объектов в базе расказывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 09:50 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklinА с чего бы это "любой с первого чтения" смог понять бы что-где лежит в ERP системе состоящей из 50-80 модулей. Вам с полгода надо будет что-бы разобраться в паре - тройке таких модулей. Вот-вот - шаманство в чистом виде: нахрена мне модули - если база одна на всех - мне структуру базы нужно понять. И на это не нужно "полгода" - если есть нормальное иерархическое описание (если так ненавистно слово "объектное") - такое описание читается сразу, и фактически - это есть описание бизнес-процессов (в некотором смысле). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 09:55 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Я кажетца понял про ООП-БЛ, о которой говорит нам VladiCh . Вот что получается в его видении: ООП-бизнес-логика почему-то выглядит на деле всего лишь автоматически генеренными формами для просмотра и рекдактирования данных, в которых автоматом на основании чего-то генерятся поля данных, контролы, их названия и т.д., вследствие чего всего лишь не нужно под каждую таблицу создавать свою отдельную форму на клиенте при разработке. Но помилуйте - это к бизнес-логике никак не относится. А теперь самое интересное: про ООП-методы объекта - мы так и не выяснили, есть ли методы прямо на форме, как к ним можно обратиться, и вообще, как можно работать с чем-то и писать приложение, если ты заранее не знаешь, какие методы есть у объекта, какие параметры ему нужны и как вообще их можно исполнить. Из-за этого пока что и нет понимания никакого. Вот методы то относятся к БЛ. И именно это мы просили много раз рассказать - не про то, что формы на лету генерятся, а про методы объектов и работу с ними, которые такие вот наскрозь ООП. Пожалста, VladiCh, оставьте интерфейсную шелуху и расскажите нам про методы объектов - как я могу выполнить метод, не зная его, и где я его могу выполнить, если у меня нет даже собственной формы конкретного типа объектов. Очень хочется узнать. Просто конкретный пример: есть объект, есть у него метод ХХХ, нужно его в определенном месте на форме списка этих объектов выполнить - как вы это сделаете? -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2005, 10:03 |
|
|
start [/forum/topic.php?fid=33&msg=33323724&tid=1548944]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
133ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
others: | 279ms |
total: | 523ms |
0 / 0 |