Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Реализация приложения в Web


Автор: Aprol 14.6.2008, 10:13
Возможно ли реализовать такие требования в продукте написанном на Java?
.......................
-Получение в режиме реального времени информации о выбранных компьютерах, выбранных других сетевых устройствах в сети(например доступные шары, запущенные процессы, Сесиии, логи). Для Windows.
-Получение и создание отчетности об  установленных приложениях на выбранных компьютерах(какие прги установленны)
-Получение и создание отчетности о составе аппаратной части выбранного компьютера.
-Получение информации из Active Directory
-Управление Active Directory
-Подключение к выбранному компьютеру через графический терминал
-Управление выбранным компьютером через графический терминал
-Подключение к выбранному компьютеру через командную строку
-Управление выбранным компьютером через командную строку
-Получение и создание отчетности о проделанной работе
.....................
Это по сути Web-приложение администрирования Windows (по крайней мере пока) доменов и компов на которых стоит Windows. Интересует прежде всего чисто техническая возможность реализации требований в Web. 

Автор: AlexeyVorotnikov 16.6.2008, 11:19
А нужно ли это делать на Java? Может, на .NET это гораздо легче?

Автор: COVD 16.6.2008, 16:15
А чем не подходят существующие программы удаленного доступа к компьютерам? Например, http://www.radmin.com/ . Из дома через VPN подключаетесь к Radmin серверу, установленному в офисе, и через него имеете полный доступ ко всем компьютерам локальной сети. Зачем такие вещи выносить в Web? На радость злым хакерам? Чтобы иметь доступ к корпоративным компьютерам из интернет - кафе? 

Автор: serger 17.6.2008, 05:25
1. С устройствами без native не обойтись...

2. -Подключение к выбранному компьютеру через графический терминал
-Управление выбранным компьютером через графический терминал
Есть vnc-аплет с исходниками...

3. Консольный - вполне не вероятно есть.

Net конечно имхо лучше подойдёт (ключевое слово "windows"), но я думаю, лучше всё-таки написать, что есть.. Хотябы из патриотических соображений ;)

Автор: Aprol 19.7.2008, 12:16
Такое приложение хотелось бы использовать для дипломного проекта. То есть помимо самого кода будет тщательно разоработанная архитектура uml и перечень требований и т.д. и  т.п. Делать буду скорее всего в паре, так как это объемно.
Поясню как я себе представляю это приложение:
-Web-сервер tomcat, на котором обрабатываются запросы с клиентовэтого приложения. Там же будет стоять БД-сервер Firebird(скорее всего).
Для каждой крупной функции будет свой класс, в сумме код и интерфейс образуют некий плагин.
Используя плагины будет достигнута расширяемость приложения , что очень важно.

Например функция "Просмотр шар" будет забита в класс, который будет вызываться из оболочки.
Будет main-класс(оболочка)  в котором будет располагаться весь список доступных плагинов. Из оболочки вызываются плагины.
Порядок действий:
зашли на сервер->запустили оболочку->вызвали нужный хост и плагин "Просмотр шар", в итоге посмотрели список расшаренных ресурсов.
А теперь несколько вопросов:
1) Как получать данные на удаленном компе?
Хотел использовать VBScript. Проблему обмена данными между скриптом и Java не решил. Может кто поможет?
2).NET возможно, но хотелось бы все-таки Java.
3) Такое приложение нужно будет или нет? ПРосто если на д иплом то нужно будет в записке пояснить зачем делалась эта прога.

Автор: Samotnik 19.7.2008, 13:25
Aprol,  нету ничего не возможного  smile 
Но если задача стоит только под Windows и все работать должно только под нее и взаимодействие только с Windows  то лучше использовать .NET   smile 

Автор: Aprol 19.7.2008, 19:07
Ну не знаю.как говорится рассмотрю любые варианты.
А если и для Windows и для Linux ?

Автор: serger 21.7.2008, 05:56
Можно схитрить. Найти консольную програмку под win, чтоб она выдовала нужную инфо о системе и ловить с неё вывод через exec(), в linux аналогично, но там дб все нужные команды - нужно только их найти. ;)
В принципе так будет даже правильнее делать именно под linux, чем писать native библиотеки под каждую систему (философия такая).

Так связь консольной проги и ява делаается так:
http://forum.developing.ru/showthread.php?t=8855

Автор: alexadr 21.7.2008, 10:36
Цитата(Aprol @  19.7.2008,  12:16 Найти цитируемый пост)
Делать буду скорее всего в паре, так как это объемно.


Я бы посоветовал не наступать на подобны грабли(выполнение учебного проекта в паре). То что это существенно усложнить вашу работу,  даже не сомневайтесь. Или же вы должны разделить вашу систему таким образом, чтобы получилось две независимые подсистемы.

Автор: Samotnik 21.7.2008, 11:35
alexadr, не правда, когда я делал курсач в паре, то мы делали один чел "документно-ориентированный подход" а другой "RPC" потом смержили, и получилось все клева. (Функционал был очень похожий, но общение клиент-сервера различалось  smile )

Автор: alexadr 21.7.2008, 14:28
Цитата(Samotnik @  21.7.2008,  11:35 Найти цитируемый пост)
alexadr, не правда

практика показывает что это в большинстве случаев правдаsmile

Автор: Aprol 22.7.2008, 14:23
Как получить результат работы VBScriptа в яве? Всякие временные файлы не предлагать. Может сделать какой-нибудь  COM-Объект?

Автор: akizelokro 24.7.2008, 11:11
залезь на java'вский сервер и набери Wiseman

Автор: ekr 24.7.2008, 14:14
Цитата(Aprol @  22.7.2008,  14:23 Найти цитируемый пост)
Как получить результат работы VBScriptа в яве? Всякие временные файлы не предлагать. Может сделать какой-нибудь  COM-Объект? 

1. В java6 встроены механизмы скриптинга, т.е. можно запустить скрипт на каком-нить VB и спокойно взаимодействовать с ним из java-кода. Но это прокатит, если можно запускать VB-скрипт из Java-приложения.
И еще не могу сказать, VB вкрутили ли или еще нет в java6. JavaScript точно - его поддержка идет сразу с java6 out-of-box.

2. Если же требуется запускать VB-скрипт во внешней среде (win), то можно:
2.1 Откомпилить VB в DLL и её дергать стандартными средствами Java (модификатор native/ метод loadlibrary()). Если нужно в добавок из VB дергать Java-код, тогда следует использовать JNI API (Java Native Interfaces)
2.2 Как и было предложено, можно афишировать COM-объекты и дергать их через специальный API - JCOM

PS А обязателен ли VB? Может, JavaScript или Ruby подойдут?
PPS Кстати, имелся в виду VB или VB.NET?

Добавлено через 5 минут и 6 секунд
Цитата(Aprol @  14.6.2008,  10:13 Найти цитируемый пост)
-Получение в режиме реального времени информации о выбранных компьютерах, выбранных других сетевых устройствах в сети(например доступные шары, запущенные процессы, Сесиии, логи). Для Windows.
-Получение и создание отчетности об  установленных приложениях на выбранных компьютерах(какие прги установленны)
-Получение и создание отчетности о составе аппаратной части выбранного компьютера.

Если поднят SNMP (Simple Network Management Protocol) - легко  

Цитата(Aprol @  14.6.2008,  10:13 Найти цитируемый пост)
-Получение информации из Active Directory
-Управление Active Directory

JNDI API

Цитата(Aprol @  14.6.2008,  10:13 Найти цитируемый пост)
-Подключение к выбранному компьютеру через графический терминал
-Управление выбранным компьютером через графический терминал
-Подключение к выбранному компьютеру через командную строку
-Управление выбранным компьютером через командную строку

Обрати внимание, как rootkit-ы пишуться. Можно так же.

Автор: Aprol 12.8.2008, 02:52
короче если и буду реализовывать этот проект, то на Java будет только интерфейсная часть. Остальное все на Delphi через .NET.
Для связи между Java и серверным процессом буду использовать скорее всего промежуточный COM-объект.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)