2007/01/11

リッチクライアントのデプロイメント

スマートクライアントに引き続き整理。今まで.NETではASP.NETしかやってないので、この辺の内容をしっかり体系化しとく必要があるなぁ。(書いたはいいが使った事ないのでイマイチ理解が完璧でない・・・)

■ノータッチデプロイメント
 概要:.NETFrameworkが持つWebからダウンロードしたアセンブリを直接実行可能な機能。
     Webサーバーに配置されたアプリケーション(exe)を、ブラウザよりそのリンクを
     クリックする事により Windows上のWebキャッシュ領域で実行される方式。
     (他のexeファイル等をブラウザからダウンロードして使用するのと同じ事だが、
      アプリがCLR上で動作するのが違い?)
     アプリケーションの実行時、実行ファイル以外にDLLファイルが必要な場合、
     それらも自動的にダウンロードしてくれる。
     .NETFramework1.1より「コードアクセスセキュリティ」という仕組みが存在し、
     2つの実行モード(部分信頼モード、完全信頼モード)が存在する。
     ノータッチデプロイメントで配布されるアプリケーションは「部分信頼モード」で実行される為、
     ローカルリソースアクセス等のセキュリティ制約がかかる。
     (アプリケーションも部分信頼モードを許可するコードを書く必要あり)
 欠点:.NETFrameworkの事前インストールが必須である事。
     InternetExplorerを必要とする事。
     セキュリティ制限がかかる事。
     ローカルインストールされないので、スタートメニューへのショートカット作成が不可。

■UAB(Updater Application Block)
 概要:配布するアプリケーションにライブラリを追加し、そのライブラリを利用して
     アプリケーション自身が構成ファイルの更新管理(ダウンロード管理)を行う。
     UABはローカルアプリケーションとして実行可能な為
     (ローカルインストールされる)、面倒なセキュリティ設定は不要であり、
     通常のWindowsアプリケーション同様「スタート」→「メニュー」にプログラムを
     追加する事も可能。またオフラインでの実行も可能。
 欠点:UABの運用・設定に関する高い知識ハードルが必要。
     セキュリティ制限かかからない分、逆にセキュリティ設定が弱点となる。

■ClickOnce
 概要:UAB同様ローカルインストールされるが(ノータッチデプロイメントの配置オプションも可能)、
     UAB最大の欠点だったセキュリティ問題を解決。
     オンライン/オフラインの状態を自動認識して、オンライン時のみにアプリケーションの
     更新を行う。UABではアプリケーションコードの変更が必要だったが、
     ノータッチデプロイメント同様、アプリケーションコードの変更は必要ない。
     ClickOnceでは.NETFramework2.0が必要になるが、ClickOnceアプリケーションの
     実行時に、.NETFramework2.0の有無を検査し、インストールされてなければ
     .NETFrameworkランタイムのサーバーからダウンロードとインストールを
     実行するよう設定する事も可能。
     ClickOnceの実装は、VisualStudio2005に統合されている。

■参考
特集:第1回 スタートアップ.NET――基礎から始める.NET (6/8)http://www.itmedia.co.jp/enterprise/articles/0406/30/news038_6.html

第3回 アプリケーション配布問題を解決する最新テクノロジClickOnce
http://www.atmarkit.co.jp/fwin2k/dnitpro/whatisdt03/whatisdt03_01.html

第1回 ClickOnceの基本動作を見てみようhttp://www.atmarkit.co.jp/fdotnet/clickonce/clickonce01/clickonce01_01.html

0 件のコメント: