Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / WEB интерфейс / 25 сообщений из 59, страница 1 из 3
28.09.2007, 11:40:21
    #34833966
Чендлер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Приходится разрабатывать веб интерфейс. Никогда ранее веб интерфейс при помощи jsp не писал. Архитектура система трёх уровневая (субд, сервер приложений, браузер). С какой стороны ко всему этому подходить? Как решить проблему с блокировкой данных, если пользователь начал редактировать чтото то другой пользователь не должен редактировать теже самые данные. Ка это можно сделать? еслибы интерфейс был гуишный то всё понятно - установил соединение, сделал селект фор апдейт и всё.
...
Рейтинг: 0 / 0
28.09.2007, 11:49:42
    #34834006
am_sasa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Чендлер С какой стороны ко всему этому подходить? сторон много, начинать надо с хелло ворлд для веб, а дальше сам разберешься! и читать...читать...читать... а потом уже конкретные вопросы в форум! думую с этой стороны)))
...
Рейтинг: 0 / 0
28.09.2007, 14:53:25
    #34834935
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Для начала изучить обзорно многообразие существующих решений.
JSP, JSF, Wicket, Spring MVC, Velocity, Struts 2, Tapestry, GWT и пр.
Остановится на одном понравившемся.

SELECT FOR UPDATE, конечно хорошо. Но советую подтянуть теорию в плане оптимистичных, пессимистичных локов и какой когда лучше пользовать.
После этого посмотреть java.util.concurrent и научится применять локи и другие средства синхронизации в коде так же хорого как и в базе.
...
Рейтинг: 0 / 0
28.09.2007, 15:08:27
    #34835004
GKS_Samara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Blazkowicz wrote:

> Для начала изучить обзорно многообразие существующих решений.
> JSP, JSF, Wicket, Spring MVC, Velocity, Struts 2, Tapestry, GWT и пр.
> Остановится на одном понравившемся.

Кстати, а как выбирать? Т.е. как понять, что же лучше для конкретного
применения/разработчика?

--
Алексей
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
28.09.2007, 15:43:46
    #34835175
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
GKS_Samara
> Для начала изучить обзорно многообразие существующих решений.
> JSP, JSF, Wicket, Spring MVC, Velocity, Struts 2, Tapestry, GWT и пр.
> Остановится на одном понравившемся.

Кстати, а как выбирать? Т.е. как понять, что же лучше для конкретного
применения/разработчика?

Универсального рецепта конечно же нет. Надо долго и нудно анализировать требования проекта сравнивая с сильными и слабыми сторонами каждого подхода.
Если бы я программил просто развлечь себя любимого, то взял бы Spring MVC + Freemarker
Если бы я программил с целью прокачать скиллы чтобы найти себе любую работу в скором времени, то JSF.
Если бы я программил портал, то посмотрел был в сторону Wicket.
К Tapestry лично у меня душа больше не лежит. Не смотря на все заверения что этот проект стал лучше.
GWT, классное решение, но надо понимать его узкую специализацию.
...
Рейтинг: 0 / 0
28.09.2007, 15:49:02
    #34835197
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
База это JSP и servlets насколько я понимаю. Читай спецификацию (можно найти где то на сайте sun), написано хоть и по английски но довольно понятно и просто. А потом уже и JSF можно.
...
Рейтинг: 0 / 0
28.09.2007, 16:30:21
    #34835368
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
AndronБаза это JSP и servlets насколько я понимаю. Читай спецификацию (можно найти где то на сайте sun), написано хоть и по английски но довольно понятно и просто. А потом уже и JSF можно.
База это сервлеты, JSP и JSF это вот
...
Рейтинг: 0 / 0
01.10.2007, 11:47:58
    #34837915
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Blazkowicz... JSP и JSF это вот

