|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
WebPrj : 72 Новичок
|
Янв 18, 2012 9:05 |
|
|
Собственно как использовать модель не Сессия на реквест, а сессия на сессию.
Сайт не публичный. а корпоратив, т.е. аналог десктопа на веб.
Нужно! |
|
|
|
 |
WebPrj : 72 Новичок
|
Янв 18, 2012 10:19 |
|
|
я так понял, разговоры о стирании границ Веб и Десктоп - реклама.
Разговоры о Rich ГУИ в Веб тоже реклама  |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Янв 18, 2012 12:54 |
|
|
И на основании чего Вы это поняли? _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
WebPrj : 72 Новичок
|
Янв 18, 2012 13:23 |
|
|
издалека заходите
На основании, что весь веб работает Сессия на реквест.
А нужно минимум сессия на VIEW или Сессия на Сессию. |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Янв 19, 2012 11:41 |
|
|
Не нужно. Rich GUI в web совершенно не требует сессии на несколько запросов.
P.S. Граница между web и desktop не может быть стерта даже теоретически, ввиду совершенно разной модели работы пользователя. _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
WebPrj : 72 Новичок
|
Янв 20, 2012 8:24 |
|
|
у вас первый вопрос противоречит второму.
- Я говорил "Нужно!", если не верите, могу дать ТЗ
- Именно границу трудно стереть, т.к. есть такие ТЗ - хранить состояние между реквестами.
---
ТЗ типа корзины покупателя, но _сложный объекты_
- Аналог карточки Работника в 1С с множеством вкладок и ОДНОЙ кнопкой ОК\Отмена.
Т.е. длинные бизнес-транцакции |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Янв 20, 2012 16:49 |
|
|
| WebPrj писал(а): |
у вас первый вопрос противоречит второму.
- Я говорил "Нужно!", если не верите, могу дать ТЗ
- Именно границу трудно стереть, т.к. есть такие ТЗ - хранить состояние между реквестами.
|
ТЗ меня не интересует. На заборе тоже написано известно что. А за ним совсем не это, а вовсе даже стройка. Я такие ТЗ видел, что жуть берет.
Я утверждаю со всей ответственностью, что можно построить эмуляцию длинных транзакций БЕЗ растягивания сессии на несколько запросов. _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
Vermut : 1062 Завсегдатай Откуда: Ростов-на-Дону
|
Янв 20, 2012 23:06 |
|
|
| WebPrj писал(а): |
- Аналог карточки Работника в 1С с множеством вкладок и ОДНОЙ кнопкой ОК\Отмена.
Т.е. длинные бизнес-транцакции |
Функционал нужен для ГУИ, разумно и решать его на уровне ГУИ. Проблема ломанного гроша не стоит: считал карточку работника из базы, получил из неё ДТО, всё на этом закрыл сессию и в базу уже обращаешься только если тебе нужно докачать какие-нибудь ленивые данные, а так пока пользователь не нажал кнопку сохранить пусть редактирует ДТО, когда нажмет сохранить тогда выполнишь все изменения в одной транзакции. В случае если у тебя гуй на GWT или целиком на javascript, то можно вместо HTTP сессии хранить промежуточные данные прям в браузере, то есть серверную часть можно полностью сделать stateless, доведя таким образом возможности масштабирования практически до бесконечности.
А тот кто принуждает Вас решать задачу средствами hibernate пусть пойдет и застрелиться, потому что как только появиться лоад балансинг и серверов приложений станет больше чем один, сразу возникнуть вопросы, а как эту hibernate сессию реплицировать(сериализовать) между серверами приложений  _________________ Познакомлюсь с привлекательной Ростовчанкой для совместного изучения Java |
|
|
|
 |
Vermut : 1062 Завсегдатай Откуда: Ростов-на-Дону
|
Янв 21, 2012 14:49 |
|
|
| WebPrj писал(а): |
я так понял, разговоры о стирании границ Веб и Десктоп - реклама.
Разговоры о Rich ГУИ в Веб тоже реклама  |
То есть Вы считаете что, google со своим GWT и potix со своим ZK занимаются чистой воды мистификацией на уровне Коперфилда? _________________ Познакомлюсь с привлекательной Ростовчанкой для совместного изучения Java |
|
|
|
 |
