世間には、ブラウザ上で動作する帳票入力アプリケーションがたくさんあります。
でも、私にはブラウザを使う(http/https)よりもログインして操作する(ssh)ほうが安全・確実・簡単・便利・省エネ・低コストだと思える場合があります。
ブラウザを使ったアプリケーションを開発したがる理由としては、以下のようなものがあると私は思います。
1 | 不正に ssh ログインされるのが怖い。 |
2 | サーバにログインさせると不要な操作をされるので、ログインさせたくない。 |
3 | アプリケーションの配布が面倒くさい。 |
でも、ブラウザを使うといろいろな問題が発生します。
4 | セッション管理が必要になる。 |
5 | Cookie を受け付けるためにブラウザのセキュリティ設定を下げなければいけない。 |
6 | ActiveX を受け付けるためにブラウザのセキュリティ設定を下げなければいけない。 |
7 | JavaScript を有効にするためにブラウザのセキュリティ設定を下げなければいけない。 |
8 | HTML を使う必要があるので通信トラフィックが増大する。 |
9 | HTML を使う必要があるのでクロスサイトスクリプティング等に注意しなければいけない。 |
10 | セキュリティパッチを適用するとブラウザの挙動に影響を受ける場合がある。 |
帳票入力アプリケーションを http/https を使う設計から ssh を使う設計に変更すれば、これらの問題を簡単に回避できるのです。
1 | 複数回の認証により不正な ssh ログインを確実に排除できる。 |
2 | ログイン後の操作を一挙手一投足まで制限できる。 |
3 | アプリケーションの更新はサーバ側で行なうだけで済む。 |
4 | セッションは ssh が管理してくれる。 |
5 | Cookie を使う必要が無いのでブラウザのセキュリティ設定を下げる必要が無い。 |
6 | ActiveX を使う必要が無いのでブラウザのセキュリティ設定を下げる必要が無い。 |
7 | JavaScript を使う必要が無いのでブラウザのセキュリティ設定を下げる必要が無い。 |
8 | HTML を使う必要が無いので通信トラフィックが激減する。 |
9 | HTML ではないのでクロスサイトスクリプティング等が発生しない。 |
10 | セキュリティパッチを適用しても ssh クライアントの挙動には影響を与えない。 |
この内、1番と2番が TOMOYO Linux を導入することで得られるメリットです。その他は TOMOYO Linux を導入しないでも得られるメリットです。デメリットは ssh クライアントソフトを配布する必要がある点と、ユーザインタフェースのデザインが面倒である点でしょう。
元々ブラウザとは閲覧するためのものなのですから、閲覧操作だけでなく更新操作も必要な帳票入力アプリケーションにブラウザは不向きだと私は思います。昔は CUI で帳票入力アプリケーションを実現していたのですから、現在でも ssh のターミナルで実現できるでしょう。セキュリティが重要視されている今日、UIデザインの簡単さの為にブラウザを使うことでこれほど多くのセキュリティリスクを背負うのは如何なものかと私は思っています。
私も、ブラウザのUIは、できればもう開発したくないです。セキュリティで気をつかうことが多すぎるし、各ブラウザごとの動作検証が面倒です。
けど、ブラウザで操作は、一般受けはいいのでしょうね。
あと、ブラウザのUI開発って本当に簡単なんでしょうかね…
(私が書くと)なんか汚くなるんですが。
そうそう、なんだかんだ言って結局 Windows + IE でしか動作しないなんてのが普通ですし。(どっか〜ん)
Java のクラスに CUI 環境向けの TextBox と InputBox が登場したら移植が進みそうな気がします。