| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > EJB vs JSF |
| Автор: tux 4.10.2006, 14:24 |
Я бы сказал, что ближе к Velocity/Webmacro, синтаксис языка похож. |
| Автор: y3u 4.10.2006, 14:45 |
попахивает холивором |
| Автор: chief39 4.10.2006, 17:03 | ||
Тяжеловесная, но для определённых задач - самое то. Это как сравнить самолёт и танк. Конечно, возиться с EJB2.1 - это своего рода подвиг Всё-таки вэб приложение - это вэб приложение. Изначально для интерактивного общения с юзером. То есть можно самолёт забронировать и сделать летающий танк но... лучше не надо еджиби надо пользовать там, для чего были задуманы. Есссно, вэб - тоже в своей нише. |
| Автор: y3u 4.10.2006, 22:04 | ||
чтобы не быть голословным, обратимся к http://java.sun.com/javaee/5/docs/tutorial/doc/Overview9.html#wp86355 |
| Автор: Sun 4.10.2006, 22:20 | ||
Это всё в теории так красиво. На деле достаточно глючная технология, которая с большим трудом поддаётся отладке и диагностике. Entity Beanы наверно самое неудачное изделие и многие от них отказались, заменив тем же Hibernate. |
| Автор: Stampede 4.10.2006, 22:32 |
Скажите, а как вы тестите логику в компонентах? Каждый раз перезапускаете контейнер? Я не имею в виду полный прогон, а именно юниты. Вот написали небольшую функцию, которая чего-то там делает, причем вроде бы сугубо локально, а за ней тянется поезд зависимостей. Как проверить, что все правильно? Деплоите вживую? Перезхапускаете контейнер? Просто любопытно. |
| Автор: y3u 4.10.2006, 22:46 | ||
лично я в данный момент не делаю ни как |
| Автор: Stampede 4.10.2006, 23:16 | ||
Очент приятно услышать честный ответ Я ведь неспроста задал вопрос про юнит-тесты. Это одна из причин, по которым я в свое время отказался от идеи юзать EJB. И с большим облегчением отправил на свалку истории то, что уже успел к тому времени наваять. Позднее я нашел очень толковые рассуждения на эту тему у Рода Джонсона.в его J2EE Development Without EJB. Не исключаю, что в EJB 3.0 ситуация малость улучшилась, но не представляю, как все-таки можно раскрутить цепочку зависимостей без (пере)запуска контейнера. |
| Автор: COVD 4.10.2006, 23:25 |
| удалил |
| Автор: y3u 4.10.2006, 23:39 |
вобсчем что-то я заинтересовался этим вопросом |
| Автор: chief39 5.10.2006, 13:12 | ||||||
Хм... Не самая простая вещь... но мы используем и довольны. Как нельзя лучше подходит для задач в стиле, описанном y3u. Что бы делали с голым томкатом и джсп - даже не представлю себе...
Однозначно. Согласен на все 100%. Хотели на хибернейт перевести. Но сейчас порсто немного подождём и пересядем на EJB3.0.
У нас очень мало(ничтожно мало) методов, которые поддаются джиюнит-тестированию без хвостов. Те, которые есть, просто запускаются - и всё. зАчем контейнер стопорить-то??? Основная функциональность - завязана на сложныую бизнес-логику и базу. То есть основные тесты - это те же юниты, которые прогоняют целые процессы. Для них уже нужен рестарт с переподготовкой датасета базы. Всё отлично. Упрощённо, полный цикл сборки: Сборка, поготовка датасета(скл-скрипты и джава-лоадеры), деплой, тесты(все), андеплой, стоп сервера, опять чистый датасет, старт сервера, деплой - Всё чистенькое и готово! То есть - подготовка, тесты, ре-подготовка Всё под антом и круизконтролем. Очень удобно. (Если бы ещё грёбаный ЦВС не заглюкавил пару раз ЗЫ: можно чуть подробнее о "хвостах", которые так сильно мешают жить? |
| Автор: Sun 5.10.2006, 15:14 |
| Немного название темы неподходящее. Я лично не предлагал вместо EJB использовать JSF. Я предлагал для случая описанного sergejzr не использовать EJB, хотя можно и вообще разрабатывать распределенные приложения без всяких EJB. Просто EJB требуют высокой квалификации разработчиков, чего как правило сильно не хватает во время разработки. Поэтому если кто-то не имеет хорошего экспириенса в их использовании, пускай даже не начинает проектирование новой системы с их использованием, потому что рискует превратить её в тихий ужас. Хотя если система "для дома, для семьи", то можно и потренироваться на кошках |
| Автор: chief39 6.10.2006, 13:25 |
Я бы попросил!!! Браузер и апач - это уже распределённая система - (Функцииональность распределена, работают в связке, на различных хостах, логически - единое целое.) Другое дело - как распределена система. Можно, конечно, обойтись вэб-сервисами... Но большую, сложную как отдельное государство, систему лучше конструировать из того, что для этого предназначается. Всё-таки Вэб эволюционировал из простого отображения хтмла с принудительным впихиванием через попу несвойственных ему функций. Иногда вышло неплохо, иногда - так себе. Я согласен, иногда проще и логичней маленькое деревце снести тесаком, но рубить, обливаясь потом, толстую сосну - это изврат. Лучше уж брать двуручную пилу. Вот так... |
| Автор: sandello 10.10.2006, 13:08 | ||||||
Посмотри, кто принимал участие в создании EJB3. Если я правильно помню - всем известный Hibernate. Кроме того, в JBoss EJB3 Persistence на этом самом хибернате и сделано. А вот в EJB2 использовать Entity Bean... Хотя сам не использовал :-)
Мы для тестирования подняли тестовый сервер :-) Можно придумать вариант, когда вся логика лежит не напрямую в классах бинов, а в отдельных классах. А бин только обеспечивает ресурсы (доступ к БД, конфигурирование бизнес-классов и т.д.). В этом случае для "первичного" тестирования бизнес логики можно создать свою обертку, выполняющую ту же роль, что и бины (доступ к ресурсам, ...). Для обкатки логики вполне подойдет. В любом случае, для испытаний большого проекта необходимо создавать специальный комплекс программно-аппаратных средств. Наивно было бы считать, что что-то "большое и тяжелое" можно качественно проверить одним только JUnit'ом.
Не понял мысль, можешь пояснить? Чего стоим, кого ждем? (с) не мой :-) |
| Автор: chief39 10.10.2006, 14:26 |
Есть много неотложных задач, от нашего желания не зависящих. Плюс, чем позже версия АПП сервера с еджиби 3 - тем понадёжнее должна быть Хотя хочется уже побыстрее.... Энтити - это, конечно, песня... Будем торопиться |