|
|
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
ОКСiscrafmp.s. с нашниками получилось? Попробую на досуге. Вы же в свою очередь пообещайте прочитать что-нибудь об использовании СУБД в монопольном режиме. а зачем? Я и так знаю как СУБД используются в монопольном режиме. Про это вроде речи не было, даже упоминаний p.s. проблемы с пониманием текста по-русски выше уже обсуждались ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 16:51 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Ну тогда не читайте. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2010, 18:37 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Подобъем предварительные итоги: Размещение бизнес-логики на сервере приложений: 1. Независимость от типа СУБД За редкими исключениями МИФ! В качестве элементарного примера: В общем-то синтаксис того же SQL отличен во всех базах, например, в MySQL: SELECT DAYOFMONTH(MAX(post_date)) AS lastday,MONTH(MAX(post_date)) AS lastmonth ... В Oracle: SELECT TO_CHAR(MAX(post_date), 'DD') AS lastday, TO_CHAR(MAX(post_date), 'MM') AS lastmonth Вместо функции NOW() или CURTIME(), Oracle имеет SYSDATE В отличие от Mysql, где можно использовать: INSERT INTO mytable SET mycolumn=myvalue в Oracle INSERT процедура происходит только в формате INSERT INTO mytable (ID,mycolumn) VALUES (1,"myvalue") Возможно проблема с форматами данных типа date. to_date('2008-08-13','yyyy-mm-dd'); И это я не затронул даже 100 части подводных камней. 2. Независимость от DBA Отчасти достижима, т.к. если все писать максимально однотипно и не использовать большую часть функционала, включая и базовый, ни одной из СУБД, то можно обойтись самыми примитивными познаниями и лишь изредка привлекать специалистов со стороны. Плата за это – приложение требующее в десятки, а то и в тысячи раз больше ресурсов. Это можно сравнить с желанием использовать кирпич и для строительства, и для забивания гвоздей, и для чесания спины, и убийства мух и в качестве доски для рисования. Кому не нравится сравнение с кирпичом, могут подставить сюда синхрофазатрон. Результат соответствующий. Еще один вариант, заставить разработчиков самим приобрести знания DBA – но тогда о какой независимости идет речь? 3. Одно место хранения бизнес-логики облегчает изменение и тестирование оной. Отчасти верно, но: - во-первых, обычно часть этой самой логики все равно ложится/дублируется на клиенте и СУБД, хотя бы в виде ограничений уникальности и foreign key. - во-вторых, такая система становится крайне уязвима при попытках работы с ней вне единого сервера приложений. Практика показывает, что если еще можно ограничить внешние приложения на операциях вставки, добавления и удаления использованием API сервера приложения, то с операциями выборки данных это получается не очень, часто вообще никак. Впрочем БЛ на СУБД здесь мало чем поможет. За одним НО - число приложений, умеющих работать с СУБД, на несколько порядков больше, чем с нашим сервером приложений. - в-третьих, мы вынуждены тестировать как собственно бизнес-логику, так и функционал низкоуровневого взаимодействия с СУБД. Т.е. по сути количество тестов, как минимум, не уменьшается. - в-четвертых, по мере развития системы и накопления информации, вполне возможно появление такого кол-ва новой функциональности, которое все равно заставит разделить, а во многом и продублировать, бизнес-логику между различными приложениями, например, бухгалтерской и складской программами. Иначе единый сервер приложений превратится в монстра. Т.е. сама идей о централизации бизнес-логики в одном месте часто оказывается самообманом. Да, мы можем вынести ее из СУБД, но централизации это не даст. 4. Реализация бизнес-логики на сервере приложений снимает большую часть нагрузки с СУБД. - Если эта логика в основном лежит вне СУБД это совершенно верно, в т.ч. для того и используется многозвенный принцип работы. - Если же сервер приложений пытается подменить логику, лежащую на стороне СУБД, то вместо этого имеем значительное повышение нагрузки на СУБД и сети передачи данных. Т.е. не только ничего не выигрываем, но занимаемся прямым вредительством. Размещение бизнес-логики в СУБД: - Если всей, то тут обсуждать нечего, IMHO это если и реализуемо, то разумным такой подход можно назвать только сильно не выспавшись. Возвращаемся на круги своя, с чего собственно и начинали и вокруг чего ходит дискуссия уже 12 страниц: - Размещать бизнес-логику наиболее связанную с целостностью и непротиворечивостью данных и завязанную на низкоуровневые операции в ХП. - Прочую бизнес-логику из СУБД убрать. Увы, но при этом ранее упомянутая проблема взаимодействия внешних программ с системой останется и простого решения нет ни в каком варианте. :( - Все внешние по отношению к СУБД программы должны осуществлять операции по низкоуровневым манипуляциям с данными, за исключением выборки данных, только посредством ХП. - Выборку данных внешнее приложение должно осуществлять только через view. - ХП должны предоставлять интерфейс уровня API операций, а не API таблицы, т.е. никаких insertIntoTableAppUsers, а только что-то типа addNewWebUser. - Скорость смены технических средств работы с данными значительно меньше, чем скорость смены средств разработки, поэтому вероятность того, что нашей разработки придется переползать с какого-нибудь DBASE на Visual FoxPro, оттуда на .NET, а оттуда на JAVA, а оттуда на что-то еще, что гарантированно появится года через три, гораздо выше, чем вероятность смены СУБД. А тогда, чем меньше было реализовано на среднем слое, тем проще будет выйти из ситуации. Кстати, последнее соображение гораздо важней, чем многим кажется исходя из сегодняшней моды. Хотя все вышеизложенное и не является серебряной пулей, но является разумным компромиссом. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 12:24 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
carper- Скорость смены технических средств работы с данными значительно меньше, чем скорость смены средств разработки, поэтому вероятность того, что нашей разработки придется переползать с какого-нибудь DBASE на Visual FoxPro, оттуда на .NET, а оттуда на JAVA, а оттуда на что-то еще, что гарантированно появится года через три, гораздо выше, чем вероятность смены СУБД. А тогда, чем меньше было реализовано на среднем слое, тем проще будет выйти из ситуации. Кстати, последнее соображение гораздо важней, чем многим кажется исходя из сегодняшней моды. Хотя все вышеизложенное и не является серебряной пулей, но является разумным компромиссом. Так? если речь идет о домашних экспериментах, то так, Вы абсолютно правы. Я думал в топике речь идет о промышленных решениях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 12:40 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafm, автор Я думал в топике речь идет о промышленных решениях Вы правильно думали, именно о промышленных. Я вам сейчас как заказчик говорю. Вот, может и не самый яркий, зато самый свежий пример, только вчера при выборе из двух систем ведения реестра акционеров (обе тысяч по 300 рублей, ага не больно-то серьезная сумма, но и не маленькая за коробочный, относительно простой, продукт) одна пролетела за свое пристрастие к FoxPro. Если что, то вторая, выбранная, ничем не лучше и НЕ ХУЖЕ, отличие только в более современной программной платформе. Да, может и глупый каприз, но, могу вас уверить, не единственный за неудовлетворение которых пролетают многие компьютерные компании и на гораздо большие суммы. Вообще, со стороны заказчика бывает крайне интересно взглянуть на проблему, часто многое видится совсем иначе. Многое, например, могу рассказать про то как выбираются крупные КИС (я не про откаты), но не в этом топике. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 13:12 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
carperЯ вам сейчас как заказчик говорю. Вот, может и не самый яркий, зато самый свежий пример, только вчера при выборе из двух систем ведения реестра акционеров (обе тысяч по 300 рублей, ага не больно-то серьезная сумма, но и не маленькая за коробочный, относительно простой, продукт) одна пролетела за свое пристрастие к FoxPro. Если что, то вторая, выбранная, ничем не лучше и НЕ ХУЖЕ, отличие только в более современной программной платформе. при прочих равных, конечно. Не пойму правда как FoxPro соотносится со средствами для разработки серверов приложений, но это упустим. carper Вообще, со стороны заказчика бывает крайне интересно взглянуть на проблему, часто многое видится совсем иначе. Многое, например, могу рассказать про то как выбираются крупные КИС (я не про откаты), но не в этом топике. :) может кому и будет интересно кстати. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 13:44 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafm, "Не пойму правда как FoxPro соотносится со средствами для разработки серверов приложений, но это упустим." Никак не относится, просто была иллюстрация того, что все не так просто сейчас с заказчиками. Раз уж такой активности сейчас в топике нет, позволю себе большой offtop. 1. При выборе системок, для которых база данных действительно место для свалки тысячи-другой записи, мы не связываем руки продавца конкретным видом - пусть использует любую понравившуюся базу, лишь бы ее эксплуатационные качества, включая затраты на ее приобретение и поддержку были минимальны. Поэтому сколько поддерживаемых СУБД не перечисляет продавец это не дает ему ни одного серьезного плюса. А ведь многие создатели таких программ так гордятся своей поддержкой зоопарка СУБД. :) Зато на современность и многоплатформенность языка смотрим довольно серьезно, но, разумеется, тоже без безумных закидонов. 2. При выборе полностью закрытого решения, как правило связанного с особенностями производства, можем позволить себе отказаться от системы, только если она совсем уж непонятно подо что и как написана. В противном случае едим, что дают и платим безумные бабки хотя бы за предоставление вменяемого API. Это очень специфические варианты, обычно увязываемые с поставкой под ключ целых цехов и тут вопрос монополизма стоит очень остро. Опять же тут, как можно понять, сколько там звенку и на чем выбрал монополист от нас вообще не зависит. 3. Выбор КИС, разумеется тянет кучу проблем, но тут уже объем затрат и рисков позволяет несколько изменить ограничения. Например, при выборе какую СУБД будет использовать КИС уже не столь важно есть ли у нас специалисты именно по ней и "полюбляем" ли мы именно ее. Зато критически важно, чтобы это было что-то из большой тройки, четверки, и чтобы специалисты по СУБД на рынке были не в теоретическом смысле. Поддержка же одновременно разных СУБД малоинтересна. С языком программирования аналогично, с одной стороны уже смирились на наличие почти у каждой системы своих языков, бог его знает какого уровня, с другой стороны возможность чего-то серьезное дописать своими силами и на максимально вменяемом языке чрезвычайно критична. Ну и архитектура такой системы уже тоже вещь весьма серьезная. Это связано с тем, что КИС "под ключ", которую "настроили и работает" существует исключительно в мозгах маркетологов, и то только как один из инструментов развода лохов, в нормальной же системе до 30% функционала с годами оказывается вполне себе собственной разработки. В общем получается, что разработчикам "больших" систем (я сейчас не совсем уж про китов, они без советов как-нибудь проживут, ну, или разорятся, тоже бывает), наверное надо поддерживать не кучу разных СУБД, а пару-тройку самых распостраненных в верхнем сегменте. Тех же, кто вынужден ограничиваться средним и, особенно, нижнем ценовым диапазонам СУБД, можно утешить - не выбирайте старье, остальное вообще ваше дело. Можете не тратить время и деньги на свой любимый зоопарк. Т.е. как не крути, но сервер приложений как средство "многобазности" это скорее вредный миф для мелких и средних приложений и пиррова победа экономистов над технарями в больших. А вот уже упомянутые мной языки программирования, платформы и архитектура отнюдь не миф. Стыдно признаться, но похоже что при выборе последних играет большую роль и мода, поэтому тем, кто хочет продавать, я бы посоветовал не игнорировать это обстоятельство, иначе все ваши замечательные системы на коболах и фокспро так и останутся лежать на складе, даже если они, как средство разработки данной системы, на 120% лучше новомодных веяний. Вот и получается, что в реальной жизни попрыгунчики с СУБД на СУБД также редки как золотые медали наших на олимпиаде в Канаде, а смена архитектур и языков также часты как возвраты Аллы Борисовны на сцену. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 15:09 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
carper, спасибо за развернутый ответ, понятно. Я лично, давно не занимаюсь именно тиражными системами. А когда создается индивидуальная система, то здесь поддержка различных СУБД очень даже помогает. Потому что, зачастую, то с какой СУБД должна работать система - выбор заказчика, и здесь поддержка "многобазности" не совсем миф, это реальная необходимость. "Попрыгунчики с СУБД на СУБД", как Вы выразились, действительно редкость. Поддержка в рамках одной системы нескольких СУБД совсем не редкость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 15:29 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafm, авторкогда создается индивидуальная система, то здесь поддержка различных СУБД очень даже помогает. Потому что, зачастую, то с какой СУБД должна работать система - выбор заказчика C учетом того, что на "большую тройку" приходится 88% продаж СУБД (http://www.pcweek.ru/themes/detail.php?ID=119957), вероятность того, что заказчик начнет требовать что-то особенного, наверное, не окупится наваром с него. Хотя, нет, тут точно не скажу, наверное, есть такие, что придется ради них срочно затачивать систему подо что-то, что желают "их величества". Тут уже вопрос стоит только в том, как именно организовать эту поддержку - можно на 100% "накрыть" сервером приложений, вытягивая все остальное за счет железа. Если важно время, то иногда это единственный выход. Хотя ..., вот я сейчас не поленился и составил небольшой список самых распостраненных СУБД: СУБД Поддержка хранимых процедур Oracle Да (PL/SQL, JAVA) Начиная с версии Oracle 10g поддерживается так называемая естественная компиляция (native compilation) хранимого процедурного кода в Си и затем в машинный код целевой машины, после чего при вызове хранимой процедуры происходит прямое выполнение её скомпилированного объектного кода. DB2 Да (SQL/PL + написание хранимых процедур и функций на обычных языках программирования является традиционным способом, поддерживаемым с самого начала,) Microsoft SQL Server Да (Transact-SQL + расширенные хранимыме процедуры на других языках программирования,например, на .Net, C++ или Delphi) Informix Да Ingres Да InterBase Да (PSQL) PostgreSQL Да (PL/pgSQL, PL/Tcl, PL/Perl, PL/Python) Firebird Да (PSQL) Т.е. получается, что если мы не впали в ересь, то у нас и так минимум процентов 80 бизнес-логики лежит на сервере приложений. Оставшиеся на долю СУБД 20% по степени трудоемкости обычно распределяются где-то так - 5% собственно алгоритм (так мало, т.к. особой навороченности в алгоритмах, которым место в СУБД, редко когда нужно), 15% специфика языка, которую придется переписывать, не обязательно сразу доводя до блеска. :) С учетом общей сложности системы, вклад БЛ на СУБД обычно составит процентов 5 от стоимости самой системы. Я не хочу лезть к вам в карман, но думаю, что если составить калькуляцию, то стоимость "нормальной" поддержки вам, точнее заказчику, вполне по карману, особенно если учесть, что подобные решения пригодны и для будущих заказчиков. Тут, разумеется, возникает крайне неприятный вопрос - а на какие шиши все это хозяйство поддерживать? Честно говоря, вам и так и так придется поддерживать диалекты, и не думаю, что поддержка всей этой катавасии с ХП и без них как-то сильно отличаются. Зато ХП запросто можно отдавать на аутсорсинг. Но это все были рассуждения отвлеченного порядка, далеко не уверен, что прав. :) C этим мы работаем несколько иначе - чисто под себя полную систему никогда не заказываем, только изредка отдаем (отдавали, сейчас кризис замучил) на аутсорсинг отдельные модули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 16:39 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
carperiscrafm, авторкогда создается индивидуальная система, то здесь поддержка различных СУБД очень даже помогает. Потому что, зачастую, то с какой СУБД должна работать система - выбор заказчика C учетом того, что на "большую тройку" приходится 88% продаж СУБД (http://www.pcweek.ru/themes/detail.php?ID=119957), вероятность того, что заказчик начнет требовать что-то особенного, наверное, не окупится наваром с него. Хотя, нет, тут точно не скажу, наверное, есть такие, что придется ради них срочно затачивать систему подо что-то, что желают "их величества". да ничего особенного, FireBird, PostgreSQL... Некоторые предъявляют требования типа такого: на том, что не потребует целый штат DBA. Все зависит от заказчика. Далее Вы говорите о тиражировании системы по разные СУБД. Я же этот вариант не рассматриваю, поэтому комментировать не буду. Единственное замечу по поводу "Зато ХП запросто можно отдавать на аутсорсинг": такие варианты действительно бывали, когда на одном из предприятий холдинга захотели "настойчиво" другую СУБД. Дешевле отдать на аутсорсинг. Но, опять же, я рассматриваю только "свой" случай, когда нет необходимости одну и туже бизнес-логику тиражировать на разные СУБД. Кстати по теме... фрагменты бизнес-логики выполняющие обработку данных в БД предпочитаю делать там же ( ___ ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 16:59 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
iscrafm, Ну, так я вроде как ничего против и не имею. :) Так, озвучиваю некоторые соображения. С 3-х "звенными" приложениями хочется все же понять, что тут от моды, а что имеет свое рациональное звено. Мне лично кажется, что 3-х звенка, реализованная без ненужного максимализма, это для серьезных систем очень хорошо, но "кажется" на хлеб не намажешь. :) Вообще-то у нас, если честно, классическая трехзвенка не вырисовывается, получается пока 2-х, 3-х и 4-х одновременно: браузер - web сервер - сервера приложений - СУБД + толстый клиент - сервера приложений - СУБД + СУБД - средства для многомерного анализа + сюда же добавляется связка собcтвенной СУБД бухгалтерии с нашей СУБД с перекачкой части нужных данных средствами самой СУБД (фиг знает, в качестве какой звенности это рассматривать). Знаю одно, что ничего хуже чем вынесение БЛ в больших системах на толстого клиента нет. Ну, вот такое сложилось личное мнение, что почти что угодно, только не это. Хорошо что хоть это было не мое решение, зато сейчас "радуемся" унаследованным проблемам. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 17:25 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Чуть-чуть офф-топа: carperOracle Да (PL/SQL) ... DB2 Да (SQL/PL) Что интересно, не так давно IBM заявило для DB2 поддержку Oracle'ового PL/SQL (естественно, с некоторыми ограничениями). Нацеленность понятна: упростить миграцию Oracle => DB2. Обратная сторона медали: может стоит под DB2 писать не на родном SQL/PL, а на Oracle'овом PL/SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 17:25 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Все, я смотрю, закладываются на независимость от производителя БД. Мудро. А что лучше сохраняет совместимость и живет дольше: БД или платформа, на которой пишут сервер приложений или клиента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 19:07 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
carper, авторТак? Разумный анализ. Спасибо, что довели дело до конца и подвели итоги. Это заслуживает уважения. PS Цитата авторполностью доверять ORM можно только на сверх-малых объемах данных. Как только данных станет больше 1М записей в таблицах - могут начать вылезать косяки (зависит от железа и других параметров). К примеру отсутствие индекса на JOIN или WHERE приводит к полному скану таблицы и тормозам система. Система работает правильно с технической точки зрения, но неправильно с пользовательской, когда на "элементарное" с т.з. пользователя действие система думает по 2-3 минуты. Или вообще шедевр - строка как первичный ключ PS ORM пытается скрыть КАК информация хранится и обрабатывается в СУБД, но "Закон дырявых абстракций" все равно пролезает. Потому проект без грамотного БД-программиста всегда дохнет уже на среднем объеме инфы. /topic/598629&hl=er+%e4%e8%e0%e3%f0%e0%ec%ec%e0+%ea%eb%e0%f1%f1%fb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 19:59 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
АнатоЛойне так давно IBM заявило для DB2 поддержку Oracle'ового PL/SQL Если это правда то, сильный ход, но ввиду различия архитектур, скорее всего одна и та же процедура все равно будет работать совсем по-разному, а то и вообще не работать. Вот если бы они еще и особенности архитектуры укр... перенесли. :) tadminВсе, я смотрю, закладываются на независимость от производителя БД. Мудро. Эх, если бы это можно было сделать без столь больших жертв... :( Именно для этого плодят стандарты, на которые производители не то чтобы кладут, но как-то весьма своеобразно им следуют, приблизительно как сдаче кандидатского минимума - философию надо сдать всем, а защищаться можешь хоть по химии, хоть по политэкономии. :( авторА что лучше сохраняет совместимость и живет дольше: БД или платформа, на которой пишут сервер приложений или клиента? Дольше всего живут ошибки программистов, если они успели превратиться в фичи. Думаю, что если бы сейчас крупнейшим производителям софта предоставилась возможность переписать все с чистого листа, то никто бы не узнал в полученном прежних программ. Если серьезно, то бойтесь ошибок в архитектуре и методологии дальнейшей поддержки и развитии приложений, а главное, ошибок в маркетинге. Будь моя воля я бы всех ведущих программистов и архитекторов обязал прослушать хотя бы месячный курс по маркетингу и экономике, это было бы на порядок важнее, чем самая-пресамая модная технология. Остальное, хотя и болезненно, но не смертельно. Срок же жизни БД обычно гораздо больше, по объективным причинам, что совсем не значит, что вам не придется срочно менять как раз базу данных, особенно если вы плохо просчитали рынок и производитель вашей базы тихо почил. Да и вообще, существует огромный слой приложений которым база нужна постольку-поскольку, вот они уж точно могут особенно не заморачиваться сроком жизни БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 20:14 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
2 carper,один набор банальностей и несуразностей. Учите уж лучше маркетингу, а не программированию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 22:37 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Mожет быть и Я2 carper,один набор банальностей и несуразностей. Учите уж лучше маркетингу, а не программированию Многие через это проходят. И написание банальных "универсальных систем", которые потом поддерживать другим людям приходится, и наивное студенческое размещение валидации на клиенте со словами "а, это ведь монопольное использование - значит, данным можно верить". Опыт, все опыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2010, 23:59 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
ОКСMожет быть Я2 carper,один набор банальностей и несуразностей. Учите уж лучше маркетингу, а не программированию Многие через это проходят. И написание банальных "универсальных систем", которые потом поддерживать другим людям приходится, и наивное студенческое размещение валидации на клиенте со словами "а, это ведь монопольное использование - значит, данным можно верить". Опыт, все опыт. Еще одна банальность с абстрактными рассуждениями на общую тему. Системы бывают разными, с разными требованиями. Чем плохи проверки на клиенте(обязательное поле, допустимый диапазон, отсутствие дубликатов и тд)? Нужно гонять мусор по сети, а потом вываливать пользователю ворох ошибок, в которых он будет три часа ковыряться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 00:37 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Не экономьте на спичках, закупайте нормальные системы, а не поделки студентов. Учитесь лучше сами(экономике), а не учите других ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 00:43 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
Чтобы закупить "нормальные системы" вполне достаточно людей, которые учились экономике. Затем, чтобы заставить работать купленную систему - обращаются к разработчикам, аналитикам, проектировщикам, администраторам БД... Хотя несомненно, на закупках зарабатывают больше. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 01:49 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
ОКС Затем, чтобы заставить работать купленную систему - обращаются к разработчикам, аналитикам, проектировщикам, администраторам БД... В таком случае - не экономьте на разработчиках. Не нужно будет читать лекции студентам ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 02:23 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
театр одного актёра? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 03:51 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
egorychтеатр одного актёра? Театр абсурда. Те, кто у кормушки, пытаются учить проектированию, чтобы потом откат был жирный и на студентах не разориться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 10:34 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
egorychтеатр одного актёра? модератор может уточнить, но по на вскиду - да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 12:11 |
|
||
|
Где должна лежать бизнес-логика в мнгоуровневом приложении
|
|||
|---|---|---|---|
|
#18+
carpertadminВсе, я смотрю, закладываются на независимость от производителя БД. Мудро.Эх, если бы это можно было сделать без столь больших жертв... :( Именно для этого плодят стандарты, на которые производители не то чтобы кладут, но как-то весьма своеобразно им следуют, приблизительно как сдаче кандидатского минимума - философию надо сдать всем, а защищаться можешь хоть по химии, хоть по политэкономии. :(Производители не то, чтобы кладут на стандарты, производители обычно расширяют стандарт. Причем так, что стандартом уже как-то и не особо хочется пользоваться... :) запрос, написанный на SQL-92, выполнится одинаково и на MSSQL, и на Oracle. Но одна и таже процедура на T-SQL и PL\SQL - это действительно две разных процедуры. Иногда даже абсолютно разные :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2010, 14:13 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36492691&tid=1542824]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
193ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
95ms |
get tp. blocked users: |
2ms |
| others: | 256ms |
| total: | 602ms |

| 0 / 0 |
