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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Какую технологию выбрать? 
:(
    Опции темы
ruFog
Дата 27.6.2008, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте уважаемые форумчане! Прошу помочь советом вашему неопытному коллеге.

Хочу разработать GUI приложение на Java, которое может вот что:
- хранить данные о товарах на локальной машине (название, количество на складе, цена). Для хранения данных я выбрал MySQL;
- выгружать часть данных выбранных пользователем на центральный сервер;
- отгружать эти данные с сервера на локальную машину (в локальную базу данных) модифицировать и отправлять обратно на сервер по требованию пользователя.

Собственно все. Никак не могу определиться с той технологией, которая бы обеспечивала сетевой транспорт данных о товарах. Изначально хотел просто задавать на каждом клиенте в качестве хоста БД - IP моей базу на центральном сервере, но слишком уж медленно это дело будет работать по сети, имхо. Посмотрел в сторону SOAP - слишком сложно для меня + мало документации на русском. Хотя СОАП мне больше всего хотелось бы реализовать для решения этой задачи - удобно внедрять (HTTP траффик пропускают все файерволы безпрепятсвенно). Теперь думаю уже все через SMTP замутить - отправлять письма, обрабатывать на сервере, а через POP спрашивать у сервера что тот наобрабатывал. Сложная схема и даже извращенная (+ время реакции будет большим). Я в замешательстве. Может быть кто-нибудь делал что-то вроде админки для сайта на Java+SWING? Как делали транспорт? Бинарные данные я передавать не буду. Было бы здорово услышать советы тех, кто реализовывал что-нибудь подобное.

Огромное спасибо тем кто дочитал этот пост до конца! smile
PM MAIL   Вверх
AntonSaburov
Дата 27.6.2008, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



А почему бы не передавать прямо объекты (описание товара). Если их сделать Sierializeable то прекрасно по TCP можно перебрасывать через тот же ObjectInputStream/ObjectOutputStream

Хотя прочитал о желании HTTP - и задумался. Надо определить требования к системе. Потому как если HTTP надо, то может SOAP и не так страшно - есть немало библиотек, которые это позволяют делать легко. Заодно и поучиться можно.
PM MAIL WWW ICQ   Вверх
COVD
Дата 27.6.2008, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

Хочу разработать GUI приложение на Java, которое ....


а зачем? "Товары", "склады" - 1С и тому подобное - разве этого мало?  

Цитата

Изначально хотел просто задавать на каждом клиенте в качестве хоста БД - IP моей базу на центральном сервере, но слишком уж медленно это дело будет работать по сети, имхо.


т.е. это двухуровневая архитектура (даже при наличии у клиента локальной базы), когда клиенты соединяются напрямую ( JDBC ) к базе на сервере? Так это решение обеспечит самый быстрый сетевой обмен. Однако если клиенты в интернете (а не в локальной сети), т.е. с большой вероятностью за файерволами, то сокетное TCP соединение,  используемое в JDBC , им будет возможно недоступно.  Тогда - трехуровневая архитектура и в качестве транспортного протокола - HTTP на 80 порт.   
Формат передаваемых данных - бинарный или текстовый - не зависит от транспортного протокола. Отказ от TCP в пользу HTTP/80 дает незначительное увеличение сетевого трафика. А вот переход от "сырых" данных к xml текстам ( SOAP ) может существенно увеличить обьем передаваемой информации. Зато упрощается разработка и поддержка.


Это сообщение отредактировал(а) COVD - 27.6.2008, 16:38
PM MAIL   Вверх
SoulKeeper
Дата 27.6.2008, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.1.2007
Где: Ukraine, Lviv.

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



А для чего на локальной машине MySQL? Это же юзеру надо будет отдельно инсталировать. Не удобно, имхо.

По моему для таких целей вполне сойдет hsqldb или Apache Derby
PM MAIL   Вверх
ruFog
Дата 28.6.2008, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(AntonSaburov @  27.6.2008,  12:46 Найти цитируемый пост)
А почему бы не передавать прямо объекты (описание товара). Если их сделать Sierializeable то прекрасно по TCP можно перебрасывать через тот же ObjectInputStream/ObjectOutputStream

Т.е. реализовать интерфейс Sierializeable у класса, объекты которого я буду передавать? Спасибо! Копну.


Цитата(AntonSaburov @  27.6.2008,  12:46 Найти цитируемый пост)
Хотя прочитал о желании HTTP - и задумался. Надо определить требования к системе. Потому как если HTTP надо, то может SOAP и не так страшно - есть немало библиотек, которые это позволяют делать легко. Заодно и поучиться можно.

Все же SOAP желательнее - файерволы не будут проблемой. Хотя это вобщем-то не самая большая проблема. Если не попрет с SOAP`ом - возьмусь за TCP. В качестве используемой библиотеки остановился на JiBX - она (в отличии от AXIS`a, с коим имел неприятное времяпрепровождение) ориентирована на Document-style.


Цитата(COVD @  27.6.2008,  16:19 Найти цитируемый пост)
а зачем? "Товары", "склады" - 1С и тому подобное - разве этого мало?

Я делаю программу для управления страничками сайта. Задача была сформулирована мной для простоты понимания вопроса. Надеюсь, наоборот, не усложнил smile


Цитата(COVD @  27.6.2008,  16:19 Найти цитируемый пост)
А вот переход от "сырых" данных к xml текстам ( SOAP ) может существенно увеличить обьем передаваемой информации. Зато упрощается разработка и поддержка.

А можете посоветовать какие-нибудь инструменты для разработки под SOAP?

Цитата(SoulKeeper @  27.6.2008,  16:52 Найти цитируемый пост)
По моему для таких целей вполне сойдет hsqldb или Apache Derby

Да, hsqldb - отличный вариант, чтобы пользователь не заморачивался установкой дополнительных програм. А есть для hsqldb что-то вроде phpmyadmin`a?

Большое спасибо всем за такие ценные советы! smile 

Небольшой вопрос. А если у меня на стороне сервера будет простой PHP скрипт (к которому я буду обращаться, скажем, так: http://my.ip.add.res/soapclient). Как я могу отправить POST запрос из своей программы и получить ответ (скорее всего это будет XML, который я демаршализую JiBX`ом) отработвшего PHP скрипта? Для меня этот вариант будет самым простым.


Это сообщение отредактировал(а) ruFog - 28.6.2008, 01:27
PM MAIL   Вверх
w1nd
Дата 28.6.2008, 03:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


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

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



RMI over HTTP?

Это сообщение отредактировал(а) w1nd - 28.6.2008, 03:17


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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