2012-09-11 2 views
1

Мы разрабатываем веб-приложение (в основном data-mining), поддерживаемое JSF (Primefaces)/Spring/Hibernate. Для следующего шага нам нужно создать некоторую эмуляцию терминала, чтобы веб-приложение могло использовать SSH-пользователя для запроса хоста.Интеллектуальная эмуляция терминала в приложении JSF

Цель данного вопроса - найти технологию, подходящую для наших нужд. В настоящее время я делаю доказательства концепций с помощью java-апплетов и jnlp, но не понимаю их достаточно глубоко, чтобы заранее увидеть их ограничения/возможности.

использования: (упрощенно от спецификации проекта):

Давайте предположим, что мы делаем эмуляцию в Java-апплета. Представьте себе простую веб-страницу с p: selectOne menu (hostMenu), p: dataTable (scriptTable) и наш апплет. Элементы HostMenu поддерживаются объектом, содержащим URL-адрес сервера, логин и пароль. Событие события изменения выбора, которое скопирует данные в апплет и сделает соединение SSH.

Теперь в scriptTable будет создан простой, предопределенный скрипт, определенный пользователем. Подумайте о сценарии как о чем-то очень простом (например, ls -l на машине linux). Событие Doubleclick в таблице будет выполнять скрипт в ssh-сессии апплета.

Некоторые другие требования и ограничения контракта

  • соединение SSH должно быть сделано на клиентском компьютере (не на сервере)
  • эмуляция должен быть полностью интерактивным (особенно, на Линукс машин, TAB)
  • на веб-странице, запрос AJAX не сбрасывает апплет (он остается , подключенный к аппарату перед запросом)

Любой ответ на это. Так же есть и другие технологии, чем апплеты/jnlp. Например, если вы знаете, какие возможности горячие для intercact из JSF с внешним эмулятором (Putty, linux console), мы можем их использовать.

ответ

0

Ну, я думаю, мы выяснили, наконец, с помощью JCraft-х JCterm. Это потребовало внесения некоторых изменений в код, но, похоже, оно работает хорошо (до сих пор;))