Google Chromeを業務用Webアプリケーションプラットフォームとして使用するためのTips


直接GeneXusのTipsではありませんが、Google ChromeをWebアプリケーションプラットフオームとして使用する場合に考慮したい事が何点かあります。

  1. 当該Webアプリケーション起動(表示)した時に必ずChromeとする。又、ブラウザのディフォルト起動設定を変更しない。
  2. アドレスバーやタブを表示させない
  3. 自動アップデートを禁止にする



1.当該Webアプリケーション起動(表示)した時に必ずChromeとする。又、ブラウザのディフォルト起動設定を変更しない。


IEとChromeの様に複数ブラウザをインストールする時、注意が必要なのがディフォルトで起動するブラウザの設定です。ITリテラシーの高いユーザーの場合、複数ブラウザーがインストールされている事は当たり前でしょうし、ディフォルトの設定も自分でできると思います。

しかし、業務システムを利用する一般のユーザーの中にはITリテラシが低い人もおり、ディフォルトのブラウザがInternetExplorer(IE)からChromeに変わっただけでパニックなったり、IT部門へクレームを入れたりする様な人も中には居るのも事実です。

そういった方々への配慮として、ブラウザが切り替わらないアプリケーションショートカットの作成というのは結構重要です。

【方法】Chromeの場合は非常に簡単です。Chromeのメニューから「ツール」→「アプリケーションショートカットを作成」を選択するだけです。これにより、Chromeをブラウザとして指定のアプリケーションを開くショートカットが作成されます。

この例ではwww.google.co.jpをアプリのスタートページに見立ててショートカットを作成しています。

確認ダイアログ



通常、Webアプリケーションのショートカットは.urlというファイルで中にURLが記述されるもので、どのブラウザが起動するかはディフォルトブラウザの設定に依存します。しかし、Chromeのアプリケーションショートカットは直接chrome.exeが指定され、パラメータとして「--app」オプションによりディフォルト表示するページ(URL)を指定するのでディフォルトブラウザ設定に依存することなくChromeの起動が可能になります。

作成されたショートカット

ショートカットのプロパティ
リンク先がchrome.exeになっている
開くページは「--app」オプションで指定されている



2.アドレスバーやタブを表示させない


1と同様にユーザーに余計な操作を行わせないようにブラウザのUIを変更する対処が必要になってきます。一般的にはJavaScriptにてWindow.Open()を記述する事でアドレスバーやタブを隠す事ができます。

【方法】実は1のアプリケーションショートカットを作成すると(つまり「--app」パラメータでChromeを起動すると) 自動的にアドレスバーやタブが非表示モードで起動されます。

先のショートカットから起動したところ
アドレスバーやタブが無い



3.自動アップデートを禁止にする

セキュリティな対処や古いバージョンを残さない為の施策として自動アップデートという仕組みが各社ブラウザで取り入れられてきました。(Chrome、FireFox、そしてIEもVer10から自動アップデートに)

その真逆を行く対処ですが、私はある大企業の部長にこう言われた事があります。「Chromeが性能が良くIE6の代替になるのはわかった。ただ自動アップデートというのは、我々の業務システムの将来の動作保証まで担保してくれるのか? 自動アップデートの結果として、将来的に急にブラウザの仕様が変更になり、ある日突然業務システムが動作しなくなる 又は動作がおかしくなる事は無いのか?

業務システムを利用する人が数万〜数十万に及ぶような大企業の場合、ある日突然システムが動作しなくなる事は企業として死活問題になります。

我々も感覚的には現在の状況がブラウザ各社がHTML5への統一に流れているのは間違いありません。その範囲の中では大きな改修やかつてIEとネットスケープであったようなブラウザ独自実装が施されるとは思えません。

だからといってGoogleが未来永劫Chromeの仕様を変えないというコミットを我々が出来るものではありません。かくして自動アップデートを止める方法を探すことになりました。

ネットを探してもなかなか情報が見つかりません。一部ブログで書かれているものもありましたが、試して見たところ正常に動作しませんでした。
ようやく見つけたのがGoogleのサポートページでした。灯台下暗しとはこの事です。



対処方法としてはレジストリーのキーを追加します。値は1が自動更新/0が更新停止となります。
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update]
"UpdateDefault"=dword:00000000

.REGファイルを作成しておけば、複数台にセットアップする時もワンクリックで設定が行えます。

・標準状態のChrome。常にバージョンが最新かチェックします。


・レジストリーを変更したChrome。アップデートが無効になっているのが確認できます。




尚、レジストリの変更にはWindowsが動作しなくなるなどリスクを伴います。各自の責任において変更をしてください。万が一問題が発生した場合でも当ブログでは責任を負いません。
又、自動アップデートを停止するという事は将来発見されたセキュリティホールに対する修正も自動的に適用されないという事になります。この点も十分事前に検討してください。





コメント

このブログの人気の投稿

データプロバイダーを使いこなそう - 応用編その4 スケジューラー 補足編

HTMLヘッダーにあれこれ直接追加したいとき

GeneXusにおけるWebアプリケーションセキュリティ対策 - OWASP 2010 Top10 Security Risks in GeneXus Applications