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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Web application + desktop application, Как скрутить? 
:(
    Опции темы
garbuz
Дата 26.12.2008, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть веб-приложение, которое крутится под томкатом, приложение грузит файлы на сервер, а так же выгружает, ну т.е. позволяет пользователю их скачивать.  Есть еще десктопное приложение, которое обрабатывает загруженный файл и генерит новый файл, который соответственно и надо передать пользователю. Вот вопрос, как это лучше организовать? Как передать новый файл из десктоп приложения веб приложению и потом отправить пользователю? Ну или что-то подобное, может кто-то сталкивался с подобной задачей.
Заранее спасибо smile
PM MAIL   Вверх
ecologist
Дата 26.12.2008, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(garbuz @  26.12.2008,  13:57 Найти цитируемый пост)
Вот вопрос, как это лучше организовать? Как передать новый файл из десктоп приложения веб приложению и потом отправить пользователю?

Ну вообщем-то есть FTP - пусть клиент загружает с какого-нибудь хоста файлики. Можно даже по SFTP - так даже секьюрити вполне прилично получается. Ну или шифровать с обоих сторон.
PM MAIL   Вверх
Platon
Дата 26.12.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Обычный HTTP чем не устраивает? Есть библиотека Apache HttpClient с небольшими разъяснениями ^_^
Но порой люди обходятся обычными HttpUrlConnection

Добавлено через 2 минуты и 16 секунд
HttpClient с темой по загрузке файлов на сервер
PM MAIL ICQ   Вверх
powerOn
Дата 26.12.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



На веб-сервисах можно сделать (JAX-WS, ну или JAX-RS).


--------------------
user posted image нет времени думать - нужно писать КОД!

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


Опытный
**


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

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



Как обычно - если нет понятной архитектуры - хрен знает что можно предложить.
Если исходить из того, что передача через файлы уже утверждена - то по FTP самый раз.
Если подумать, что файлы не самое удачное решение - то WS или HTTP.
Если подумать, что хорошо бы это все опубликовать сразу и дать разные права - то можно докатаится для портального решение, которое объеденит всех ползователй и даст админу возможность настроить UI для каждого.

Забавно smile
PM MAIL   Вверх
garbuz
Дата 26.12.2008, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо, столько преложений, даже не знаю, что и выбрать...
На счет фтп надо подумать, еше точно не знаю, будет ли фтп или нет.
С HttpClient'ом ранешь не работал, но может и стоит попробовать. Только вот я не понимаю, мне придется вообще отказаться от своего приложения загружающего\выгружающего файлы или все вместе скрутить можно будет? Смогу ли я реализовать нужный функицонал, а то фраза
Цитата

позволяет скачать страницы с интернета с возможностью управлять Cookie и отправлять заголовки на сервер

как-то сбивает с толку.
На счет веб-сервисов тоже много не могу сказать, ибо не сталкивался, еще много пробелов у меня к сожалению.
От портала сразу отказываюсь - слишком тяжелое решения для такой задачи.

Еще раз опишу, что требуется:
1) Заходим на траничку, грузим файл, сабмитим, файл уходит.
2) На стороне сервера помещаем этот файл в определенное место (папка).
3) Данная папка мониторится десктоп приложением, как только появляется новый файл, приложение его подхватывает и обрабатывает.
4) Все то же десктоп приложение генерит новый файл.
5) Этот новый файл необходимо отправить пользоателю, чтобы у него на странице появился запрос на скачиваение.

Надо как-то сказать сервлету, где лежит файл и кокое его имя, вот наверно самое главное.
Если сильно ушел в сторону - прошу не пинать. Жду советов, предложени, обсуждения предложненных решений smile


PS. я вот тут  подумал, а нельзя ли скрутить десктоп приложение с httpClient'ом, чтобы он после генерации файла отправлял запрос нашему сервлету с нужными данными (путь до файла, его имя, ну или сразу сам файл), короче что-то такое  smile 
PM MAIL   Вверх
MisterCleric
Дата 26.12.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

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



По-моему, у тебя все нормально.
У меня есть подобная задача.
Мой сервер приложений JBOSS стоит на Linux.
Я создал в каталогах сервера свою папочку, куда и складирую сгенерированные Java'ой файлы.
Есть Виндозное приложение, которое настроено на мониторинг определенной папки. 
В моем случае будет работать так: на Linux настраивается СамбаСервер на мою папку, на Винде подключается сетевой диск на эту папку. И приложение смело ее мониторит: когда там есть файлы оно их читает, валидирует (это XML) и в случае успеха забирает их себе с удалением из моей папки.
Аналогичным способом оно может в эту папку само положить файлы.
Вот когда пользователь логинится я смогу причитать содержимое этой папки, и если там есть файлы, то покажу пользователю ссылочку на их скачивание. 
В чем проблема не пойму? По-моему классическая задача.



--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
garbuz
Дата 26.12.2008, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(MisterCleric @  26.12.2008,  15:19 Найти цитируемый пост)
Аналогичным способом оно может в эту папку само положить файлы.
Вот когда пользователь логинится я смогу причитать содержимое этой папки, и если там есть файлы, то покажу пользователю ссылочку на их скачивание. 
В чем проблема не пойму? По-моему классическая задача.

Хм... а мне как проще тогда поступить? При рефреше страницы проверять ести ли сгенерированный файл, и если есть, то на него выводить ссылку? Так? А если времени обновления после сабмита не хватит на генерацию файла? Рефрешить несколько раз как-то не красиво...

PM MAIL   Вверх
MisterCleric
Дата 26.12.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

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



Ну эт зависит от логики твоего приложения.
Может стоит кнопочку на странице добавить  типа "Проверить наличие файлов".
Герерируешь файл ведь не ты, а десктопное приложение. А файл появится в папке только после того, как оно его сгенерировало.
Можешь форвардить сервлет сам на себя, пока не появится файл


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
garbuz
Дата 26.12.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(MisterCleric @  26.12.2008,  16:01 Найти цитируемый пост)
Ну эт зависит от логики твоего приложения.
Может стоит кнопочку на странице добавить  типа "Проверить наличие файлов".
Герерируешь файл ведь не ты, а десктопное приложение. А файл появится в папке только после того, как оно его сгенерировало.
Можешь форвардить сервлет сам на себя, пока не появится файл 

Да, впринципе можно и так smile Спасибо!

Все еще желаю выслушать аргументы за HttpClient или что-нибудь другое smile

PM MAIL   Вверх
Kangaroo
Дата 26.12.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

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



Цитата(garbuz @  26.12.2008,  15:54 Найти цитируемый пост)
А если времени обновления после сабмита не хватит на генерацию файла? Рефрешить несколько раз как-то не красиво...

Ajax для этого придумали. Показывай пользователю какой-нибудь картинку-загрузку и проверяй у сервера каждые Н-секунд - появился ли файл.


Цитата(garbuz @  26.12.2008,  16:26 Найти цитируемый пост)
Все еще желаю выслушать аргументы за HttpClient

Я вообще не понял при чем тут ШттпКлиент? Он служит для программной работы с шттп. Где ты его использовать собрался?


--------------------
Lost....
PM MAIL MSN   Вверх
garbuz
Дата 26.12.2008, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Kangaroo @  26.12.2008,  16:46 Найти цитируемый пост)
Ajax для этого придумали. Показывай пользователю какой-нибудь картинку-загрузку и проверяй у сервера каждые Н-секунд - появился ли файл.

Мда, как-то я про фджакс и забыл, спасибо smile



Цитата(Kangaroo @  26.12.2008,  16:46 Найти цитируемый пост)
Я вообще не понял при чем тут ШттпКлиент? Он служит для программной работы с шттп. Где ты его использовать собрался? 

Посоветовали выше вот и переспросил, сам его никогда не использовал.
PM MAIL   Вверх
Kangaroo
Дата 26.12.2008, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

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



Цитата(garbuz @  26.12.2008,  16:49 Найти цитируемый пост)
Посоветовали выше вот и переспросил, сам его никогда не использовал. 

Да, извини, не увидел. Может Platon вопрос не так понял, но ШттпКлиент здесь не нужен.




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

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

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


 




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


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

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