![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Всем привет) Начинаю свой проект. Будет это веб сайт. Всегда хотел научиться писать приложения с красивой архитектурой... поэтому сейчас стал задумываться над архитектурой. Предполагается большая нагрузка как на базу так и на сервер.
На данный момент используется: 1) БД - PostgreSQL 2) ORM - Hibernate 3) EJB 3.0 4) Servlet 5) XSLT 6) JSP Пункты 1, 2, 3 иду как отдельный модуль, что то вроде API. 4, 5, 6 это View, то есть делается запрос к сервлету, он вытягивает xsl шаблон и на основе какой то XML генерируется html который просто выгружается на страницу. Таким образом некоторые части страницы можно подгружать через ajax. Последняя часть, не очень нравиться ... трудоемко менять шаблоны, для каждого xsl пишется свой xml, и др. Покритикуйте пожалуйста данное решение и посоветуйте что нибудь ) |
|||
|
||||
jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 5 Всего: 75 |
Вызывает некоторые сомнения использование EJB для сайта, ведь E не зря означает "Enterprise". Хостинг придется искать с Application Server'ом
-------------------- Opinions are like assholes — everybody has one |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Можно в двух словах об отличиях Enterprise и обычного веб сайта. Может быть я просто не правильно выразился.. в этом проекте я не пишу какой нибудь "сайт визитка", предполагается большая система, с высокой нагрузкой, которая постоянно будет развиваться. |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Здесь важно понимать. что EJB 3.0 - это специальная технология написания, деплоя и запуска классов, для поддержки которой надо использовать ПО, которое соответствует спецификации Java EE 1.5. А наиболее известный хостинг Tomcat такого не умеет - ему надо давать дополнительные библиотеки - тот же OpenEJB. В принципе не проблема, но тем не менее. Или брать что-то более мощное - JBoss например. |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Планирую разворачивать на Glassfish... тестирую на нем же, все прекрасно работает)
|
|||
|
||||
Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 1 Всего: 10 |
EJB как правило имеет смысл применять если нужны транзакции инициализируемые клиентами, что в твоем (и в остальных 99%) случаев без необходимости. Более легковесным вариантом будет все-таки Spring/Guice + POJOs, прочти книгу POJOs In Action для начала.
XSLT трансформация тоже кажется лишней, удобней будет просто с помощью JQuery слать AJAX запросы и получать ответ в JSON формате. PS: надеюсь проект учебный ;) -------------------- |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Ну вполне пристойно.
Это не совсем так - EJB работает с аннотациями для транзакций и не на клиентском уровне подобно тому же Spring. Касаемо XSLT - надо действительно четко решить какую архитектуру UI будешь использовать. Например для простых страниц (без AJAX) для нескольких типов экранов - почему бы не попробовать. Мы такое делали. Но если хочется повозиться с AJAX - JQuery или вообще GWT, ZK или еще что - то тут XSLT вряд ли имеет смысл использовать. |
|||
|
||||
4epT |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Данный проект никак не относиться к работе) занимаюсь им в свободное время, но проект не является учебным ) При использовании XSLT, никаких проблем с AJAX не испытываю, по крайней мере пока что ... Схема очень простая, посылаю запрос с параметром, какую часть мне достать, на сервере выполняются нужные действия и в ответ отдаю уже готовый HTML, после чего просто перетираю нужную область. Насчет GWT задумывался... пугает его сложность и то что не умею на нем писать красивых решений. Может можете что то посоветовать по GWT ? в плане архитектуры. Spring/Guice + POJOs посмотрю, спасибо!
можно немного разъяснить ? EJB транзакции работают на уровне СУБД ? Hibertnate может работать в режиме транзакций ? P.s. может есть по Spring/Guice + POJOs русскоязычная литература ? |
||||
|
|||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Здесь речь идет о том, что несколько запросов к СУБД можно "обренуть" транзакцией. Чаще всего это выглядит как один метод класса, внутри которого делается мнго запросов Hibernate (точнее JPA) и все эти запросы внутри одной транзакции. Причем начало этой транзакции грубо говоря совпадает с началом метода, а commit - с окончанием. Если же в процессе работы вылетает exception, то происходит автоматический rollback транзакции. |
|||
|
||||
Старовъръ |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 1 Всего: 10 |
-------------------- |
||||
|
|||||
Vasay |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 18 Всего: 73 |
Индексация проблема не только GWT но и любого сайта с применением Ajax. Так, что 4epT будьте осторожны с его применением. Кроме индексации есть серьезные проблемы с юзабилити - некорректная работа кнопок вперед/назад/открыть в новой вкладке/обновить страницу. Невозможность добавить ссылку на конкретный контент в избранное или передать ее другу по ICQ/почте -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
sivak |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 25.5.2012 Репутация: нет Всего: нет |
Так тоже самое происходит как в спринге так и в EJB... на спринге я такое делал, на EJB еще не успел. Это сообщение отредактировал(а) sivak - 2.6.2012, 18:53 |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
GWT не индексируется ? Если не ошибаюсь, то большинство сервисов гугла, написаны на GWT... Спасибо большое, не подумал насчет данных недостатков. подгрузку контента через AJAX уберу ... на будущее так же запомню ) За ссылки большое спасибо, много интересного ) Это сообщение отредактировал(а) 4epT - 2.6.2012, 18:58 |
|||
|
||||
jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 5 Всего: 75 |
В том-то и дело, что это сервисы. Какой смысл в индексации gmail, гуглодокументов, гуглопереводчика? Имхо очень верно сказали выше по треду, любой компонентный ajax-фреймворк начисто убьет индексацию, красивые урлы, кнопку back в браузере и т.д. И пользователи сайта Вам такого пренебрежения не простят, неудобный сайт никогда не станет популярным и высоконагруженным. А раз нет нагрузки, то все рассуждения относительно EJB и преимуществ Glassfish теряют смысл сами собой. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Что тогда можно выбрать в качесте средства для построения UI ?
Как насчет JSF ? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |