Не знаю, как сказать... В общем, меня несколько смущает, с какой скоростью нарастает количество stateless-бинов в EJB3-приложении, если делать его по уму (т.е. по ООП).
Разработку архитектуры я начинаю с прототипирования системы без привязки к какой-либо модели программирования вообще, и даже на concurrency не смотрю — только на логику. Потом оказывается, что для привязки к многопоточной EJB-модели и во избежание synchronization bottlenecks каждый мелкий класс бизнес-логики, реализующий независимый сервис, нужно оформлять отдельным SLSB (попутно обеспечивая поддержку множественности экземпляров сервиса). В итоге на JBoss-овский лог инициализации приложения смотреть страшно, возникает назойливое ощущение "неприятного запаха".
Вопрос: я один такой? Подозреваю, меня сейчас в очередной раз отошлют к Spring, но времени на его изучение до сих пор нету.
Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>Вопрос: я один такой? Подозреваю, меня сейчас в очередной раз отошлют к Spring, но времени на его изучение до сих пор нету.
Все верно. EJB3 лишь облегчает девелопмент, но подобные грабли Ejb2 как были так и будут. Тут некоторые уже рекомендовали использовать EJB только в качестве фасада. Логику же реализовывать отдельными легковесными классами. Но с ними-то не ясно как EJB DI использовать. А со Spring ты зря так. Какое там "время на изучение"? Там все просто, за пару часов можно IoC освоить. А остальное со временем прикрутится.
Re[2]: Нормальная объектная декомпозиция vs EJB 3.
Здравствуйте, Blazkowicz, Вы писали:
B>Все верно. EJB3 лишь облегчает девелопмент, но подобные грабли Ejb2 как были так и будут. Тут некоторые уже рекомендовали использовать EJB только в качестве фасада. Логику же реализовывать отдельными легковесными классами. Но с ними-то не ясно как EJB DI использовать. А со Spring ты зря так. Какое там "время на изучение"? Там все просто, за пару часов можно IoC освоить. А остальное со временем прикрутится.
Ммм, извиняюсь а DI в данном случае что есть такое?
Re[3]: Нормальная объектная декомпозиция vs EJB 3.
Здравствуйте, Blazkowicz, Вы писали:
B>Все верно. EJB3 лишь облегчает девелопмент, но подобные грабли Ejb2 как были так и будут. Тут некоторые уже рекомендовали использовать EJB только в качестве фасада. Логику же реализовывать отдельными легковесными классами. Но с ними-то не ясно как EJB DI использовать.
Во. Из-за этого и вожусь с EJB. Спасибо, успокоил.
B>А со Spring ты зря так. Какое там "время на изучение"? Там все просто, за пару часов можно IoC освоить. А остальное со временем прикрутится.
Я ждал этого замечания! Я развиваю уже работающий сайт, кто бы мне дал время его переписать. И есть у меня большое подозрение, что за пару часов всех ньюансов (в той же многопоточности) не освоишь. Кроме того, я тут вгрызаюсь в Swing, и боюсь, что параллельно ещё одно новшевство не потяну. (Всё чесались руки создать голосовалку: "Что такое — начинается на S, кончается на ing?" ) Вот и откладываю снова и снова.
Здравствуйте, Дм.Григорьев, Вы писали:
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.
Дм.Григорьев,
B>>А со Spring ты зря так. Какое там "время на изучение"? Там все просто, за пару часов можно IoC освоить. А остальное со временем прикрутится.
ДГ>Я ждал этого замечания! Я развиваю уже работающий сайт, кто бы мне дал время его переписать. И есть у меня большое подозрение, что за пару часов всех ньюансов (в той же многопоточности) не освоишь. Кроме того, я тут вгрызаюсь в Swing, и боюсь, что параллельно ещё одно новшевство не потяну. (Всё чесались руки создать голосовалку: "Что такое — начинается на S, кончается на ing?" ) Вот и откладываю снова и снова.
Один мудрый человек говорил: вопрос нехватки времени — это вопрос расстановки приоритетов. (Это кстати вовсе не означает, что ты неправильно расставляешь приоритеты. Если времени на что-то не хватает — значит оно тебе не так уж и нужно).
Касаемо спринга вот этот (http://www.zaporozhye.org/rss/feed.php?channel=24&y=2006&m=08&d=05) пост мне очень нравится. Кстати, тебя никто не заставляет использовать именно spring. Можно ограничиться pico-, nano-контейнерами или Yan. Последний вообще можно прикрутить к чему угодно и куда угодно — совершенно неинтрузивен. Но конечно вокруг него нет такого хайпа, как вокруг спринга.
Здравствуйте, Lazy Cjow Rhrr, Вы писали:
LCR>Касаемо спринга вот этот (http://www.zaporozhye.org/rss/feed.php?channel=24&y=2006&m=08&d=05) пост мне очень нравится.
Все верно, кроме того что Spring MVC действительно не на сколько хорош как Spring в целом.
LCR>Кстати, тебя никто не заставляет использовать именно spring. Можно ограничиться pico-, nano-контейнерами или Yan. Последний вообще можно прикрутить к чему угодно и куда угодно — совершенно неинтрузивен. Но конечно вокруг него нет такого хайпа, как вокруг спринга.
В других контейнерах тоже нет проблем с декларативными транзакциями и их интеграции в J2EE?
Re[5]: Нормальная объектная декомпозиция vs EJB 3.
Blazkowicz,
LCR>>Касаемо спринга вот этот (http://www.zaporozhye.org/rss/feed.php?channel=24&y=2006&m=08&d=05) пост мне очень нравится. B>Все верно, кроме того что Spring MVC действительно не на сколько хорош как Spring в целом.
Там невзначай так упоминается ROR. Я не смотрел оба фреймворка (только ROR), поэтому сравнивать не берусь. Если ты не согласен с автором — тебе и спорить (если конечно здесь возникнет человек, который смотрел оба и не согласен с тобой).
LCR>>Кстати, тебя никто не заставляет использовать именно spring. Можно ограничиться pico-, nano-контейнерами или Yan. Последний вообще можно прикрутить к чему угодно и куда угодно — совершенно неинтрузивен. Но конечно вокруг него нет такого хайпа, как вокруг спринга. B>В других контейнерах тоже нет проблем с декларативными транзакциями и их интеграции в J2EE?
Это я так понимаю ты напираешь на фичастость Spring? Не надо, и так понятно, что в других контейнерах многое нужно будет делать ручками.
Здравствуйте, Аноним, Вы писали:
А>Сор за оффтопю А>Скажите а чем не угодил EJB3, что было приянто решение смигрировать на Spring?
Потому как нам не подходили стандартные инструменты в JBoss'е. После переноса на Spring мы написали свою систему сообщений, remoting-протокол и еще несколько подобных вещей.
Sapienti sat!
Re[5]: Нормальная объектная декомпозиция vs EJB 3.
Здравствуйте, 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 — набор слов
Кстати, исходный текст, не смотря на рекламную направленость, таки можно прочитать и использовать. А это "не кратенький перевод" и даже не обещаный пересказ своими словами, а просто авторский поток мысли.
ДГ>Я ждал этого замечания! Я развиваю уже работающий сайт, кто бы мне дал время его переписать. И есть у меня большое подозрение, что за пару часов всех ньюансов (в той же многопоточности) не освоишь. Кроме того, я тут вгрызаюсь в Swing, и боюсь, что параллельно ещё одно новшевство не потяну. (Всё чесались руки создать голосовалку: "Что такое — начинается на S, кончается на ing?" ) Вот и откладываю снова и снова.
Swing почти мертв (не категорично).
Re[4]: Нормальная объектная декомпозиция vs EJB 3.
Здравствуйте, XJava, Вы писали:
XJ>Swing почти мертв (не категорично).
Щас тебе Blazkowicz минус влепит. И я тоже влеплю, если не обоснуешь и не предложишь нормальных альтернатив. (Я как раз на неделе очень много гуглил по этому вопросу.)
ДГ>Щас тебе Blazkowicz минус влепит. И я тоже влеплю, если не обоснуешь и не предложишь нормальных альтернатив. (Я как раз на неделе очень много гуглил по этому вопросу.)
Не нужно мне ничего лепить. Я человек мудренный опытом в этом деле.
Альтернативы: SWT, Qt Jambi
Re[6]: Нормальная объектная декомпозиция vs EJB 3.
Здравствуйте, XJava, Вы писали:
XJ>Не нужно мне ничего лепить. Я человек мудренный опытом в этом деле. XJ>Альтернативы: SWT
Немногим лучше Swing'а.
XJ>Qt Jambi
Не альтернатива вообще. Это скорее способ интеграции с QT для тех, кому это очень нужно. Так как стоит кучу денег и не имеет никаких преимуществ перед тем же SWT.
Sapienti sat!
Re[7]: Нормальная объектная декомпозиция vs EJB 3.
Здравствуйте, Cyberax, Вы писали:
XJ>>Альтернативы: SWT C>Немногим лучше Swing'а.
А многие утверждают, что гораздо хуже. И в плане глючности, и в плане удобства написания своих компонент. Кроме того, сам факт использования нативных контролов гарантирует чудный секс при желании сделать шаг влево-вправо от готового. И наконец, я позавчера нарыл реализацию SWT API через Swing (правда, уже потерял).
XJ>>Qt Jambi C>Не альтернатива вообще.