![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Zverek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.7.2005 Репутация: нет Всего: нет |
Здравствуйте!
Подскажите пожалуйста, что мне лучше сделать в следующей ситуации: Небольшой оффтопик - вместо Applet'a у меня есть Java WebStart приложение (толстый клиент, используется Swing). Данное приложение работает с БД Oracle (строки выбираются, вставляются, удаляются и т.д.), коннектится напрямую через JDBC. Появилась необходимость сделать так, чтобы клиент общался с сервером только по Http, соответственно получить прямой коннект к БД не получится, придётся делать трёх звенную структуру приложения. Буду использовать Oracle AS (OC4J контейнер). Пока только размышляю, как это должно работать, поэтому назрело несколько вопросов: 1. Возможно ли это сделать, если клиент будет запускаться из-под Java WebStart ? 2. Как проще всего организовать работу серверной части нового приложения, какие технологии использывать ? 3. Как должны будут общаться между собой клиентская и серверная части (в виде чего будут передаваться данные) ? Заранее большое спасибо всем, кто откликнется! P.S. Я только учусь, поэтому извините меня, если вопросы покажутся глупыми. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 5 Всего: 538 |
1. Да. Java WebStart - это полноценное desktop приложение, так что оно может все, что может Java (даже Oracle установить на локальную машину
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. |
|||
|
||||
| Zverek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.7.2005 Репутация: нет Всего: нет |
LSD, Спасибо большое, за быстрый ответ!
Объём данных небольшой, но зато частота обновлений достаточно большая. Поясню: Перед началом работы данные из БД загружаются в объекты разных классов (в проекте около 15 таблиц, в среднем по 1000 записей). При изменеии, создании, удалении объекта пользователем в процессе работы, приложение вносит соответствующие изменения в БД (выполняет Update, Insert, Delete). В среднем это может происходить раз в 5 секунд для одного пользователя, с числом пользователей затрудняюсь, но скажем их будет 100. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 5 Всего: 538 |
Думаю тут веб сервисы спокойно справятся. Да и вариантов для 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. |
|||
|
||||
| Zverek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.7.2005 Репутация: нет Всего: нет |
Четвёртый день читаю форум, статьи, спецификацию...в голове пока ещё каша, но уже начинает вырисовываться определённая картина.
Появился следующий вопрос. Клиентское и серверное приложение будут написаны на Java, нельзя ли исходя из этого использовать RMI (он вроде бы как побыстрее и попроще WS)? В исходных данных по задаче написал, что обязательное условие - передача по Http, но на самом деле просто необходима передача данных по 80 порту (сисадмин не согласен открывать другие порты). Т.е. возможна ли работа с RMI по 80 порту (или там есть ограничение, если не путаю с 1023 порта)? |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Думаю тебе есть смысл использовать не SOAP, какие-нибудь вебсервисы попроще, например, XML-RPC, Hessian или Burlap. Работать с ними еще проще чем с RMI, правда первый протокол крайней ограничен в смысле типов данных, а вот Hessian или Burlap думаю очень даже подойдут. |
|||
|
||||
| Zverek |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.7.2005 Репутация: нет Всего: нет |
tux, Вот спасибо!
Только что скачал библиотеку Burlap/Hessian, читаю спецификацию по ним. Уже склонялся к мысли использовать именно их, но ещё сомневался. Но теперь, после Вашего совета, сомнений не осталось, инструмент выбран, буду дерзать. Подскажите, в каком случае лучше использывать Burlap, а в каком Hessian ? LSD, tux, Большое спасибо за помощь! И всем форумчанам за множество познавательных тем. Это сообщение отредактировал(а) Zverek - 1.11.2006, 13:55 |
|||
|
||||
| tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Hessian точно более эффективен при передаче двоичных данных, а так они практически идентичны.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |