Нормальная объектная декомпозиция vs EJB 3.
От: Дм.Григорьев  
Дата: 12.12.07 16:45
Оценка:
Всем привет.

Не знаю, как сказать... В общем, меня несколько смущает, с какой скоростью нарастает количество stateless-бинов в EJB3-приложении, если делать его по уму (т.е. по ООП).

Разработку архитектуры я начинаю с прототипирования системы без привязки к какой-либо модели программирования вообще, и даже на concurrency не смотрю — только на логику. Потом оказывается, что для привязки к многопоточной EJB-модели и во избежание synchronization bottlenecks каждый мелкий класс бизнес-логики, реализующий независимый сервис, нужно оформлять отдельным SLSB (попутно обеспечивая поддержку множественности экземпляров сервиса). В итоге на JBoss-овский лог инициализации приложения смотреть страшно, возникает назойливое ощущение "неприятного запаха".

Вопрос: я один такой? Подозреваю, меня сейчас в очередной раз отошлют к Spring, но времени на его изучение до сих пор нету.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re: Нормальная объектная декомпозиция vs EJB 3.
От: Blazkowicz Россия  
Дата: 12.12.07 18:06
Оценка: 6 (1) +1
Здравствуйте, Дм.Григорьев, Вы писали:

ДГ>Вопрос: я один такой? Подозреваю, меня сейчас в очередной раз отошлют к Spring, но времени на его изучение до сих пор нету.


Все верно. EJB3 лишь облегчает девелопмент, но подобные грабли Ejb2 как были так и будут. Тут некоторые уже рекомендовали использовать EJB только в качестве фасада. Логику же реализовывать отдельными легковесными классами. Но с ними-то не ясно как EJB DI использовать. А со Spring ты зря так. Какое там "время на изучение"? Там все просто, за пару часов можно IoC освоить. А остальное со временем прикрутится.
Re[2]: Нормальная объектная декомпозиция vs EJB 3.
От: Курилка Россия http://kirya.narod.ru/
Дата: 12.12.07 18:12
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Все верно. EJB3 лишь облегчает девелопмент, но подобные грабли Ejb2 как были так и будут. Тут некоторые уже рекомендовали использовать EJB только в качестве фасада. Логику же реализовывать отдельными легковесными классами. Но с ними-то не ясно как EJB DI использовать. А со Spring ты зря так. Какое там "время на изучение"? Там все просто, за пару часов можно IoC освоить. А остальное со временем прикрутится.


Ммм, извиняюсь а DI в данном случае что есть такое?
Re[3]: Нормальная объектная декомпозиция vs EJB 3.
От: Blazkowicz Россия  
Дата: 12.12.07 18:29
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Ммм, извиняюсь а DI в данном случае что есть такое?


Dependency Injection контейнера. Его ведь не получится в своих классах использовать если EJB SFSB делать просто фасадом к этим классам.
Re[2]: Нормальная объектная декомпозиция vs EJB 3.
От: Дм.Григорьев  
Дата: 12.12.07 19:09
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Все верно. EJB3 лишь облегчает девелопмент, но подобные грабли Ejb2 как были так и будут. Тут некоторые уже рекомендовали использовать EJB только в качестве фасада. Логику же реализовывать отдельными легковесными классами. Но с ними-то не ясно как EJB DI использовать.


Во. Из-за этого и вожусь с EJB. Спасибо, успокоил.

B>А со Spring ты зря так. Какое там "время на изучение"? Там все просто, за пару часов можно IoC освоить. А остальное со временем прикрутится.


Я ждал этого замечания! Я развиваю уже работающий сайт, кто бы мне дал время его переписать. И есть у меня большое подозрение, что за пару часов всех ньюансов (в той же многопоточности) не освоишь. Кроме того, я тут вгрызаюсь в Swing, и боюсь, что параллельно ещё одно новшевство не потяну. (Всё чесались руки создать голосовалку: "Что такое — начинается на S, кончается на ing?" ) Вот и откладываю снова и снова.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[3]: Нормальная объектная декомпозиция vs EJB 3.
От: Cyberax Марс  
Дата: 13.12.07 01:21
Оценка: 6 (1)
Здравствуйте, Дм.Григорьев, Вы писали:

B>>А со Spring ты зря так. Какое там "время на изучение"? Там все просто, за пару часов можно IoC освоить. А остальное со временем прикрутится.

ДГ>Я ждал этого замечания! Я развиваю уже работающий сайт, кто бы мне дал время его переписать. И есть у меня большое подозрение, что за пару часов всех ньюансов (в той же многопоточности) не освоишь.
Там не так все сложно — я перенес достаточно большой проект с EJB3 на Spring за два дня. Если не используются фичи типа распределенных транзакций и JMS — то большая часть работы будет заключаться в тупом cut&paste.
Sapienti sat!
Re[4]: Нормальная объектная декомпозиция vs EJB 3.
От: Аноним  
Дата: 13.12.07 09:55
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Там не так все сложно — я перенес достаточно большой проект с EJB3 на Spring за два дня. Если не используются фичи типа распределенных транзакций и JMS — то большая часть работы будет заключаться в тупом cut&paste.