Netbeans 5.0 и старше + VisualWeb Pack как мне кажется немного решает проблему или я что то не понимаю?
...
Рейтинг: 0 / 0
01.10.2007, 11:53:20
    #34837934
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Я бы даже нарисовал так: чувак в куртке с надписью NetBeans разрезает саперными ножницами цепи :)
...
Рейтинг: 0 / 0
02.10.2007, 19:04:52
    #34842073
Java Programmer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
BlazkowiczДля начала изучить обзорно многообразие существующих решений.
JSP, JSF, Wicket, Spring MVC, Velocity, Struts 2, Tapestry, GWT и пр.
Остановится на одном понравившемся.

SELECT FOR UPDATE, конечно хорошо. Но советую подтянуть теорию в плане оптимистичных, пессимистичных локов и какой когда лучше пользовать.
После этого посмотреть java.util.concurrent и научится применять локи и другие средства синхронизации в коде так же хорого как и в базе.

я думаю надо начинать со спринговой транзакционности и hibernate
...
Рейтинг: 0 / 0
03.10.2007, 04:30:12
    #34842505
Чендлер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Blazkowiczкоде так же хорого как и в базе.
База одна, приложений много, поэтому хотелось бы локи делать на уровне базы.
...
Рейтинг: 0 / 0
03.10.2007, 12:11:02
    #34843281
Stub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Чендлер Blazkowiczкоде так же хорого как и в базе.
База одна, приложений много, поэтому хотелось бы локи делать на уровне базы.

Наскока я понимаю база в локах не нуждается. Каждое обращение к базе происходит из набора запросов обьедененое в транзакцию. Каждая транзакция с точки зрения выполнения являеться унарной. Тоесть одновременно две транзакции выполняться не могут чтоб не нарушить целосность.
Существует 4 уровневая система изоляций транзакций(ACID).
Сдесь уже нада сматреть какая лучше подходит.

Нада за один запрос открыл сессию транзакцию закрыл сессию транзакцию IMHO

У spring-а есть утила которые сама занимаеться сессиями и транзакциями.
Если что все шишки на разработчиков Spring :-)

http://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B0%D0%BD%D0%B7%D0%B0%D0%BA%D1%86%D0%B8%D1%8F
...
Рейтинг: 0 / 0
03.10.2007, 12:13:26
    #34843293
Stub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Stub
Нада за один запрос открыл сессию транзакцию закрыл сессию транзакцию IMHO

Наверно не ясно написал:
в начале запроса открываеться(сессия, транзакция) по окончанию закрываеться IMHO

P.S.
Плохо что не предусмотрена правка постов. :-(
...
Рейтинг: 0 / 0
03.10.2007, 12:20:42
    #34843333
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
StubТоесть одновременно две транзакции выполняться не могут чтоб не нарушить целосность.Вот это новость.
...
Рейтинг: 0 / 0
03.10.2007, 12:36:47
    #34843405
Stub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
pamir StubТоесть одновременно две транзакции выполняться не могут чтоб не нарушить целосность.Вот это новость.

Какой тады от них смысл.
...
Рейтинг: 0 / 0
03.10.2007, 12:50:31
    #34843473
Stub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Stub pamir StubТоесть одновременно две транзакции выполняться не могут чтоб не нарушить целосность.Вот это новость.

Какой тады от них смысл.

Какой смысл от транзакций если они одновременно редактируют одни те же данные. Возникнут колизии и много чего не хорошего.


P.S. Сто пудов нужна правка постов. :-)
...
Рейтинг: 0 / 0
03.10.2007, 12:56:45
    #34843499
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
StubКакой смысл от транзакций если они одновременно редактируют одни те же данные. Возникнут колизии и много чего не хорошего.Вот для разруливания коллизий и существуют блокировки. Которые бывают пессимистические и оптимистические. И ими рулит обычно программист. Потому как редко бывает, чтобы правили одни и те же данные. Во всяком случае гораздо реже, чем когда множество параллельных транзакций правят разные данные. Что будет, если пустить их по очереди?
Все это применительно к версионникам. У блокировочников (MSSQL) все как-то иначе, но их я не знаю.
...
Рейтинг: 0 / 0
03.10.2007, 13:10:38
    #34843548
