Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проясните ситуацию, а то с ума можно сойти, опять эти фреймворки 
:(
    Опции темы
AlexCorwin
Дата 29.3.2006, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



Наверное всем уже надоели чайники, которые услышав много умных слов начинают доставать с вопросами, а что енто такое и зачем нужно smile

Перечитал наверное весь форум, но всё же остался ряд вопросов:
Итак Frameworks:
1. JSF и Struts и Tapestry - несут в себе один и тот же смысл. Т.е. создание интерфейсной части приложения ???

2. Hibernate - для работы с базами данных. он независим совсем от jdbc или является надстройкой ?

3. Spring - что это вообще за зверь ???? он тоже необходим для UI ???

Можно ли сращивать JSF (Struts) + Spring + Hibernate если да то в каких случаях это оправдано ???


Заранее спасибо, кто не поленится просветить...

PM MAIL   Вверх
tux
Дата 30.3.2006, 02:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Попробую прояснить.

Цитата(AlexCorwin @ 29.3.2006, 21:19 Найти цитируемый пост)
1. JSF и Struts и Tapestry - несут в себе один и тот же смысл. Т.е. создание интерфейсной части приложения ???

Именно. Все три фреймворка предназначены для создания клиентской части веб-приложения и реализуют паттерн "модель-вид-контроллер" (MVC). Но, заметь, делают это по-разному, причем реализации сильно отличаются. Кроме того, это не единственные фреймворки. Вот здесь - http://java-source.net/open-source/web-frameworks - из 38 штук и подозреваю, что это еще не все.

Ты спросишь зачем они все нужны? Какие-то проекты - просто амбиции автора, решившего доказать, что и он может фрйемворк написать, кто-то действительно продвигает хорошую идею быстрого и удобного создания веб-приложений. Если ты только начинаешь заниматься разработкой для веб на Java, то тебе предстоит из всего разнообразия что-то выбирать. К этому вопросу мы еще вернемся.

Цитата(AlexCorwin @ 29.3.2006, 21:19 Найти цитируемый пост)
2. Hibernate - для работы с базами данных. он независим совсем от jdbc или является надстройкой ?

Hibernate - это библиотека объектно-реляционного отображения (ORM). Как ты уже наверное догадываешься, Hibernate - не единственная подобная библиотека. Вот здесь их перечисляется 21 - http://java-source.net/open-source/persistence. Для чего нужен Hibernate? Для того, чтобы можно было не работать с базой данных напрямую, выполняя множество запросов и обрабатывая результаты выполнения. Вместо этого можно сохранять в базу данных и получать оттуда обыкновенные объекты Java. Hibernate при сохранении объекта определяет соответствие классов таблицам в базе данных, атрибутов класса полям в таблице и генерирует запрос, который зависит от того какая операция выполняется - выборки объекта или его сохранения. Соответствие классов и таблиц, естественно, придется Хибернейту предварительно задать.

На самом деле, возможности Hibernate гораздо шире, но описать все что он умеет я здесь не смогу. Поскольку Hibernate с базами данных все-таки работает, то никак не зависеть от JDBC он ну ни как не может. Можешь считать его надстройкой. Еще одно достоинство Hibernate - он вполне неплохо сглаживает различия, существующие между различными СУБД, тоже аргумент для его использования. Думаю, ссылки на различные ресурсы по Hibernate ты и без меня в форуме найдешь, вот тебе пара ссылочек, где худо-бедно работа с Hibernate описана по-русски - http://msk.nestor.minsk.by/kg/2005/32/kg53209.html, http://www-128.ibm.com/developerworks/ru/j...nate/index.html.

Резюме такое. Если делаешь достаточно крупный проект (больше Hello, World smile), то использовать Hibernate оправдано. А можно использовать и другие ORM, но Hibernate похоже самый популярный.

Цитата(AlexCorwin @ 29.3.2006, 21:19 Найти цитируемый пост)
3. Spring - что это вообще за зверь ???? он тоже необходим для UI ???

В отличие от веб-фреймворков (Struts и иже с ним) Spring - это фреймворк приложения J2EE в целом, более того, Spring не обязательно должен использоваться в веб-приложении в отличие от Struts, который жестко привязан к веб. Опять-таки, Spring - не единственный, вот здесь похожих библиотек 8 - http://java-source.net/open-source/j2ee-frameworks. Но, Spring - это мейнстрим и замену ему сейчас можно наскрести разве что по сусекам из различных библиотек. Более того, Spring - это модно. smile Spring включает в себя огромный объекм кода, упрощающего работу с большинством технологий, использемых в J2EE - JDBC, JMS и т.д. Кроме того, Spring обладает собственным веб-фреймворком, гораздо более гибким чем, например, Struts. Однако, в нем не реализованы многие вещи, которые уже существуют в большом количестве - например, пулы соединений, ORM и т.д. Исключение сделано только для веб-фреймворка, видимо авторов не устраивала ни одна существующая реализация. smile На самом деле, причина в другом, но не буду в это здесь вдаваться.

Ну так вот, если решишь изучать Spring, то могу сразу предупредить, что это сложно и времени у тебя уйдет много (дело не в сложности самого Spring, а в сложности связанных с ним концепций), но полученные знания окупяться в будущем, дадут возможность разрабатывать приложения очень быстро.

Цитата(AlexCorwin @ 29.3.2006, 21:19 Найти цитируемый пост)
Можно ли сращивать JSF (Struts) + Spring + Hibernate если да то в каких случаях это оправдано ???

Можно. Если ты решишь использовать в приложении ORM, то придется сращивать Spring с Hibernate поскольку собственным ORM Spring не обладает. Использовать Struts при наличии мощного и гибкого фреймворка, имеющегося в Spring мне кажется целесообразным только при переносе на Spring уже существующего приложения, использующего Struts.

Ну вот, вкратце и все. smile
PM MAIL Skype GTalk Jabber YIM   Вверх
Skeleton
Дата 30.3.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



А JSF + Spring + Hibernate оправдано?
PM MAIL   Вверх
tux
Дата 30.3.2006, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



С JSF не сталкивался, может быть и обладает он какими-то сказочными преимуществами в сравнении со Spring, но в это слабо верится.
PM MAIL Skype GTalk Jabber YIM   Вверх
Skeleton
Дата 30.3.2006, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



Spring как-то с EJB соотносится? Что в будущем будет более востребованно JSF или Spring?

PM MAIL   Вверх
tux
Дата 30.3.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(Skeleton @ 30.3.2006, 16:45 Найти цитируемый пост)
Spring как-то с EJB соотносится?

В Spring есть код, несколько упрощающий работу с EJB, а в остальном он никакого отношения к EJB не имеет.

Цитата(Skeleton @ 30.3.2006, 16:45 Найти цитируемый пост)
Что в будущем будет более востребованно JSF или Spring?

Это в общем-то разные вещи. JSF - только веб-фреймворк (насколько я знаю), а Spring - целый набор библиотек, упрощающий разработку приложений, включающий в том числе и веб-фреймворк. JSF продвигает Sun, этим может быть обусловлено будущая большая востребованность. Хотя, кажется, сейчас Spring быстрее набирает популярность.
PM MAIL Skype GTalk Jabber YIM   Вверх
AlexCorwin
Дата 30.3.2006, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



tux
Спасибо огромное. кажется что-то начинает проясняться.
Я думаю попробовать поиграться для начала с jsf+hibernate. А то в Spring пока страшно лезть...

Можно пару примеров, для каких целей может использоваться Spring (не считая его UI модуля). Так сказать на рабоче крестьянском языке ???
PM MAIL   Вверх
ALKS
Дата 30.3.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 6
Всего: 11



Я немножко хочу добавить по-воводу Hibernate. Он не просто самый поплярный он объективно лучший. я имел дело еще с torque и еще с чем-то и убежден что лучше Hibernate в своей нише ничего сейчас нету. Но это не значит что его нужно применять везде. Нужно понимать что абстрагирование от спицифики конкретного SQL сервера, как бы хорошо оно не было сделано, не может не сказываться на производительности.

Есть круг задач когда производительность запросов к БД очень важна и тут фреймворки подобные Hibernate применять не стоит. что-то выигрываеш а что-то проигрываеш как всегда...

А с фреймворками для вэб-приложений вообще полный атас... разобраться очень сложно, даже профисионалу. мы перепробовали несколько и в итоге... написали собственный... сэ ля ви...
PM   Вверх
Skeleton
Дата 30.3.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



На мой взгляд JSF в целом очень не плох, но имеет несколько существенных просчётов. Если я правильно понял форма в JSF может быть отправлена только методом POST и т.д....
PM MAIL   Вверх
tux
Дата 31.3.2006, 03:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(ALKS @ 30.3.2006, 20:10 Найти цитируемый пост)
Я немножко хочу добавить по-воводу Hibernate. Он не просто самый поплярный он объективно лучший. я имел дело еще с torque и еще с чем-то и убежден что лучше Hibernate в своей нише ничего сейчас нету.

Согласен. Правда у меня тоже дело ограничилось знакомством с Torque и еще Castor. Люди шибко хвалят iBatis SQL Maps, но у меня его посмотреть пока только в планах.

Цитата(AlexCorwin @ 30.3.2006, 19:57 Найти цитируемый пост)
Можно пару примеров, для каких целей может использоваться Spring (не считая его UI модуля). Так сказать на рабоче крестьянском языке ???

Посмотри вот эту статью - http://www.javaportal.ru/java/articles/spring.html. Там как раз есть пара примеров использования. Будут вопросы, задавай.

Это сообщение отредактировал(а) tux - 31.3.2006, 03:33
PM MAIL Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.