Сор за оффтопю
Скажите а чем не угодил EJB3, что было приянто решение смигрировать на Spring?
Re[3]: Нормальная объектная декомпозиция vs EJB 3.
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 13.12.07 11:09
Оценка: 6 (1)
Дм.Григорьев,

B>>А со Spring ты зря так. Какое там "время на изучение"? Там все просто, за пару часов можно IoC освоить. А остальное со временем прикрутится.


ДГ>Я ждал этого замечания! Я развиваю уже работающий сайт, кто бы мне дал время его переписать. И есть у меня большое подозрение, что за пару часов всех ньюансов (в той же многопоточности) не освоишь. Кроме того, я тут вгрызаюсь в Swing, и боюсь, что параллельно ещё одно новшевство не потяну. (Всё чесались руки создать голосовалку: "Что такое — начинается на S, кончается на ing?" ) Вот и откладываю снова и снова.


Один мудрый человек говорил: вопрос нехватки времени — это вопрос расстановки приоритетов. (Это кстати вовсе не означает, что ты неправильно расставляешь приоритеты. Если времени на что-то не хватает — значит оно тебе не так уж и нужно).

Касаемо спринга вот этот (http://www.zaporozhye.org/rss/feed.php?channel=24&amp;y=2006&amp;m=08&amp;d=05) пост мне очень нравится. Кстати, тебя никто не заставляет использовать именно spring. Можно ограничиться pico-, nano-контейнерами или Yan. Последний вообще можно прикрутить к чему угодно и куда угодно — совершенно неинтрузивен. Но конечно вокруг него нет такого хайпа, как вокруг спринга.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[4]: Нормальная объектная декомпозиция vs EJB 3.
От: Blazkowicz Россия  
Дата: 13.12.07 11:21
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>Касаемо спринга вот этот (http://www.zaporozhye.org/rss/feed.php?channel=24&amp;y=2006&amp;m=08&amp;d=05) пост мне очень нравится.

Все верно, кроме того что Spring MVC действительно не на сколько хорош как Spring в целом.

LCR>Кстати, тебя никто не заставляет использовать именно spring. Можно ограничиться pico-, nano-контейнерами или Yan. Последний вообще можно прикрутить к чему угодно и куда угодно — совершенно неинтрузивен. Но конечно вокруг него нет такого хайпа, как вокруг спринга.

В других контейнерах тоже нет проблем с декларативными транзакциями и их интеграции в J2EE?
Re[5]: Нормальная объектная декомпозиция vs EJB 3.
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 13.12.07 12:27
Оценка:
Blazkowicz,

LCR>>Касаемо спринга вот этот (http://www.zaporozhye.org/rss/feed.php?channel=24&amp;y=2006&amp;m=08&amp;d=05) пост мне очень нравится.

B>Все верно, кроме того что Spring MVC действительно не на сколько хорош как Spring в целом.
Там невзначай так упоминается ROR. Я не смотрел оба фреймворка (только ROR), поэтому сравнивать не берусь. Если ты не согласен с автором — тебе и спорить (если конечно здесь возникнет человек, который смотрел оба и не согласен с тобой).

LCR>>Кстати, тебя никто не заставляет использовать именно spring. Можно ограничиться pico-, nano-контейнерами или Yan. Последний вообще можно прикрутить к чему угодно и куда угодно — совершенно неинтрузивен. Но конечно вокруг него нет такого хайпа, как вокруг спринга.

B>В других контейнерах тоже нет проблем с декларативными транзакциями и их интеграции в J2EE?
Это я так понимаю ты напираешь на фичастость Spring? Не надо, и так понятно, что в других контейнерах многое нужно будет делать ручками.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[5]: Нормальная объектная декомпозиция vs EJB 3.
От: Cyberax Марс  
Дата: 13.12.07 18:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Сор за оффтопю

А>Скажите а чем не угодил EJB3, что было приянто решение смигрировать на Spring?
Потому как нам не подходили стандартные инструменты в JBoss'е. После переноса на Spring мы написали свою систему сообщений, remoting-протокол и еще несколько подобных вещей.
Sapienti sat!
Re[5]: Нормальная объектная декомпозиция vs EJB 3.
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 14.12.07 07:51
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
LCR>>Касаемо спринга вот этот (http://www.zaporozhye.org/rss/feed.php?channel=24&amp;y=2006&amp;m=08&amp;d=05) пост мне очень нравится.
B>Все верно

А как по мне, то этот спич — сплошная антиреклама.
Я ненавижу Hibernate!
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[6]: Нормальная объектная декомпозиция vs EJB 3.
От: yanys  
Дата: 14.12.07 08:35
Оценка:
ANS>А как по мне, то этот спич — сплошная антиреклама.
А вы могли бы как-то аргументировать это?
Re[7]: Нормальная объектная декомпозиция vs EJB 3.
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 14.12.07 09:17
Оценка:
Здравствуйте, yanys, Вы писали:

ANS>>А как по мне, то этот спич — сплошная антиреклама.

Y>А вы могли бы как-то аргументировать это?

Там же просто агитка. У меня агитки с нулём информации вызывают отторжение. Даже во фразе "svn лучше cvs" больше информации чем в этом страничном тексте.

Подробнее:
п.1 — набор слов.
п.2, п.3 — кубики — похоже на рекламу EJB. Что? Куда мне с EJB пойти? Ото ж.
п.4 — набор слов. Кстати, а что AOP действительно крутая штука?
п.5 — 7 — похоже я ошибся и кое какая инфа тут всё таки есть.
п.8 — рекомендации использовать SpringIDE. Н-да, а в п.1 было сказано, что Spring создан для упрощения жизни. Нам опять врали? И вообще "Выигрыш от чистого DI везде и всюду в более-менее большом приложении того стоит, не так ли?". Я, например, не уверен. Что теперь?
п.9 — ускорение в 1.4 по сравнению с 1.3 не служит доказательством "быстроты вообще".
п.10 — набор слов

Кстати, исходный текст, не смотря на рекламную направленость, таки можно прочитать и использовать. А это "не кратенький перевод" и даже не обещаный пересказ своими словами, а просто авторский поток мысли.
Я ненавижу Hibernate!
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[3]: Нормальная объектная декомпозиция vs EJB 3.
От: XJava  
Дата: 07.01.08 18:36
Оценка:
ДГ>Я ждал этого замечания! Я развиваю уже работающий сайт, кто бы мне дал время его переписать. И есть у меня большое подозрение, что за пару часов всех ньюансов (в той же многопоточности) не освоишь. Кроме того, я тут вгрызаюсь в Swing, и боюсь, что параллельно ещё одно новшевство не потяну. (Всё чесались руки создать голосовалку: "Что такое — начинается на S, кончается на ing?" ) Вот и откладываю снова и снова.

Swing почти мертв (не категорично).
Re[4]: Нормальная объектная декомпозиция vs EJB 3.
От: Дм.Григорьев  
Дата: 07.01.08 18:45
Оценка: :)
Здравствуйте, XJava, Вы писали:

XJ>Swing почти мертв (не категорично).


Щас тебе Blazkowicz минус влепит. И я тоже влеплю, если не обоснуешь и не предложишь нормальных альтернатив. (Я как раз на неделе очень много гуглил по этому вопросу.)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[5]: Нормальная объектная декомпозиция vs EJB 3.
От: XJava  
Дата: 07.01.08 19:23
Оценка: -2
ДГ>Щас тебе Blazkowicz минус влепит. И я тоже влеплю, если не обоснуешь и не предложишь нормальных альтернатив. (Я как раз на неделе очень много гуглил по этому вопросу.)

Не нужно мне ничего лепить. Я человек мудренный опытом в этом деле.
Альтернативы: SWT, Qt Jambi
Re[6]: Нормальная объектная декомпозиция vs EJB 3.
От: Cyberax Марс  
Дата: 07.01.08 19:27
Оценка:
Здравствуйте, XJava, Вы писали:

XJ>Не нужно мне ничего лепить. Я человек мудренный опытом в этом деле.

XJ>Альтернативы: SWT
Немногим лучше Swing'а.

XJ>Qt Jambi

Не альтернатива вообще. Это скорее способ интеграции с QT для тех, кому это очень нужно. Так как стоит кучу денег и не имеет никаких преимуществ перед тем же SWT.
Sapienti sat!
Re[7]: Нормальная объектная декомпозиция vs EJB 3.
От: Дм.Григорьев  
Дата: 07.01.08 19:36
Оценка:
Здравствуйте, Cyberax, Вы писали:

XJ>>Альтернативы: SWT

C>Немногим лучше Swing'а.

А многие утверждают, что гораздо хуже. И в плане глючности, и в плане удобства написания своих компонент. Кроме того, сам факт использования нативных контролов гарантирует чудный секс при желании сделать шаг влево-вправо от готового. И наконец, я позавчера нарыл реализацию SWT API через Swing (правда, уже потерял).

XJ>>Qt Jambi

C>Не альтернатива вообще.

+1.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[8]: Нормальная объектная декомпозиция vs EJB 3.
От: XJava  
Дата: 07.01.08 19:43
Оценка:
Здравствуйте, Дм.Григорьев, Вы писали:

ДГ>Здравствуйте, Cyberax, Вы писали:


Если Eclipse написан с использованием SWT, то он рулить реально.

Когда-то я участвовал в крутом Swing проекте стоимостью в млн. $.
Проект крутой и большой, но GUI тормозила ужасно.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.