Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Alexey Rovdo[quot 8888] Другое дело, что размазывание бизнес логики между сервером БД и приложением (сервером приложений) никак нельзя назвать хорошей практикой. И совершенно очевидно, что такое размазывание потребует от программиста значительных усилий (больших, чем без размазывания). Я бы сказал, отказ от использования ХП по идеологицским соображениям потребует от программистов значительных усилий при реализации даже простейших вещей ядерного уровня вроде проверки прав доступа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 20:28 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
> По-моему цель статьи автора была обрисовать проблему маппига на хп. Вот и тред нужно было называть соответствующим образом. Imho ни о каком сервере объектного представления речи не идет. > На сегодня ни одно средство это не реализует, хотя попытки и делаются > (nHibernate beta). Судя по темпам, релиз будет через пару месяцев. > На мой взгляд это единственное разумное и "абстрактное" решение. Почему, позвольте поинтересоваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 22:43 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
И практически все "стандартные средства" (в т.ч. и "Болт", кажется) умеют это делать. Вот что меня удивляет в поклонниках "болтов" и прочих супер-пупер ORM, так это то, что у них слишком много "кажется". Судя по темпам, релиз будет через пару месяцев. релиз обкатать еще нужно... сомневаюсь что все так гладко будет. Потом над маппингом на хп только в nHebernate (для .NET) работают, а как же быть тем кто на других платформах и средствах разработкой занимается? > На мой взгляд это единственное разумное и "абстрактное" решение. Почему, позвольте поинтересоваться? потому что более нормальной схемы маппинга на хп в голову пока не приходит. Другое дело, что размазывание бизнес логики между сервером БД и приложением (сервером приложений) никак нельзя назвать хорошей практикой. Однако, на мелкософтовых конференциях часто высказывают обратное мнение. Но я бы сказал что это не "размазывание" (слово не подходящее), а четкое разделение по каким-либо правилам. Например, вынесение CRUD-операций в слой хп, а более сложной бизнес-логики (сложные ветвления, рассчеты) - в среднее звено (web-сервисы, remouting, enterprise services COM+), плюс дублирование бизнес-логики по части проверок на корректность ввода непосредственно в клиентской части. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 09:51 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Роман Дынник Вот что меня удивляет в поклонниках "болтов" и прочих супер-пупер ORM, так это то, что у них слишком много "кажется". Ну зачем же так! Вы читатели мой ответ в топике про ОРМ? Есть маппинг на ХП в Hibernate - т.е. в ОРМ для java - т.е. которая полностью кроссплатформенная Насчет обкатывания - это не MS и "обкатываеть" Hibernate 3 стали еще с альфы - можете скачать ее и обкатывать самостоятельно... Так что есть все основания считать что резил будет очень стабильным и качественным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 11:08 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
> релиз обкатать еще нужно... сомневаюсь что все так гладко будет. Собственно, funikovyuri уже ответил. > а как же быть тем кто на других платформах и средствах разработкой занимается Java есть для большинства платформ для продакшн решений. Мелкомягких, понятное дело, не рассматриваем. > потому что более нормальной схемы маппинга на хп в голову пока не приходит. Что значит "более нормальной"? А как быть с СУБД, которые не поддерживают хп? В сад? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 11:37 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Роман ДынникОднако, на мелкософтовых конференциях часто высказывают обратное мнение. Но я бы сказал что это не "размазывание" (слово не подходящее), а четкое разделение по каким-либо правилам. Например, вынесение CRUD-операций в слой хп, а более сложной бизнес-логики (сложные ветвления, рассчеты) - в среднее звено (web-сервисы, remouting, enterprise services COM+), плюс дублирование бизнес-логики по части проверок на корректность ввода непосредственно в клиентской части. Более того, микрософтовцы уже несколько лет прямо говорят, видимо, посчитав затраты на разработку и стоимость владения, что сервер приложений для десятков пользователей просто не нужен (называлась ориентировочная пороговая цифра 100). Однако, использование мапперов не только у "юных дарований", но и у вполне зрелых спецов может вызывать иллюзию, что СУБД вообще не нужна. Вот здесь один товарищ, который делает "крупные финансовые системы на MySQL", утверждал, что никакого уровня хранения, уровня БД вообще нет, это все пережитки слабого железа десятилетней давности. И что маппинг на flat table является оптимальным. Причем, чтобы обосновать эту "оптимальность", товарищу действительно, пришлось забыть и пр ссылочную целостность, и про поддержку UNIQUE на уровне БД (которого нет :) ). Ссылка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 11:49 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Все пропагандируют такие решения, которые им выгодно пропагандировать. Критикуя сервера приложений как таковые, Microsoft тем не менее сделала Reporting Serviceсes отдельно от самого MS SQL, да и сама концепция SOA и WSDL/XML-сервисов практически подталкивает к вынесению бизнес-логики в отдельное приложение (которое можно расположить на сервере приложений). Другое дело, что абстрагировавшись от рекламной шелухи, действительно понимаешь - классическая двухзвенка позволяет прекрасно решать множество задач, когда пользователей мало (5-50 ... ). Но здесь следует отметить и такой приятный факт - упомянутые выше средства O/R-мэппинга можно прекрасно использовать и в двухзвенных приложениях. Проблема же с мэппингом на хранимые процедуры, хотя и огорчает, не является непреодолимой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 14:09 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoВсе пропагандируют такие решения, которые им выгодно пропагандировать. Критикуя сервера приложений как таковые, Microsoft тем не менее сделала Reporting Serviceсes отдельно от самого MS SQL, да и сама концепция SOA и WSDL/XML-сервисов практически подталкивает к вынесению бизнес-логики в отдельное приложение (которое можно расположить на сервере приложений). Наоборот, в SQL Server 2005 написание вебсервиса - дело не простое, а очень простое :) Вебсервисы по большому счету нужны для унификации доступа в глобальной сети. Другое дело, что абстрагировавшись от рекламной шелухи, действительно понимаешь - классическая двухзвенка позволяет прекрасно решать множество задач, когда пользователей мало (5-50 ... ). Но здесь следует отметить и такой приятный факт - упомянутые выше средства O/R-мэппинга можно прекрасно использовать и в двухзвенных приложениях. Проблема же с мэппингом на хранимые процедуры, хотя и огорчает, не является непреодолимой. ORM, в первую очередь - заменитель работы с датасетами типа дельфийских или ADO. Если обновляемые датасеты можно настроить на вызов ХП, то очевидно, что и для ORM это тоже необходимо. Второй вопрос - стандарт. Язык SQL - стандарт. ORMы пока фантазируют каждый на свой лад. Это никак не способствует ни широкому промышленому использованию, ни повторному использованию кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 14:40 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Роман Дынник И практически все "стандартные средства" (в т.ч. и "Болт", кажется) умеют это делать. Вот что меня удивляет в поклонниках "болтов" и прочих супер-пупер ORM, так это то, что у них слишком много "кажется". От себя лично скажу, что Bold for Delphi/Bold for C++ ("Болт" - классно, а то у нас все больше "Балда" зовут) такое умеют точно, а насчет остальных - не знаю. Мне и в Bold это понадобилось всего пару раз (все-таки операция записи более редкая, чем чтения, не правда ли?). Там все достаточно шустро, это я заявляю как человек, активно использующий эту систему, и это независимо от вашего мнения и "верю"/"не верю". Естественно, если все это переписать "ручками", то, скорее всего, можно в некоторых случаях добиться большей производительности. А может, и нет. Дело в том, что преимущества Bold (etc) особенно проявляются при создании сложных и объемных систем (сотни классов с массой сложных связей и ограничений), за разработку которых "обычными" средствами браться возможно и не стоит - так что тут речь даже не о производительности, а вообще о возможности создания такой системы в обозримое время и обозримыми силами. А насчет "скриншотов" и примеров разработок - об это я писал несколько раз, в т.ч. и в этой ветке форума. Если есть желание, то всегда можно найти. Ну, вот еще: http://mda.hostok.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2005, 12:23 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Пардон, ссылка неверная была. Вот так правильно: http://mda.hostok.ru/ Там и скриншоты можно найти, и даже демо-ролики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2005, 12:41 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Что касается ORM, то производительность систем с ORM всегда будет ниже производительности систем, где промежуточного уровня для мэппинга нет. И это совершенно очевидно. Но вот гибкость и удобство построения сложных систем в большей степени достигаются именно с помощью ORM. Ну и о стандартах. Для платформы Java такой стандарт есть. И это спецификация JDO. Так что программы, написанные под JDO переносятся на разные сервера БД очень просто. Зачастую просто изменениями настроек O/R-слоя, без всякой правки самих приложений. А вот хранимые процедуры в таком контексте действительно могут стать препятствием, поскольку не все СУБД их поддерживают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2005, 12:48 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoЧто касается ORM, то производительность систем с ORM всегда будет ниже производительности систем, где промежуточного уровня для мэппинга нет. И это совершенно очевидно. Но вот гибкость и удобство построения сложных систем в большей степени достигаются именно с помощью ORM. Ну и о стандартах. Для платформы Java такой стандарт есть. И это спецификация JDO. Так что программы, написанные под JDO переносятся на разные сервера БД очень просто. Зачастую просто изменениями настроек O/R-слоя, без всякой правки самих приложений. А вот хранимые процедуры в таком контексте действительно могут стать препятствием, поскольку не все СУБД их поддерживают. 1. Ну, насчет ХП - тут Вы правы, конечно. Хотя я знаю реализации, в которых уровень доступа к Persistent - слою реализуется посредством дополнительных классов - адаптеров (меня уже ругали здесь за них), посредством которых не очень сложно настроить platform - dependence маппинг. А если не времени/возможности (или вообще необходимости) - то использовать стандартные темплейты. 2. А в этом ли проблема при объемном девелопменте? Ну, будет реакция на запрос пользователя не 0,1 сек, а, скажем - 0,2. Ну, и что? Если уж так нужно, то всегда (ну, может - не всегда - а в том же Borland MDA - говорю только о том, что знаю, и чем пользуюсь) можно критические участки выполнить на более низком уровне. 3. С праздником, мужики! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2005, 13:04 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoНу и о стандартах. Для платформы Java такой стандарт есть. И это спецификация JDO. Так что программы, написанные под JDO переносятся на разные сервера БД очень просто. Ну и о стандартах. Для платформы Oracle такой стандарт есть. И это спецификация PL/SQL. Так что программы, написанные под PL/SQL переносятся на разные сервера БД очень просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2005, 13:44 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Templar Alexey RovdoНу и о стандартах. Для платформы Java такой стандарт есть. И это спецификация JDO. Так что программы, написанные под JDO переносятся на разные сервера БД очень просто. Ну и о стандартах. Для платформы Oracle такой стандарт есть. И это спецификация PL/SQL. Так что программы, написанные под PL/SQL переносятся на разные сервера БД очень просто. Удивительное рядом. И при всем при этом Oracle зачем-то продвигает собственный Persistence Framework в составе AS (который, кстати, включает и поддержку JDO ). Далее, Oracle участвует в работе группы JSR243, которая занимается разработкой новой спецификации JDO 2.0 (правда существует определенная конкуренция между JDO 2.0 и EJB3 - страсти кипят вовсю - и Oracle в этих дебатах участвует очень активно). А вы говорите PL/SQL. Не надо путать технологии, имеющие различное назначение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2005, 20:26 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoУдивительное рядом. И при всем при этом Oracle зачем-то продвигает Мало ли кто и что продвигает... JDO вне Java-платформы не имеет статуса стандарта, как PL/SQL вне Oracle. Об этом был пост, если вы еще не поняли :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2005, 20:31 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
СТАТУС, как много в этом слове ... слилось ... отозвалось. Java Data Objects (JDO) не имеет никакого статуса вне платформы Java. Я бы даже сказал - не имеет никакого смысла. Но в чем радость, если бы имел? Совсем не всегда стандарты соответствуют реальным продуктам. Взять тот же SQL3, разработанный ANSI, но так и не воплощенный полностью ни одним производителем СУБД. Стандарты в большинстве своем лишь задают направления развития индустрии, а в лучшем случае лишь постфактум фиксируют уже имеющиеся достижения. Впрочем, JDO действительно не стандарт - это лишь спецификация (своего рода соглашение между разными производителями). Аналогичная ситуация имеет место и вне мира Java. Есть спецификации OMG/ODMG, которые не являются стандартами, но в целом поддерживаются довольно многими производителями в той или иной мере. Полагаю, что сами технологии просто еще не прошли достаточно длинного пути становления, чтобы имело смысл стандартизировать их. Речь может идти только об отдельных компонентах, таких, например, как язык UML, который пытаются стандартизировать уже давно, да все никак. Что, однако, не помешало UML широко распространиться в самых разных сферах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2005, 12:46 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoСТАТУС, как много в этом слове ... слилось ... отозвалось. Главное, что слилось в этом звуке для потребителя - показатель незрелости технологий и неуверенности корпоративных поставщиков в их дальнейших путях равития. Относительно Java - Sun, IBM, Oracle за последнее десятилетее вложили туда столько денег, что можно было ожидать на порядок лучшего результата и как минимум - появления отраслевых стандартов вроде SQL, С/С++, C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2005, 13:55 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
C# - отраслевой стандарт ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2005, 14:14 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Я в общем то против C# ничего не имею (равно как и против Java), но "отраслевой стандарт" - это вы уже загнули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2005, 14:16 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Кстати Persistence Framework есть и для C# ( Versant Open Access .NET , Versant FastObjects .NET , Developer Express eXpress Persistent Objects for .NET ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2005, 14:21 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Alexey RovdoКстати Persistence Framework есть и для C# ( Versant Open Access .NET , Versant FastObjects .NET , Developer Express eXpress Persistent Objects for .NET ). Для C# много чего есть, но главное отличие заключается в том, что продукт для C# имеет шансы стать стандартом, поскольку стандартизован сам язык и платформа. Яркий пример такого развития - STL для С++. А для Java я не вижу подобных возможностей, по крайней мере пока Sun не перестанет быть собакой на сене. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2005, 14:48 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Templar ORM, в первую очередь - заменитель работы с датасетами типа дельфийских или ADO. Вы уже пару раз повторили эту фразу. На мой взгляд, вы сравниваете цель и средство – что совершенно не корректно. ORM – это механизм позволяющий делать обычные plain-объекты сохраняемыми (persistent). Dataset’ы же – это результат работы средств доступа к БД типа ADO, ODBC, JDBC и т.д. Т.е. принципиально разные вещи. В случае если решено использовать только датасеты – вы фактически ограничиваете будущую архитектуру клиентского приложения. Т.е. ничего кроме форм для ввода вы на них не построите. Если же по тем либо иным соображениям вы хотите получить полноценный слой domain-объектов (domain layer), то вам так или иначе придется обеспечивать им возможность длительного сохранения в БД. Да вы можете сделать его руками используя прямые обращения к БД через, например, ADO или JDBC. Другой вопрос зачем – если эта задача сейчас уже решена. Более того, микрософтовцы уже несколько лет прямо говорят, видимо, посчитав затраты на разработку и стоимость владения, Неужели различного рода маркетинговые заявления MS уже стали считаться весомым аргументом в споре? Ну нет у MS на данный момент ни одного сервера приложений для управляемого кода – поэтому официальная позиция что они и не особо нужны. Тем не менее MTS они в свое время все-таки сделали :) К тому же стоимость владения – это такая вещь… Вот к примеру JBoss – какая у него стоимость владения? Однако, использование мапперов не только у "юных дарований", но и у вполне зрелых спецов может вызывать иллюзию, что СУБД вообще не нужна. А как ОРМ влияет на саму СУБД? Т.е. как вообще можно говорить об ОРМ без СУБД? JDO - стандарт на средства ORM в java! Это позволяет независимым поставщикам реализовывать свои продукты согласно этому стандарту. У MS ничего подобного JCP нет (оно им и не нужно). Стандартизация же C# - это просто маркетинг - какая кому разница что он страндартизован? Или вы заметили вдруг начавшуюся тенденцию к реализвания .net framework кем-то еще кроме MS? Ну и слова о том что Sun - собака на сене (особенно в сравнении с MS) я вообще оставлю без коментарием. Интересно, вы на java вообще работали? Alexey Rovdo Насчет производительности Используя ORM вы автоматически получаете и такие вещи как lazy-loading и кэширование – это в свою очередь для многих приложений даст определенный выигрыш в производительности. Ну и у большинства данных продуктов уже в документации сказано, о том какие классы задач стоит решать, используя ORM и какие нет. К тому же, используя ORM для реализации DAO, вы сэкономите намного больше времени, чем потребуется для оптимизации действительно узких мест. Но здесь следует отметить и такой приятный факт - упомянутые выше средства O/R-мэппинга можно прекрасно использовать и в двухзвенных приложениях. Полностью согласен! Я думаю, общественность вводит в заблуждение многослойная архитектура. На самом деле она совсем не исключает реализацию бизнес логики на сервере БД в виде хранимых процедур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2005, 16:01 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
Templar Относительно Java - Sun, IBM, Oracle за последнее десятилетее вложили туда столько денег, что можно было ожидать на порядок лучшего результата и как минимум - появления отраслевых стандартов вроде SQL, С/С++, C А вы точно понимаете что пишите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2005, 16:03 |
|
||
|
Реализация сервера объектного представления
|
|||
|---|---|---|---|
|
#18+
funikovyuriА вы точно понимаете что пишите? Вы не обидитесь, если я вас, многословного, проигнорирую ? :) Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2005, 16:27 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32927255&tid=1546017]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 406ms |

| 0 / 0 |
