![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| ruFog |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 5.5.2008 Репутация: нет Всего: нет |
Здравствуйте уважаемые форумчане! Прошу помочь советом вашему неопытному коллеге.
Хочу разработать GUI приложение на Java, которое может вот что: - хранить данные о товарах на локальной машине (название, количество на складе, цена). Для хранения данных я выбрал MySQL; - выгружать часть данных выбранных пользователем на центральный сервер; - отгружать эти данные с сервера на локальную машину (в локальную базу данных) модифицировать и отправлять обратно на сервер по требованию пользователя. Собственно все. Никак не могу определиться с той технологией, которая бы обеспечивала сетевой транспорт данных о товарах. Изначально хотел просто задавать на каждом клиенте в качестве хоста БД - IP моей базу на центральном сервере, но слишком уж медленно это дело будет работать по сети, имхо. Посмотрел в сторону SOAP - слишком сложно для меня + мало документации на русском. Хотя СОАП мне больше всего хотелось бы реализовать для решения этой задачи - удобно внедрять (HTTP траффик пропускают все файерволы безпрепятсвенно). Теперь думаю уже все через SMTP замутить - отправлять письма, обрабатывать на сервере, а через POP спрашивать у сервера что тот наобрабатывал. Сложная схема и даже извращенная (+ время реакции будет большим). Я в замешательстве. Может быть кто-нибудь делал что-то вроде админки для сайта на Java+SWING? Как делали транспорт? Бинарные данные я передавать не буду. Было бы здорово услышать советы тех, кто реализовывал что-нибудь подобное. Огромное спасибо тем кто дочитал этот пост до конца! |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
А почему бы не передавать прямо объекты (описание товара). Если их сделать Sierializeable то прекрасно по TCP можно перебрасывать через тот же ObjectInputStream/ObjectOutputStream
Хотя прочитал о желании HTTP - и задумался. Надо определить требования к системе. Потому как если HTTP надо, то может SOAP и не так страшно - есть немало библиотек, которые это позволяют делать легко. Заодно и поучиться можно. |
|||
|
||||
| COVD |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
а зачем? "Товары", "склады" - 1С и тому подобное - разве этого мало?
т.е. это двухуровневая архитектура (даже при наличии у клиента локальной базы), когда клиенты соединяются напрямую ( JDBC ) к базе на сервере? Так это решение обеспечит самый быстрый сетевой обмен. Однако если клиенты в интернете (а не в локальной сети), т.е. с большой вероятностью за файерволами, то сокетное TCP соединение, используемое в JDBC , им будет возможно недоступно. Тогда - трехуровневая архитектура и в качестве транспортного протокола - HTTP на 80 порт. Формат передаваемых данных - бинарный или текстовый - не зависит от транспортного протокола. Отказ от TCP в пользу HTTP/80 дает незначительное увеличение сетевого трафика. А вот переход от "сырых" данных к xml текстам ( SOAP ) может существенно увеличить обьем передаваемой информации. Зато упрощается разработка и поддержка. Это сообщение отредактировал(а) COVD - 27.6.2008, 16:38 |
||||
|
|||||
| SoulKeeper |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.1.2007 Где: Ukraine, Lviv. Репутация: 11 Всего: 15 |
А для чего на локальной машине MySQL? Это же юзеру надо будет отдельно инсталировать. Не удобно, имхо.
По моему для таких целей вполне сойдет hsqldb или Apache Derby |
|||
|
||||
| ruFog |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 5.5.2008 Репутация: нет Всего: нет |
Т.е. реализовать интерфейс Sierializeable у класса, объекты которого я буду передавать? Спасибо! Копну. Все же SOAP желательнее - файерволы не будут проблемой. Хотя это вобщем-то не самая большая проблема. Если не попрет с SOAP`ом - возьмусь за TCP. В качестве используемой библиотеки остановился на JiBX - она (в отличии от AXIS`a, с коим имел неприятное времяпрепровождение) ориентирована на Document-style.
Я делаю программу для управления страничками сайта. Задача была сформулирована мной для простоты понимания вопроса. Надеюсь, наоборот, не усложнил
А можете посоветовать какие-нибудь инструменты для разработки под SOAP?
Да, hsqldb - отличный вариант, чтобы пользователь не заморачивался установкой дополнительных програм. А есть для hsqldb что-то вроде phpmyadmin`a? Большое спасибо всем за такие ценные советы! Небольшой вопрос. А если у меня на стороне сервера будет простой PHP скрипт (к которому я буду обращаться, скажем, так: http://my.ip.add.res/soapclient). Как я могу отправить POST запрос из своей программы и получить ответ (скорее всего это будет XML, который я демаршализую JiBX`ом) отработвшего PHP скрипта? Для меня этот вариант будет самым простым. Это сообщение отредактировал(а) ruFog - 28.6.2008, 01:27 |
||||||
|
|||||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
-------------------- ![]() ![]() |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |