LINUX.ORG.RU

Вышел JBOSS:Seam 1.1


0

0

Seam - это RoR* подобный фреймворк для Javы , позволяет быстро разрабатывать web приложения с поддержкой Ajax,JSF,Баз данных.

В исходном тексте классов, так же как и в RoR можно сразу описывать связь с базой данных. А так же всё это совмещать с Ajaxо подобным web интерфейсом.

Сылка на английский текст новости http://www.theserverside.com/news/thr...

* RoR - Ruby On Rails

>>> Подробности



Проверено: Shaman007 ()

Очень интересно, надо будет посмотреть.

EViL
()
Ответ на: комментарий от alt-x

>Тем, что базируется на стандартах? ;-)

1 - А разве Spring не использует стандартные решения?

2 - А разве стандартные решение лучше хороших? ;-)

В прошлом

Hibernate vs EJB CMP 2.1
проигоали EJB CMP - и Hibernate подобную технологию сделали новым стандартом.

Теперь GWT vs JSF - из моего опыта GWT на 3 мили впереди.

Yilativs ★★★★
()
Ответ на: комментарий от anonymous

>проще в освоении, чем в принципе и пытается отличиться Ruby on Rails

готовый на нём проект не покажешь?

PS Куда уж проще чем Spring?!

Yilativs ★★★★
()

Что за мода при каждой новости о любом веб-фреймворке вспоминать про RoR. Лучше скажите чем это дело отличается от Spring+Hibernate+JSF.

Chapaev
()
Ответ на: комментарий от Robotron

Сколько можно фреймворков плодить??? Стандартные технологии вполне удачны!

Robotron
()
Ответ на: комментарий от Chapaev

Тем что Hibernate в последнее время не рекомендует использовать Spring. Это вкратце. Собственно, лидер Hibernate и Seam один. Детальнее - читайте документацию. Отличий много.

svr69 ★★
()
Ответ на: комментарий от svr69

>Тем что Hibernate в последнее время не рекомендует использовать Spring. Это вкратце. Собственно, лидер Hibernate и Seam один.

Ещё бы Gavin рекомендовал использовать то, что попытался скопировать ;-)

Да и Эмануил бесится когда на Hibenate'овском форуме говорят про Spring.
Но куда им деватся? ;-)

Spring позволяет работать с Hibernate,JDO,JPA,TopLink
а что нам дает SEAM?

Yilativs ★★★★
()
Ответ на: комментарий от Yilativs

> 1 - А разве Spring не использует стандартные решения?

Увы, как бы не был хорош Spring, стандартными решениями можно считать только EJB. Плождением инфраструктур можно только проиграть мелкософту.

> Теперь GWT vs JSF - из моего опыта GWT на 3 мили впереди.

А есть ли для GWT столь эргономичная вещь, как Sun Java Studio Creator или Sun NetBeans + Visual Web Pack. Мало создать хороший фреймворк - нужны ИНСТРУМЕНТЫ. GWT applicationCreator для Eclipse пока нельзя назвать "инструментом". Ни разу.

Bioreactor ★★★★★
()
Ответ на: комментарий от Yilativs

Я симу не адвокат, но все же: он не пытался скопировать, Seam сам по себе - точно так же можно сказать, что Говард Льюис Шип пытался скопировать Spring. Вообще, о чем речь? Dependency Injection контейнеров воз и маленькая тележка. AOP? Seam штатно работает на JBoss - на фига ему Spring AOP? MVC? Так там JSF, причем Seam управляет его жизненным циклом, а не только подставляет свой Что касается рекомендаций, то речь шла о недостатках HibernateDaoSupport, да и только, а они действительно есть.

> Spring позволяет работать с Hibernate,JDO,JPA,TopLink а что нам дает SEAM?

EJB 3.0, т.е. и JPA в том числе, голый Hibernate.

svr69 ★★
()
Ответ на: комментарий от svr69

>> Spring позволяет работать с Hibernate,JDO,JPA,TopLink а что нам дает SEAM?

>EJB 3.0, т.е. и JPA в том числе, голый Hibernate.

он дает JPA - со всеми вытекающими.
Пожалуй сейчас - этого достаточно, так как TopLink и JDO тоже стали поддерживать JPA

для WEB2.0 (они позиционируются как Framework для AJAX решений) - JSF(
IMHO JSF очень сильно проигрывает GWT )

У spring для web может быть все почти всё что угодно.


время покажет, что из этого выдет.

Yilativs ★★★★
()

Господа, а кто-нибудь где-нибудь видел общий обзор подобных средств? Я понимаю, что погуглить можно, но вдруг...

Ravana
()
Ответ на: комментарий от dimag

HibernateTemplate скрывает семантику Hibernate, отчего случаются проблемы. Против использования Session из Spring они ничего не имеют.

svr69 ★★
()
Ответ на: комментарий от svr69

Но и Seam не ограничивает JSF. Можно дергать Seam Remoting из JavaScript: http://docs.jboss.com/seam/1.1GA/reference/en/html/remoting.html.

Да, но в GWT это на голову проще и удобней.

Мне кажется сейчас для IoC - самый приличный вариат Spring
для ORM - Hibernate
для Web2.0 решений GWT

seam смотрится слишком привязаным к EJB3+JSF.


PS Буду рад если у кого-то получится интересный проект на Seam ;-)

PPS Спасибо за ссылку про Hibernate "hates" Spring.

IMHO it's all about money ;-)

Yilativs ★★★★
()
Ответ на: комментарий от svr69

А зачем мне на десктопе web-фреймворк? Я хочу связать POJO в Rich Swing GUI, Spring позволит мне это сделать, а Seam?

anonymous
()
Ответ на: комментарий от Yilativs

Самый правильный IoC контейнер - PicoContainer, потому что он предлагает компоновать систему через constructor injection, а spring везде пропогандирует setter injection. В результе забыв что либо сконфигурить получаем NullPointerException, а при constructor injection ошибку получаешь сразу при старте контейнера. Кроме того spring предлагает конфигурить все через xml, а pico через java, groovy, xml, BeanShell, Jython, JavaScript.

Extremal
()
Ответ на: комментарий от anonymous

>А зачем мне на десктопе web-фреймворк? Я хочу связать POJO в Rich Swing GUI, Spring позволит мне это сделать, а Seam?

вы бы сначала потрудились прочитать зачем оно нужно

http://jcp.org/en/jsr/detail?id=299

vansickle
()
Ответ на: комментарий от Robotron

Внедрение зависимости. Это значит, что ты указываешь бину, через какой класс подключаться к БД не в сорсах, а через конфигурационный файл: меньше приходится перекомпилировать прогу при внесении изменений в архитектуру и смене модулей: повышается модульность программ и снижается связность классов.

Классическая статья на эту тему по русски: http://lib.juga.ru/article/articleview/218/1/22

anonymous
()
Ответ на: комментарий от Robotron

IoC - это инверсия контроля(Inversion of Control). Это парадигма обратная паттерну сервис-локатор. Идея заключается в том что бы очистить компоненты выполняющий бизнес-логику от поиска из какого либо контекста других зависимых компонетов. Например J2EE зависимые компоненты достаются через статический JNDI context. По принципу IoC компоненты настраивается другими компонетами из-вне через конструктор либо через методы. Это может быть либо контейнер либо просто скрипт(паттерн билдер). Принципу IoC так же противоречит использование статических вызовов ил паттерн singleton вообще считается антипаттерном. Прочиать об этом можно здесь http://picocontainer.codehaus.org/2.1+Patterns и здесь http://picocontainer.codehaus.org/2.2+Antipatterns

Extremal
()

Эх разработчики... Пальцы гнут, новые фраемворки лабают, на других наезжают.

А народ как на Struts 1.2 сидел, так и сидит. Старые проекты нужно поддерживать, да и все глюки/косяки давно известны, народ более-менее обучен. Как говорится стандарт де-факто.

Мне кажется, что если на что и начнут слазить потихоньку (хотя уже и сейчас начался осторожный переход), так это на JSF, т. к. Sun его продвигает как стандарт. Ну еще Struts к Spring'у приделывают как веб-фраемворк, но это не в счет :-)

А то с этими фраемворками ситуация как с альтернативными ЯП. HelloWorld, да числа Фибоначчи, пишутся ой как красиво, а с остальным беда.

P. S. мне самому Spring и его WebFraemwork нравятся ;-)

anonymous
()