Stub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
pamir StubКакой смысл от транзакций если они одновременно редактируют одни те же данные. Возникнут колизии и много чего не хорошего.Вот для разруливания коллизий и существуют блокировки. Которые бывают пессимистические и оптимистические. И ими рулит обычно программист. Потому как редко бывает, чтобы правили одни и те же данные. Во всяком случае гораздо реже, чем когда множество параллельных транзакций правят разные данные. Что будет, если пустить их по очереди?
Все это применительно к версионникам. У блокировочников (MSSQL) все как-то иначе, но их я не знаю.

optimistic concurrency control

если прально понял то это нечто вроде

REQUEST1
TRANSACTION BEGIN
applicationVar=DataRead
TRANSACTION END
RESPONSE applicationVar

REQUEST2
TRANSACTION BEGIN
DataWrite applicationVar //- место колизии
TRANSACTION END
RESPONSE applicationVar
...
Рейтинг: 0 / 0
03.10.2007, 13:23:39
    #34843608
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Stubесли прально понял то это нечто вроде
Вот
...
Рейтинг: 0 / 0
04.10.2007, 01:16:05
    #34845309
Stub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
pamir StubКакой смысл от транзакций если они одновременно редактируют одни те же данные. Возникнут колизии и много чего не хорошего.Вот для разруливания коллизий и существуют блокировки. Которые бывают пессимистические и оптимистические. И ими рулит обычно программист. Потому как редко бывает, чтобы правили одни и те же данные. Во всяком случае гораздо реже, чем когда множество параллельных транзакций правят разные данные. Что будет, если пустить их по очереди?
Все это применительно к версионникам. У блокировочников (MSSQL) все как-то иначе, но их я не знаю.

http://www.hibernate.org/hib_docs/reference/en/html/transactions.html (Pessimistic Locking)
Сдесь кажысь тоже кое что есть.
...
Рейтинг: 0 / 0
04.10.2007, 11:20:44
    #34846037
pamir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Stub pamir StubКакой смысл от транзакций если они одновременно редактируют одни те же данные. Возникнут колизии и много чего не хорошего.Вот для разруливания коллизий и существуют блокировки. Которые бывают пессимистические и оптимистические. И ими рулит обычно программист. Потому как редко бывает, чтобы правили одни и те же данные. Во всяком случае гораздо реже, чем когда множество параллельных транзакций правят разные данные. Что будет, если пустить их по очереди?
Все это применительно к версионникам. У блокировочников (MSSQL) все как-то иначе, но их я не знаю.

http://www.hibernate.org/hib_docs/reference/en/html/transactions.html (Pessimistic Locking)
Сдесь кажысь тоже кое что есть.Судя по названию сайта (по ссылке не ходил) там будет описание уже в терминах хибернейта. Я же говорил о "чистой" базе. А всякие обертки нужно уже смотреть, как они реализованы.
...
Рейтинг: 0 / 0
04.10.2007, 17:31:29
    #34847602
TiG
TiG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
pamir Stub pamir StubКакой смысл от транзакций если они одновременно редактируют одни те же данные. Возникнут колизии и много чего не хорошего.Вот для разруливания коллизий и существуют блокировки. Которые бывают пессимистические и оптимистические. И ими рулит обычно программист. Потому как редко бывает, чтобы правили одни и те же данные. Во всяком случае гораздо реже, чем когда множество параллельных транзакций правят разные данные. Что будет, если пустить их по очереди?
Все это применительно к версионникам. У блокировочников (MSSQL) все как-то иначе, но их я не знаю.

http://www.hibernate.org/hib_docs/reference/en/html/transactions.html (Pessimistic Locking)
Сдесь кажысь тоже кое что есть.Судя по названию сайта (по ссылке не ходил) там будет описание уже в терминах хибернейта. Я же говорил о "чистой" базе. А всякие обертки нужно уже смотреть, как они реализованы.
На самом деле не важно на каком уровне реализованы транзакции и блокировки (правда в данном случаев они естественно должны быть в БД). Смысл понятий "оптимистическая" и "пессимистическая блокировка" от этого не меняется.
Любая система расчитанная на сколько-нибудь серьезную нагрузку при параллельной работе и с серьезными требованиями по масштабированию должна по максимуму использовать оптимистическое блокирование. Особенно в долгих транзакциях. Пессимистические блокировки должны использоваться только тогда, когда это реально обосновано.
...
Рейтинг: 0 / 0
04.10.2007, 17:41:42
    #34847629
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
TiGНа самом деле не важно на каком уровне реализованы транзакции и блокировки (правда в данном случаев они естественно должны быть в БД). Смысл понятий "оптимистическая" и "пессимистическая блокировка" от этого не меняется.
Любая система расчитанная на сколько-нибудь серьезную нагрузку при параллельной работе и с серьезными требованиями по масштабированию должна по максимуму использовать оптимистическое блокирование. Особенно в долгих транзакциях. Пессимистические блокировки должны использоваться только тогда, когда это реально обосновано.
Все верно, но стоит так же отметить что вынесение блокировок с уровня базы на уровень приолжения, довольно позитивно влияет на приложение в целом.
...
Рейтинг: 0 / 0
04.10.2007, 17:50:05
    #34847666
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Blazkowicz TiGНа самом деле не важно на каком уровне реализованы транзакции и блокировки (правда в данном случаев они естественно должны быть в БД). Смысл понятий "оптимистическая" и "пессимистическая блокировка" от этого не меняется.
Любая система расчитанная на сколько-нибудь серьезную нагрузку при параллельной работе и с серьезными требованиями по масштабированию должна по максимуму использовать оптимистическое блокирование. Особенно в долгих транзакциях. Пессимистические блокировки должны использоваться только тогда, когда это реально обосновано.
Все верно, но стоит так же отметить что вынесение блокировок с уровня базы на уровень приолжения, довольно позитивно влияет на приложение в целом .
Тебе не повезло с СУБД

Любое изменение БД влечет за собой некоторое блокирование на каком-то уровне. Когда сюда добавляется попытка организации блокировок на стороне апликейшна (опять же стоит вспоминить о кластере) возникает масса забавных ситуаций.
Распределенный дедлок - что может быть лучше Кто его будет ресолвить?
[нормальная ;)] СУБД сделает фсе сама.
...
Рейтинг: 0 / 0
04.10.2007, 18:03:41
    #34847726
TiG
TiG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WEB интерфейс
Timm Blazkowicz TiGНа самом деле не важно на каком уровне реализованы транзакции и блокировки (правда в данном случаев они естественно должны быть в БД). Смысл понятий "оптимистическая" и "пессимистическая блокировка" от этого не меняется.
Любая система расчитанная на сколько-нибудь серьезную нагрузку при параллельной работе и с серьезными требованиями по масштабированию должна по максимуму использовать оптимистическое блокирование. Особенно в долгих транзакциях. Пессимистические блокировки должны использоваться только тогда, когда это реально обосновано.
Все верно, но стоит так же отметить что вынесение блокировок с уровня базы на уровень приолжения, довольно позитивно влияет на приложение в целом .
Тебе не повезло с СУБД

Любое изменение БД влечет за собой некоторое блокирование на каком-то уровне. Когда сюда добавляется попытка организации блокировок на стороне апликейшна (опять же стоит вспоминить о кластере) возникает масса забавных ситуаций.
Распределенный дедлок - что может быть лучше Кто его будет ресолвить?
[нормальная ;)] СУБД сделает фсе сама.
угу, причем блокировки в БД при изменении данных никуда ведь не денутся. одна сессия держит другую на уровне БД, а та первую - на стороне приложения вот уж точно никакой deadlock detection ни в БД ни в приложении не поможет
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / WEB интерфейс / 25 сообщений из 59, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]