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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> стоит ли использовать JSF, Spring, Hipermate, при ОЧЕНЬ интенсивной работе с БД 
V
    Опции темы
ZMaximI
Дата 3.12.2008, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

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



Добрый день !

У меня есть задумка реализовать достаточно большой интернет-проект.
Ориентировочное количество одновременно работающих пользователей около 10 000, следовательно ОЧЕНЬ интенсивная работа с БД.

Я несколько в растерянности в выборе технологии :
- написать все на старых добрых jsp и не ломать голову
- на чистом jsf
- Spring framework
????

Так вот, помогите, пожалуйста, определиться, стоит ли использовать JSF, Spring, Hipermate или реализовать все на стандартном JSP ?

Спасибо.


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
necromancer
Дата 3.12.2008, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

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



JSF тебе поможет если у тебя сложный веб интерфейс.
Если все очень просто то JSP, если где то между то SpringMVC
так же вполне можно писать используя несколкьо техноолгий, 
например для простых страниц JSP,а для админ консоли что то потяжелее.

это сугубо ИМХО.
Далее писать следует на том что хорошо знаешь иначе огребешь кучу проблем.


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
ZMaximI
Дата 3.12.2008, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

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



necromancer, спасибо.
С JSF как бы все красиво, вот только меня терзают смутные сомнения по поводу производительности ...


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
skhilkov
Дата 3.12.2008, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А из-за чего может производительноть быть ниже?
Все равно все в сервлеты перекомпилится )
А если честно, мне тоже интересно сказывается ли использование JSF или других фреймворков на производительности....


--------------------
Кто понял жизнь, тот не спешит. 
PM MAIL   Вверх
v2v
Дата 3.12.2008, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

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



для задач как у тебя использовать hibenrate не рекомендутся...только чистый jdbc.


--------------------
PM   Вверх
ZMaximI
Дата 3.12.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

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



Спасибо большое, с представлением немного успокоился .., JSP, а для красоты GWT ...

Теперь возник вопрос такого плана :
    у приложения будет свой "движок", состоящий из нескольких модулей.
    Все эти модули будут НЕПРЕРЫВНО выполнять определенный задачи и результаты свой работы, должны будут, опять же НЕПРЕРЫВНО сохранять в БД ...

очень не хочется заморачиваться с EJB - большого смысла в них нет ...
а непрерывная работа с бд вообще меня пугает ...

Подскажите, пожалуйста, кто что думает по этому поводу ?

Спасибо.

Это сообщение отредактировал(а) ZMaximI - 3.12.2008, 15:48


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
necromancer
Дата 3.12.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

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



>Спасибо большое, с представлением немного успокоился, JSP, а для красоты GWT ...
замучаешься!!!

если хочется JSF то используй соотв библиотеки - Richfaces, IceFaces, Woodstock, Facelets

производительность JSF более чем 2 раза ниже чем JSP
причина: востановление дерева компонент, обработка событий и прочее прочее.

используй JDBC и Hibernate
для быстрых выборок вставок - JDBC
для админки и прочего менее резвого хибернату.
Набор классов почти не изменится а рутины убавится на 40%


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
Asal
Дата 3.12.2008, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(ZMaximI @  3.12.2008,  15:45 Найти цитируемый пост)
Спасибо большое, с представлением немного успокоился ..,

Вилами по воде...
Еще 100 раз можете передумать
я использую Velocity + jQuery

Цитата(ZMaximI @  3.12.2008,  15:45 Найти цитируемый пост)
очень не хочется заморачиваться с EJB - большого смысла в них нет ...

Ну не скажите...
Раз у Вас
Цитата(ZMaximI @  3.12.2008,  15:45 Найти цитируемый пост)
 Все эти модули будут НЕПРЕРЫВНО выполнять

и
Цитата(ZMaximI @  3.12.2008,  15:45 Найти цитируемый пост)
опять же НЕПРЕРЫВНО сохранять в БД ...

то возникнет вопрос с транзакциями, тут Вы и вспомните про EJB.
Я вопрос с транзакциями решил с его помощью.

P.S. я не профессионал, поэтому "гуру" поправте коли не прав

Добавлено через 3 минуты и 33 секунды
Цитата(necromancer @  3.12.2008,  16:42 Найти цитируемый пост)
используй JDBC и Hibernate

Разве Hibernate настолько медлителен?
Будет ли bind из БД в объект раелизован бустрее чем это делает Hibernate?
А как насчет кэширования?
А скорость разроботки?


--------------------
PM MAIL ICQ   Вверх
ZMaximI
Дата 3.12.2008, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

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



Цитата(Asal @  3.12.2008,  16:48 Найти цитируемый пост)
то возникнет вопрос с транзакциями, тут Вы и вспомните про EJB.
да, тут конечно я согласен, может возникнуть и такая очень неприятная ситуация ...., погорячился я немного, спасибо



--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
necromancer
Дата 3.12.2008, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

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



Hibernate по определению медленее.
Да бинд с испоьлзованием JDBC будет выполнен быстрее. (так как хибернатат использует прокси и рефлексию)
Транзакции можно использовать и без EJB ( smile ), тот же hibernate прекрастно справляется, да и на JDBC проблем с транзакциями нет.

Для чего может понадобится EJB? ну для масштабирования и кэширования.
Хотя и кэширование можно решить при помощи различных доп фреймворков, тот же JBoss Cache

>я использую Velocity + jQuery
это View, а что же контроллер? =)

JSF предлагает оличную компонентную и событийную модель.

К сожалению своему небыо времени и возможности изучить SpringMVC.

Любые надстройки над системой, теже аспекты, анотации и прочее (даже модные (for earch)) тормозят выполнение программы.

Мой совет напишите как знаете/можете а затем при возникновении узких мест либо профилируете а затем заменяете,  либо делаете load balancing

to Asal:
непрерывное сохранение не подразумевает обязательное использование транзакций. Вдруг это атомарная операция вставки(лог например).
Для того же лога транзакции это сорее помеха, так как независимо от результата необходимо знать о попытке действа.
Так же можно сделать это атомарной опрецией и без использования транзакций в яве путем выноса сохраниений через хранимые процедуры.

>А как насчет кэширования?
нет проблем. кэш первого и второго уровня в hibernate. Плюс никто не запрещает использовать кэш для необновляемых элементов.
>А скорость разроботки? 
С этим нельзя не поспорить. Хотя написать вывод из базы записей в консоль на JDBC будет быстрее, в самом простом случае =)


Чем реально может помочь Hibernate, EJB так это связанные объекты и коллекции.

Это сообщение отредактировал(а) necromancer - 3.12.2008, 17:31


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
Asal
Дата 3.12.2008, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(necromancer @  3.12.2008,  17:25 Найти цитируемый пост)
Транзакции можно использовать и без EJB (  ), тот же hibernate прекрастно справляетс

дык речь идет про отказ от hibernate и использования чистого JDBC
Цитата(necromancer @  3.12.2008,  17:25 Найти цитируемый пост)
да и на JDBC проблем с транзакциями нет

вот чего не знаю, с тем спорить не буду  smile 
Цитата(necromancer @  3.12.2008,  17:25 Найти цитируемый пост)
это View, а что же контроллер?

Spring
Цитата(necromancer @  3.12.2008,  17:25 Найти цитируемый пост)
Мой совет напишите как знаете/можете а затем при возникновении узких мест либо профилируете а затем заменяете,  либо делаете load balancing

+1, все места сразу не заткнуть, если нет опыта в размере состава из 50 вогонов и маленькой тележки

Цитата(necromancer @  3.12.2008,  17:25 Найти цитируемый пост)
Вдруг это атомарная операция вставки(лог например).

не понял про "атомы"


Цитата(necromancer @  3.12.2008,  17:25 Найти цитируемый пост)
С этим нельзя не поспорить. Хотя написать вывод из базы записей в консоль на JDBC будет быстрее, в самом простом случае =)

"С этим нельзя НЕ поспорить" или "с этим нельзя поспорить"



--------------------
PM MAIL ICQ   Вверх
ZMaximI
Дата 3.12.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 18.5.2004
Где: Украина, г. Харьк ов

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



Господа, вот теперь я реально запутался .... 

Цитата(necromancer @  3.12.2008,  17:25 Найти цитируемый пост)
Мой совет напишите как знаете/можете а затем при возникновении узких мест либо профилируете а затем заменяете,  либо делаете load balancing

Да, это очень дельный и правильный совет.
Как я писал выше, движок будет состоять из нескольких модулей, которые, возможно, будут использованы повторно вдальнейшем, именно поэтому и хочется написать максимально близко к правильному ...


--------------------
<удалено администрацией форума>
PM MAIL WWW ICQ   Вверх
Asal
Дата 3.12.2008, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(necromancer @  3.12.2008,  17:25 Найти цитируемый пост)
Для того же лога транзакции это сорее помеха, так как независимо от результата необходимо знать о попытке действа.

Лог можно и в СУБД вести

Добавлено @ 18:36
Цитата(ZMaximI @  3.12.2008,  18:06 Найти цитируемый пост)
движок будет состоять из нескольких модулей

Возможно тут может пригодиться EJB
Цитата(ZMaximI @  3.12.2008,  18:06 Найти цитируемый пост)
хочется написать максимально близко к правильному ...

надо начинать писать, 150 тыщ раз еще будете переделывать, процесс не быстрый...

Когда я начал писать магазин, то архитектура была одна, в процессе понял что был не прав и исправил ее, 
убрал несколько косяков и т.д.

OffTop:
у меня используется
View: Velocity + jQuery
Servlet: Spring
DataBase: EJB + JPA + TopLink
Security: Spring Security
J2EE: GlassFish
Searh Engine: Compass (надстройка для Lucene)

Гуру поправьте, пож, если в чем-то выбор не правильный


Это сообщение отредактировал(а) Asal - 3.12.2008, 18:37


--------------------
PM MAIL ICQ   Вверх
polosatij
Дата 3.12.2008, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

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



Цитата(Asal @  3.12.2008,  18:29 Найти цитируемый пост)
Гуру поправьте, пож, если в чем-то выбор не правильный


тебе никто не подскажет, правильный ли твой выбор.. всё будет зависить от прямых рук и затраченного времени  smile 

ZMaximI, фуф.. чувствуется, что ты пишешь первый проект.. ты уверен, что наберёшь 10.000 человек/ минуту? если ты их наберёшь, наймёшь людей и перепишешь приложение заного, т.к. оно себя в сотни раз окупит  smile 


--------------------
PM   Вверх
Vasay
Дата 3.12.2008, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

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



Spring   ( Spring MVC в частности ) однозначно помехой не будет и снимет часть головной боли.

JSF в топку, вещь совершенно не предназначенная для web проектов.

Используйте Hibernate, если поймете что где-то узкое место - потюнингуете, перепишите на jdbc.

view - я за Velocity.

Применение ajax - местами, точно зная, что не во вред. 

Это сообщение отредактировал(а) Vasay - 3.12.2008, 22:58


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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