1

JSF(Primefaces)/ Spring / Hibernateに裏打ちされた(基本的にデータマイニング)Webアプリケーションを開発しています。次のステップでは、Webアプリケーションがユーザーを要求されたホストにSSHで接続できるように、ある種のターミナルエミュレーションを作成する必要があります。

この質問の目的は、私たちの要件に適したテクノロジーを見つけることです。現在、Javaアプレットとjnlpを使用して概念実証を行っていますが、それらの制限/可能性を事前に確認するのに十分なほど深く理解していません。

ユースケース:(プロジェクト仕様から簡略化):

Javaアプレットでエミュレーションを行うと仮定しましょう。p:selectOneメニュー( hostMenu)、p:dataTable(scriptTable )、およびアプレットを含む単純なWebページを想像してみてください。HostMenuアイテムは、サーバーURL、ログイン、およびパスワードを含むオブジェクトによってサポートされています。データをアプレットにコピーしてSSH接続を確立する選択変更トリガーイベント。

これでscriptTableに、ユーザーが定義した単純な事前定義されたスクリプトがあります。スクリプトは本当に単純なものと考えてください(Linuxマシンのls -lなど)。テーブルのダブルクリックイベントは、アプレットのsshセッションでスクリプトを実行します。

その他の要件と契約上の制限

  • ssh接続は(サーバーではなく)クライアントコンピューターで実行する必要があります
  • エミュレーションは完全にインタラクティブである必要があります(特に、Linuxマシンでは、TABキーのオートコンプリート)
  • Webページでは、AJAXリクエストはアプレットをリセットしません(リクエスト前にマシンに接続されたままになります)

すべての応答が評価されます。applets/jnlp以外のテクノロジーもそうです。たとえば、JSFから外部エミュレーター(Putty、Linuxコンソール)と相互作用する可能性があることがわかっている場合は、それらを使用できます。

4

2 に答える 2

0

フロントエンドについては、Primefaces ターミナル コンポーネントをチェックしてください。

http://www.primefaces.org/showcase-labs/ui/terminalHome.jsf

于 2012-09-11T13:14:22.997 に答える
0

そうですね、JCraft のJCtermを使用して、ようやく解決したと思います。コードにいくつかの変更が必要でしたが、うまく機能しているようです (今のところ ;))

于 2012-09-18T12:42:04.960 に答える