С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 9

Управление Java приложением через Web-интерфейс

23.03.2016, 22:46. Показов 2087. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Я работаю над Java программой, которая загружает данные с необходимых сайтов, выполняет необходимые операции с этими данными и тому подобное. Передо мной поставили задачу реализовать управление всеми этими процессами, средствами Web-интерфейса в реальном времени. Говоря простыми словами: например, заходим на сайт, видим список активных процессов, выбираем какой-то и нажимаем "остановить" и в запущенном консольном приложении этот процесс останавливается (допустим, какой-то поток). Конечно, кроме отключения потоков необходимо много разных функций, например выгрузка каких-то данных или изменение конфигурации и так далее.

Подскажите, как лучше реализовать эту задачу? У меня из вариантов только использование сокетов по которым можно посылать некие команды, которые будут выполняться, благодаря Reflection. Но как мне кажется этот способ какой-то костыльный. Это же придется разработать что-то вроде своего языка, что бы это работало.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2016, 22:46
Ответы с готовыми решениями:

Получение Модели DOM (Web ресурса), загруженной JAVA приложением на компе
Всем здравствуйте! Описание проблемы: Есть информационная система работа с которой осуществляется через браузер(IE). Я не являюсь...

Управление Linux через собственный web-интерфейс
Ребят мне нужна рекомендация и принцип работы, опыт с php есть с Linux`сом в процессе изучаю, вот хочу реализовать веб - интерфейс для...

Управление Java приложением средствами VBA
Доброго времени суток, форумчане! Требуется автоматизировать повторяющиеся действия: копирование данных из документа Word и их вставка...

14
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
23.03.2016, 22:51
Fahrenheit57, для ваших целей подойдет Vaadin. На нем достаточно быстро можно написать админку не обладая знаниями клиентских технологий.
0
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 9
23.03.2016, 23:36  [ТС]
KEKCoGEN, сейчас я немного почитал про эту штуку и хочу спросить, а вы уверены, что мне это может подойти?
Ведь сама программа не должна быть в виде Web-интерфейса, программа работает на сервере в режиме 24\7 и к ней нужно сделать только систему управления.

Добавлено через 21 минуту
То есть мне нужен способ связи Web приложения и Java приложения, а не способ написать Web приложение с помощью Java фреймворков.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
23.03.2016, 23:52
Fahrenheit57, если вам обязательно запускать ваши процессы на другой JVM, тогда дописывайте им какой-нибудь API (rest, RMI, EJB etc) и вызывайте его из веб аппликации, однако проще всего интегрировать код ваших существующих приложений в веб приложение.
0
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 9
24.03.2016, 03:51  [ТС]
KEKCoGEN, система должна работать полностью автономно, а не только, когда кто-то открывает браузер, по крайней мере я понял, что этот фреймворк дает возможность работать только так.

с RMI работать у меня не получилось. Пытался сделать по этому примеру: https://javatalks.ru/topics/8059. Возникает ошибка: error unmarshalling return; nested exception is
Вот на этой строке:
Java
1
RemoteHelloService service = (RemoteHelloService) registry.lookup("sample/HelloService");
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
24.03.2016, 09:12
Цитата Сообщение от Fahrenheit57 Посмотреть сообщение
система должна работать полностью автономно, а не только, когда кто-то открывает браузер, по крайней мере я понял, что этот фреймворк дает возможность работать только так.
почитайте как работают веб-аппликации. Вы все неверно поняли.
Сайт банка например работает только когда вы браузер открываете?
0
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 9
24.03.2016, 18:36  [ТС]
KEKCoGEN, в перспективе программа будет работать на нескольких серверах, что тогда? По этому мне похоже все-таки важно, что бы это было два отдельных приложения (админка и сама программа).
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
24.03.2016, 20:00
Цитата Сообщение от Fahrenheit57 Посмотреть сообщение
KEKCoGEN, в перспективе программа будет работать на нескольких серверах, что тогда? По этому мне похоже все-таки важно, что бы это было два отдельных приложения (админка и сама программа).
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Fahrenheit57, если вам обязательно запускать ваши процессы на другой JVM, тогда дописывайте им какой-нибудь API
Решение на поверхности. Просто откройте интерфейс для команд от "админки" в вашем приложении, реализуйте простой REST.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
24.03.2016, 20:08
Цитата Сообщение от Fahrenheit57 Посмотреть сообщение
, в перспективе программа будет работать на нескольких серверах, что тогда
вы похоже понятия не имеете как работают энтерпрайз приложения. Вам нужно либо основательно это выучить чтобы написать что-то приличное, либо дать написать это котому-то кто знает что делает.
0
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 9
24.03.2016, 20:13  [ТС]
KEKCoGEN, да вы права с энтерпрайз я никогда не имел дела, сейчас как раз пытаюсь втянуться в этот вопрос.
И я пытаюсь убедиться, не зря ли я потрачу время, смогу ли я переделать свое приложение таким образом, что бы оно соответствовало требованиям ТЗ. Насколько я понимаю, вы утверждаете, что это так. Буду дальше стараться разобраться, спасибо вам. Буду рад любым подсказкам и советам.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
24.03.2016, 20:16
Цитата Сообщение от Fahrenheit57 Посмотреть сообщение
оно соответствовало требованиям ТЗ
оно будет соответствовать если вы правильно построите архитектуру вашего приложения. На чем писать интерфейс значения не имеет. Я предложил Vaadin т.к на нем можно быстро и не зная html\js создать многофункциональную админку. Как вы реализуете бекенд вашего приложения зависит от вас.
0
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 9
28.03.2016, 16:48  [ТС]
KEKCoGEN, я немного изучил Java EE и Vaadin, это и правда очень интересные штуки.
Насколько я понял, вы предлагайте не разделять основное приложение на два (админку и основное приложение), а сделать все в одном. Теперь я знаю, благодаря Vaadin это, действительно, возможно и будет хорошо работать.
Но я до сих пор не понимаю, как масштабировать приложение на несколько серверов, ведь мне в любом случае придется сделать админку отдельно, пусть и на Vaadin?
В теории я себе вижу это так: допустим, имеем два физических сервера, на каждом запущено два сервера приложений, в каждом из которых работает приложение (две копии того, что я щас называю основным приложением), так же на одном из серверов приложений будет запущена админка и это будет все как-то связано между собой, например благодаря RESTfull технологии. Если я не прав в чем-то, надеюсь меня поправят.

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

Прошу объяснить мне или хотя бы дать какие-то ключевые слова или фразы для гугла, что бы я смог что-то изучить самостоятельно. Желательно, конечно, на русском, если это возможно.
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
28.03.2016, 17:03
Цитата Сообщение от Fahrenheit57 Посмотреть сообщение
В теории я себе вижу это так: допустим, имеем два физических сервера, на каждом запущено два сервера приложений, в каждом из которых работает приложение (две копии того, что я щас называю основным приложением)
Зачем Вам на двух серверах поднимать 2 экземпляра одного приложения?
0
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 9
28.03.2016, 18:55  [ТС]
Любопытный, на каждом сервере по одному экземпляру.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
28.03.2016, 20:44
Цитата Сообщение от Fahrenheit57 Посмотреть сообщение
В теории я себе вижу это так: допустим, имеем два физических сервера, на каждом запущено два сервера приложений, в каждом из которых работает приложение (две копии того, что я щас называю основным приложением), так же на одном из серверов приложений будет запущена админка и это будет все как-то связано между собой, например благодаря RESTfull технологии.
Да. вполне можно так и сделать.

Цитата Сообщение от Fahrenheit57 Посмотреть сообщение
Но я совершенно не могу понять, как это реализовать
быстро поднять контеинер с рестом можно используя Spring Boot.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.03.2016, 20:44
Помогаю со студенческими работами здесь

Управление приложением через VBA
Здравствуйте! Имеется приложение на C#, VS2010. Существует ли способ добавить в него поддержку VBA, чтобы при помощи макросов управлять...

Управление приложением через веб-форму
В общем есть у меня одна программа на C# (WinForms), которая висит на сервере и выполняет определенные действия. Появилась необходимость...

Управление приложением на андроиде через интернет
Здравствуйте,подскажите пожайлуйста как реализовать такой вот алгоритм: Пользователь нажимает на кнопку в программе под Windows,через...

Управление чужим приложением через SendMessage
Итак, суть проблемы: Есть приложение для работы с реле по USB. Исходники приложения поставщик отказался предоставить, а управлять реле...

Управление приложением блокнот через код C#
Всем привет! Подскажите как мне сделать так, чтоб моя программа открыла в стандартном блокноте винды файл, и сохранила его с другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru