Мы разрабатываем веб-приложение (в основном 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), мы можем их использовать.