WebPrj : 72 Новичок
|
Янв 22, 2012 11:09 |
|
|
| Skipy писал(а): |
Я утверждаю со всей ответственностью, что можно построить эмуляцию длинных транзакций БЕЗ растягивания сессии на несколько запросов. |
да я не против, только не выходит каменный цветок без оверхеда. |
|
|
|
 |
WebPrj : 72 Новичок
|
Янв 22, 2012 11:18 |
|
|
| Vermut писал(а): |
| WebPrj писал(а): |
- Аналог карточки Работника в 1С с множеством вкладок и ОДНОЙ кнопкой ОК\Отмена.
Т.е. длинные бизнес-транцакции |
Функционал нужен для ГУИ, разумно и решать его на уровне ГУИ.
==== ГУИ тонкий клиент = не разумно решать на гуи
считал карточку работника из базы,
=== в БД нет карточки работника в виде отдельной сущности. Это составная БИЗНЕС сущность из 5-7 сущностей
получил из неё ДТО,
===== борльшинство свойств - ленивый с прокси
всё на этом закрыл сессию и в базу уже обращаешься только если тебе нужно докачать какие-нибудь ленивые данные,
===== докачка отдельными сессиями по AJAX в другой транзакции?
или целиком на javascript,
==== нет. У меня MVC, тонкий клиент. Объекты сложные.
|
В том то и дело, что длинные транзакции на десктопе применяют не от балды, а именно при сложных объектах.
Очень интересно, как это обойти в веб.
Доп.вопрос - как при подгрузке лази полей делать и фильтровать к ОРМ вместо БД? Если транзакциия не закрыта - кн OK он не нажимал. |
|
|
|
 |
Vermut : 1062 Завсегдатай Откуда: Ростов-на-Дону
|
Янв 22, 2012 11:50 |
|
|
Я вам очень простой но железо-бетонно работающий способ подскажу: перестаньте работать с персистентными объектами в GUI и все ваши проблемы сами собой решаться, это не реклама и не сетевой маркетинг, это действительно работает. Когда мне это самому сказали, я вначале не поверил, что еще за глупости писать лишний классы для DTO, но потом проверил оказалось, что это действительно работает. Поэтому просто напиши классы для ДТО, они даже не обязательно должны полностью совпадать с доменными классами, делай их максимально удобными для редактирования. Потом запости исходные коды в сеть и дай ссылки на них десяти своим знакомым и на эту тему то же, и пусть они сделают то же самое. И тогда проблемы длинных транзакций в вебе будут для тебя решены. Ещё есть рассово правильная книга Pojo In Action, в ней расписано на каких уровнях разрешено работать с классами сохраняемыми в базе, и на каких нужно воспользоваться ДТО.
Сейчас же вы забиваете голову вопросами, которые вообще не нужно решать, при правильной архитектуре они отсутствуют. _________________ Познакомлюсь с привлекательной Ростовчанкой для совместного изучения Java |
|
|
|
 |
WebPrj : 72 Новичок
|
Янв 22, 2012 12:26 |
|
|
| Vermut писал(а): |
| лишний классы для DTO, но потом проверил оказалось, что это действительно работает. Поэтому просто напиши классы для ДТО, |
- руками писать? Это реально делать ещё одну копию Модели.
А при добавлении свойства Адрес в ГУИ я должен эти классы DTO править?
- вы не ответили. Как делать запросы и фильтры УТОЧНЯЮЩИЕ с гуи для этого DTO. Запросы на LAZY то идут к БД.
Т.е. изорляция транзакции не работает.
ТЗ вы не выполните? |
|
|
|
 |
WebPrj : 72 Новичок
|
Янв 22, 2012 12:27 |
|
|
в сети много чего есть.
Даже такой изврат, как пройти рекурсивно по lazy полям и инициализировать их до 15-го колена. |
|
|
|
 |
WebPrj : 72 Новичок
|
Янв 22, 2012 12:32 |
|
|
|
|
|
|
 |
|
|
|