Любопытный фреймворк, надо бы познакомиться поближе.. ;-)

MiracleMan ★★★★★
()
Ответ на: комментарий от anonymous

>А народ как на Struts 1.2 сидел, так и сидит

Дык, уже Struts 2.0.1 доступен... Сделан на основе Webwork

Robotron
()
Ответ на: комментарий от anonymous

> >Я симу не адвокат, но все же...

> Зачем этот Сим если есть EJB3+JSF???

Seam как раз для максимально удобной стыковки этих двух технологий + кучка классов ala utils, которую так или иначе пришлось бы писать самому.

anonymous
()
Ответ на: комментарий от Extremal

Spring позволяет использовать constructor injection - какие проблемы? Просто это не всегда удобно, поэтому setter injection тоже нужен, да и method injection - штука полезная. XML для конфигурации - тоже просто самое распространенное решение. Вот прямо от Рода Джонсона: http://blog.interface21.com/main/2006/11/28/a-java-configuration-option-for-s... Ну и плюс у Spring есть из коробки интеграция с массой всякого добра и довольно неплохая реализация AOP.

svr69 ★★
()
Ответ на: комментарий от anonymous

Очевидно, нет. Вопрос был риторический, да?

svr69 ★★
()
Ответ на: комментарий от svr69

Srazu izvinenija za translit... Diletantskij vopros po Spring'u: Chitaju sejchas "Spring 2.0 reference documentation", tak kak ja ponial, bean v springe eto imenno bean, a ne interfeis, kak v Hivemind'e (http://hivemind.apache.org) ? Voobshe, esli uzh poshiol vopros ob pristrastijah, to esli by ne pahabnaja dokumentacija Hivemind'a (tut ja snimaju shliapu pered String developerami) , to odnoznachno by golosoval za nego. Nadejus, cto diskussija budet konstruktivnoj i interesnoj.

alebu
()
Ответ на: комментарий от svr69

>речь шла о недостатках HibernateDaoSupport, да и только, а они действительно есть.

Можно подробнее? Я как-то читал один длинный буржуйский блог на эту тему, но нервы сдали переводить. Вкратце можно?

lexius ★★
()
Ответ на: комментарий от lexius

Ссылку я дал. Еще есть в блоге hibernate. Вкратце - спринговские обертки скрывают семантику самого хибернейта. В результате разработчики сталкиваются с косяками самого разного рода.

svr69 ★★
()
Ответ на: комментарий от alebu

Spring и hivemind сложно сравнивать. Они совсем разные и для разных задач приспособлены. Hivemind побыстрее, кажется, но разве он где-то кроме Tapestry используется?

svr69 ★★
()
Ответ на: комментарий от Bioreactor

Осьанки бытлокодеров в Биоректоре не сумели освоить GWT.
Да, недаром их туда отправили.

anonymous
()
Ответ на: комментарий от svr69

> Spring и Hivemind сложно сравнивать.
LHS то же самое утверждает :)
> Они совсем разные и для разных задач приспособлены.
Но типичное применение у обоих очень схожее: DI, всякие интерцепторы ( транзакции, авторизации, логеры и т.д. ).
>Hivemind побыстрее, кажется, но разве он где-то кроме Tapestry используется?
Tapestry просто хороший пример возможного применения Hivemind.
Судя по рассылке, многие используют Hivemind как IoC контейнер в своих проектах.
Он собственно и создавался как:
HiveMind originated from internal requirements for a flexible,
loosely-coupled configuration management and services framework for
WebCT's industry-leading flagship enterprise e-learning product, Vista.


alebu
()
Ответ на: комментарий от alebu

Да применение схожее, как у любых IoC контейнеров. Avalon вот еще есть - кажется, он даже первым был... Spring же - большой и навороченный фреймворк, т.к. помимо IoC включает еще много чего - готовые модули интеграции с массой других проектов, реализацию MVC, WebFlow, "легкую" реализацию AOP и т.д. Спору нет, наверное, все это можно написать и на Hivemind, но сколько времени на это уйдет? Хотя если требуется только IoC, то вполне можно воспользоваться Hivemind, тем более что да, во многом он удобнее Spring.

К слову о самой новости: http://blog.hibernate.org/cgi-bin/blosxom.cgi/2006/12/15#1k

svr69 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.