Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java EE (J2EE) и Spring > Web application + desktop application |
Автор: garbuz 26.12.2008, 13:57 |
Есть веб-приложение, которое крутится под томкатом, приложение грузит файлы на сервер, а так же выгружает, ну т.е. позволяет пользователю их скачивать. Есть еще десктопное приложение, которое обрабатывает загруженный файл и генерит новый файл, который соответственно и надо передать пользователю. Вот вопрос, как это лучше организовать? Как передать новый файл из десктоп приложения веб приложению и потом отправить пользователю? Ну или что-то подобное, может кто-то сталкивался с подобной задачей. Заранее спасибо ![]() |
Автор: Platon 26.12.2008, 14:06 |
Обычный HTTP чем не устраивает? Есть библиотека http://forum.vingrad.ru/faq/topic-216595.html ^_^ Но порой люди обходятся обычными HttpUrlConnection Добавлено через 2 минуты и 16 секунд http://forum.vingrad.ru/topic-201291/view-findpost/p-1446520.html |
Автор: powerOn 26.12.2008, 14:23 |
На веб-сервисах можно сделать (JAX-WS, ну или JAX-RS). |
Автор: ecologist 26.12.2008, 14:26 |
Как обычно - если нет понятной архитектуры - хрен знает что можно предложить. Если исходить из того, что передача через файлы уже утверждена - то по FTP самый раз. Если подумать, что файлы не самое удачное решение - то WS или HTTP. Если подумать, что хорошо бы это все опубликовать сразу и дать разные права - то можно докатаится для портального решение, которое объеденит всех ползователй и даст админу возможность настроить UI для каждого. Забавно ![]() |
Автор: garbuz 26.12.2008, 15:07 | ||
Спасибо, столько преложений, даже не знаю, что и выбрать... На счет фтп надо подумать, еше точно не знаю, будет ли фтп или нет. С HttpClient'ом ранешь не работал, но может и стоит попробовать. Только вот я не понимаю, мне придется вообще отказаться от своего приложения загружающего\выгружающего файлы или все вместе скрутить можно будет? Смогу ли я реализовать нужный функицонал, а то фраза
как-то сбивает с толку. На счет веб-сервисов тоже много не могу сказать, ибо не сталкивался, еще много пробелов у меня к сожалению. От портала сразу отказываюсь - слишком тяжелое решения для такой задачи. Еще раз опишу, что требуется: 1) Заходим на траничку, грузим файл, сабмитим, файл уходит. 2) На стороне сервера помещаем этот файл в определенное место (папка). 3) Данная папка мониторится десктоп приложением, как только появляется новый файл, приложение его подхватывает и обрабатывает. 4) Все то же десктоп приложение генерит новый файл. 5) Этот новый файл необходимо отправить пользоателю, чтобы у него на странице появился запрос на скачиваение. Надо как-то сказать сервлету, где лежит файл и кокое его имя, вот наверно самое главное. Если сильно ушел в сторону - прошу не пинать. Жду советов, предложени, обсуждения предложненных решений ![]() PS. я вот тут подумал, а нельзя ли скрутить десктоп приложение с httpClient'ом, чтобы он после генерации файла отправлял запрос нашему сервлету с нужными данными (путь до файла, его имя, ну или сразу сам файл), короче что-то такое ![]() |
Автор: MisterCleric 26.12.2008, 15:19 |
По-моему, у тебя все нормально. У меня есть подобная задача. Мой сервер приложений JBOSS стоит на Linux. Я создал в каталогах сервера свою папочку, куда и складирую сгенерированные Java'ой файлы. Есть Виндозное приложение, которое настроено на мониторинг определенной папки. В моем случае будет работать так: на Linux настраивается СамбаСервер на мою папку, на Винде подключается сетевой диск на эту папку. И приложение смело ее мониторит: когда там есть файлы оно их читает, валидирует (это XML) и в случае успеха забирает их себе с удалением из моей папки. Аналогичным способом оно может в эту папку само положить файлы. Вот когда пользователь логинится я смогу причитать содержимое этой папки, и если там есть файлы, то покажу пользователю ссылочку на их скачивание. В чем проблема не пойму? По-моему классическая задача. |
Автор: garbuz 26.12.2008, 15:54 | ||
Хм... а мне как проще тогда поступить? При рефреше страницы проверять ести ли сгенерированный файл, и если есть, то на него выводить ссылку? Так? А если времени обновления после сабмита не хватит на генерацию файла? Рефрешить несколько раз как-то не красиво... |
Автор: MisterCleric 26.12.2008, 16:01 |
Ну эт зависит от логики твоего приложения. Может стоит кнопочку на странице добавить типа "Проверить наличие файлов". Герерируешь файл ведь не ты, а десктопное приложение. А файл появится в папке только после того, как оно его сгенерировало. Можешь форвардить сервлет сам на себя, пока не появится файл |
Автор: garbuz 26.12.2008, 16:26 | ||
Да, впринципе можно и так ![]() Все еще желаю выслушать аргументы за HttpClient или что-нибудь другое ![]() |
Автор: Kangaroo 26.12.2008, 16:46 | ||
Ajax для этого придумали. Показывай пользователю какой-нибудь картинку-загрузку и проверяй у сервера каждые Н-секунд - появился ли файл. Я вообще не понял при чем тут ШттпКлиент? Он служит для программной работы с шттп. Где ты его использовать собрался? |
Автор: garbuz 26.12.2008, 16:49 | ||||
Мда, как-то я про фджакс и забыл, спасибо ![]()
Посоветовали выше вот и переспросил, сам его никогда не использовал. |
Автор: Kangaroo 26.12.2008, 19:08 | ||
Да, извини, не увидел. Может Platon вопрос не так понял, но ШттпКлиент здесь не нужен. |