連載
ClickOnceの真実

【コラム】ClickOnceが生まれた理由

デジタルアドバンテージ 一色 政彦
2006/01/18

Page1 Page2 Column

 1995年〜2000年ごろ、企業システムはクライアント/サーバ型システム(以降、C/Sシステム)として構築されることが多かった。これはマイクロソフト技術を用いて構築したシステムでは特に顕著だった。C/Sシステムならば、マイクロソフトが提供するWindowsプラットフォームの機能をフルに活用した高性能のWindowsアプリケーション(以降、Windowsアプリ)を構築できたからだ。

 しかしこのようにWindowsプラットフォームに密接に結びついたシステムには、避けられない大きな欠点があった。それがクライアントへのアプリケーションのインストールやその更新である。もちろんユーザーが10人規模程度のC/Sシステムなら、1人のシステム管理者がインストールや更新をユーザーに指示してもそれほどたいした作業にはならないのかもしれない。しかしこれが100人、1000人、1万人になってくると、アプリケーションをバージョン・アップするたびにユーザーに更新を促して再インストールしてもらうという運用は、コスト面からいって現実的ではないだろう。システム管理者の立場からすれば、やはり「システムを1カ所で集中管理したい」と考えるのは自然な成り行きである。これを解決する手法はいくつか考え出されてきたが(例えばSystem Management Serverを使ったアプリケーション展開など)、その中でもそれを最もうまく低コストで実現したのがWebアプリケーション(以降、Webアプリ)なのである。

 2000年〜2005年ごろは、このような理由からWebアプリが、その展開・運用の容易さを武器に従来のC/Sシステムに取って代わり人気を集めてきた。だがWebアプリとしてシステムを構築することによって失うものも少なくなかった。それは例えばC/Sシステムで培われた開発技術もそうだが、ユーザーの生産性に直接影響するであろうアプリケーション自体の機能性や操作性、応答性などが貧弱になってしまったのである。Webアプリにはそのような欠点があったため、その反動でWindowsアプリによる企業システムを開発したいというニーズは今日まで再び高まってきているわけだ。

 そのような中、.NET Framework 1.x(1.0および1.1)ではノータッチ・デプロイメントと呼ばれる配布・更新技術が提供された。これはWindowsアプリの機能性や操作性などの強みを生かしつつ、Webアプリの優れている特長である展開や運用の容易性をうまく取り込んだ技術である(詳細は「ノータッチ・デプロイメント」を参照されたい)。当然ノータッチ・デプロイメントは、前述のWindowsアプリのニーズとマッチし、大いに期待されることになった。

 だがノータッチ・デプロイメントは、その期待に十分にこたえることができなかったのである。というのもノータッチ・デプロイメントは、デフォルトのセキュリティ制限があまりに厳しすぎたため、本格的なビジネス・アプリケーションで動作させるには現実的ではなかったのだ(もちろんセキュリティ・ポリシーを変更すれば使えるようになるのが、それにかかる手間は少なくない)。実際にノータッチ・デプロイメントはほとんど使われなかったようだ。しかしこの失敗のおかげで、ノータッチ・デプロイメントよりも優れたソフトウェア配布・更新テクノロジがいくつも登場することになった。例えばその1つが「.NET Application Updaterコンポーネント」である(詳しくは「Enterprise Library概説:UpdaterABを使った高度な自動更新機能を実装する」を参照されたい)。つまり.NETの展開技術は、独自の発展を遂げてきたわけである(詳しくは「特集:.NETアプリケーション自動更新技術の比較」を参照してほしい)。

 そして2006年現在、これまでのそのような配布・更新テクノロジの発展が、最終的にClickOnceという完成度の高い新技術を生み出し、.NET Framework 2.0の正式な機能として搭載されたのである。これにより.NET Frameworkによる展開テクノロジが本格的に実利用されていく可能性が高まっている。展開技術はいままさに新たな時代の幕を開けたのだ。

本編に戻る

 

 INDEX
  ClickOnceの真実!
  第1回 ClickOnceの基本動作を見てみよう
    1.ClickOnceの概要とデプロイメント機能
    2.アップデート機能とロールバック機能
   【コラム】ClickOnceが生まれた理由
 
インデックス・ページヘ  「ClickOnceの真実」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH