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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Из двухзвенки в трехзвенку, переделать существующую программу 
V
    Опции темы
Zverek
Дата 30.10.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!
Подскажите пожалуйста, что мне лучше сделать в следующей ситуации:
Небольшой оффтопик - вместо Applet'a у меня есть Java WebStart приложение (толстый клиент, используется Swing). Данное приложение работает с БД Oracle (строки выбираются, вставляются, удаляются и т.д.), коннектится напрямую через JDBC.
Появилась необходимость сделать так, чтобы клиент общался с сервером только по Http, соответственно получить прямой коннект к БД не получится, придётся делать трёх звенную структуру приложения. Буду использовать Oracle AS (OC4J контейнер).

Пока только размышляю, как это должно работать, поэтому назрело несколько вопросов:
1. Возможно ли это сделать, если клиент будет запускаться из-под Java WebStart ?
2. Как проще всего организовать работу серверной части нового приложения, какие технологии использывать ?
3. Как должны будут общаться между собой клиентская и серверная части (в виде чего будут передаваться данные) ?

Заранее большое спасибо всем, кто откликнется!

P.S. Я только учусь, поэтому извините меня, если вопросы покажутся глупыми.

PM MAIL   Вверх
LSD
Дата 30.10.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



1. Да. Java WebStart - это полноценное desktop приложение, так что оно может все, что может Java (даже Oracle установить на локальную машину smile )
2. Проще всего наверно веб сервисы, хотя это зависит от объема передаваемых данных и частоты запросов.
3. Вариантов море, надо поподробней о задаче.

Единственное чего не стоит делать, это пытаться пренести приложение "как есть". Т.е. не стоит просто гнать DML через сеть, надо пересмотреть логику работы приложения.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Zverek
Дата 30.10.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



LSD, Спасибо большое, за быстрый ответ!

Цитата(LSD @  30.10.2006,  13:14 Найти цитируемый пост)
2. Проще всего наверно веб сервисы, хотя это зависит от объема передаваемых данных и частоты запросов.

Объём данных небольшой, но зато частота обновлений достаточно большая. Поясню: Перед началом работы данные из БД загружаются в объекты разных классов (в проекте около 15 таблиц, в среднем по 1000 записей). При изменеии, создании, удалении объекта пользователем в процессе работы, приложение вносит соответствующие изменения в БД (выполняет Update, Insert, Delete). В среднем это может происходить раз в 5 секунд для одного пользователя, с числом пользователей затрудняюсь, но скажем их будет 100.
PM MAIL   Вверх
LSD
Дата 30.10.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(Zverek @  30.10.2006,  15:12 Найти цитируемый пост)
Объём данных небольшой, но зато частота обновлений достаточно большая. Поясню: Перед началом работы данные из БД загружаются в объекты разных классов (в проекте около 15 таблиц, в среднем по 1000 записей). При изменеии, создании, удалении объекта пользователем в процессе работы, приложение вносит соответствующие изменения в БД (выполняет Update, Insert, Delete). В среднем это может происходить раз в 5 секунд для одного пользователя, с числом пользователей затрудняюсь, но скажем их будет 100.

Думаю тут веб сервисы спокойно справятся. Да и вариантов для HTTP не так много.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Zverek
Дата 1.11.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Четвёртый день читаю форум, статьи, спецификацию...в голове пока ещё каша, но уже начинает вырисовываться определённая картина.

Появился следующий вопрос. Клиентское и серверное приложение будут написаны на Java, нельзя ли исходя из этого использовать RMI (он вроде бы как побыстрее и попроще WS)? 
В исходных данных по задаче написал, что обязательное условие - передача по Http, но на самом деле просто необходима передача данных по 80 порту (сисадмин не согласен открывать другие порты). Т.е. возможна ли работа с RMI по 80 порту (или там есть ограничение, если не путаю с 1023 порта)?
PM MAIL   Вверх
tux
Дата 1.11.2006, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Цитата(Zverek @  1.11.2006,  11:08 Найти цитируемый пост)
Клиентское и серверное приложение будут написаны на Java, нельзя ли исходя из этого использовать RMI (он вроде бы как побыстрее и попроще WS)? 

Думаю тебе есть смысл использовать не SOAP, какие-нибудь вебсервисы попроще, например, XML-RPC, Hessian или Burlap. Работать с ними еще проще чем с RMI, правда первый протокол крайней ограничен в смысле типов данных, а вот Hessian или Burlap думаю очень даже подойдут.
PM MAIL Skype GTalk Jabber YIM   Вверх
Zverek
Дата 1.11.2006, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



tux, Вот спасибо!
Только что скачал библиотеку Burlap/Hessian, читаю спецификацию по ним.
Уже склонялся к мысли использовать именно их, но ещё сомневался. Но теперь, после Вашего совета, сомнений не осталось, инструмент выбран, буду дерзать.

Подскажите, в каком случае лучше использывать Burlap, а в каком Hessian ?

LSD, tux, Большое спасибо за помощь! И всем форумчанам за множество познавательных тем. smile 

Это сообщение отредактировал(а) Zverek - 1.11.2006, 13:55
PM MAIL   Вверх
tux
Дата 1.11.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



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


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

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