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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Взаимодействие JavaFX с сервером и БД, Как оно правильно организовывается? 
:(
    Опции темы
lamao
Дата 29.6.2009, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вот решил посмотреть, что это за чудо - JavaFX (до этого ни с Flash, ни с Flex дела не имел). Понравилось. Как для заявленных задач, очень даже неплохо. Написал простенькое приложение игры в крестики-нолики. Дальше захотелось больше. 

Допустим у нас есть игра типа тетрис. Т.е. пользователь что-то там делает, а потом результат сохраняется в БД и ведется рейтинг игроков (который можно просмотреть прямо из игры). 

Внимание вопрос: как правильно организовать такое взаимодействие? Имею некоторый опыт использования jsp+сервлетов+EJB (делал что-то типа электронного каталога библиотеки). Бины, я так понимаю, находятся у нас на сервере и достучатся с клиента нельзя (?). А напрямую писать запросы SQL как-то неправильо.

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

Прошу направить меня в какую сторону копать.
PM MAIL WWW   Вверх
frikey
Дата 29.6.2009, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior Sys Engineer



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.10.2008
Где: Russia, Samara

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



Насчёт рейтинга в БД. А что мещает написать обычный java класс, в котором прописан доступ к БД?
PM MAIL WWW ICQ Skype GTalk   Вверх
lamao
Дата 29.6.2009, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(frikey @ 29.6.2009,  15:45)
Насчёт рейтинга в БД. А что мещает написать обычный java класс, в котором прописан доступ к БД?

В принципе, ничто не мешает, но я бы хотел узнать, какие есть общие подходы к взаимодействию клиента на javafx (flash, flex) и БД (или сервером в общем случае). Конечно, можно написать сервисный клас, который будет делать запросы вида "select ... from ...". Но я думаю, что это не совсем правильно. Вот, например при написании ЕЕ или web приложений используют бины. А какую "прослойку" используют в javafx? Мне бы хотелось работать з данным из БД как с обычными обьектами (POJO), а не разбирать результат руками после каждого запроса. 

P.S. Надеюсь, не сильно витеивато обьясняю.  smile 
PM MAIL WWW   Вверх
COVD
Дата 29.6.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



lamao, наверное, в javafx есть HttpURLConnection класс? Тогда эти вопросы решаются также, как и в обычных java клиентских приложениях. 
PM MAIL   Вверх
lamao
Дата 30.6.2009, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(COVD @ 29.6.2009,  20:33)
lamao, наверное, в javafx есть HttpURLConnection класс? Тогда эти вопросы решаются также, как и в обычных java клиентских приложениях.

Не совсем понял, что имеется ввиду (я же говорю, имею достаточно поверхностные знания в этом деле). smile 
Т.е. мы берем пишем сервлет, который при вызове достает информацию из БД и выводит через httpresponse ответ.  Его то мы и считываем на клиенте (ну и парсим как нам надо). Так? Это чудо и называется Web Services? 

Но даже при таком подходе не ясно, как сделать, если при измениие БД необходимо тут же оповестить других клиентов, например при том же морском бое.

Я так чувствую, придется еще почитать теории. Направте, пожалуйста. А то даже не знаю, в каком направлении искать. 
PM MAIL WWW   Вверх
lamao
Дата 30.6.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вот нашел две статьи:
http://blogs.sun.com/NetBeansSupport/entry..._database_using
http://ahola.homeip.net/javafxapplet/article/index.html

Буду пробовать. Это оно? 
PM MAIL WWW   Вверх
Maksym
Дата 2.7.2009, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



За выполнением JavaFX скрипта стоит обычный java код, выполняющийся внутри JWS контейнера. Поэтому из JavaFX кода обычным способом можно вызывать методы обычного java класса, который уже привычным нам способом сделает все что нужно. А вернее все, что ему будет позволено контейнером в рамках секьюрити контекста; но если пользователь доверился вашему приложению, то оно сможет все: открывать сокеты на удаленные машины, писать на диск и т.п.
Приходилось делать простенькое демо приложение, которое:
  • загружалось клиенту как JavaFX приложение 
  • отображалось как элемент веб страницы в браузере,
  • обменивалось данными с сервером используя легковесные вызовы Hessian WS (штука старая, но простая и надежная)
  • в офлайн (запуск через сохраненный jnlp файл) работало с локальной базой (JavaDB aka Derby)

ЗЫ. Статьи так себе. Второе вообще какой-то хак. Напиши обычное консольное приложение, которое будет обмениваться с сервером нужными данными, а завернуть его в JavaFX будет просто.

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

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

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


 




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


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

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