カスタム検索
このエントリーをはてなブックマークに追加

  


ActiveXとは

(私なりの説明)

Modified: 7 Feb 1998


クリップボードからActiveX、COMへ
ActiveXとは (Internetから見たActiveX)
ActivePlatformとは
ActiveXの仕組み
ActiveXの良いところ
ActiveXの困るところ
認証マークについて
authenticodeとは


クリップボードからActiveX、COMへ

ActiveXを理解するために、ActiveXが生まれた背景、歴史を解説します。クリップボード、DDE、OLE、ActiveX、そしてCOMの流れです。

ドキュメントに絵や図をいれたい

文章を作るのはワープロ、絵を描くのは画像ソフトです。したがって、ワープロで文章を作り、印刷して、画像を別途作り、重ね印刷して絵の入ったドキュメントを作っていました。

これでは、位置あわせにすごく時間がかかり不便です。

ワープロで、文字と絵を同時に表示させたい

そこで考えられたのが、ワープロの文章の中に、図形や絵の領域を作り、そこにあらかじめ作っておいた絵を表示できる機能が生まれました。

ところが、絵を張ったあとで、ちょっと絵を直したいと思うのはよくあることです。そこで絵を修正するのですが、画像ソフトを起動し、画像を開いて修正し、一旦保存して、再度、ワープロに読み込む。という操作で行っていました。

手軽にコピーしたい(クリップボードの誕生)

何度もすると面倒です、そこで、保存、読み込みをせず、画像をコピーし、ワープロでペーストできる機能が生まれました。これがいわゆるクリップボードです。

コピー&ペーストも面倒

ところが、このコピー&ペーストも面倒です。どこにどの絵を張るかは最初に決まっているので、画像を直したら自動的に、コピーして、表示させることができます。

この仕組みを実現したのが、DDE(Dynamic Data Exchang)です。

コピーしたくない

ワープロを編集中に、画像を変更すると自動的のコピーされますが、絵だけを直した場合、そのコピー機能は働きません。

すると、片方を直しても、片方は修正前の画像になります。

コピーせずに、表示のとき合成させたい

コピーするとどうしてもずれが生じます。そこで、コピーしなくても絵と文章を同時に表示させる方法が考えられました。

絵は絵として、文章は文章として別々に保存して置きます。そして、表示するときに、それぞれを読み込んで、あたかも一つのファイルで構成された文章のように見せるのです。

表示するファイルは、枠だけ持っておき、データを持ちません、領域ごとに「ここは、xxのファイルの文章を表示し、ここには、yyの絵を表示する」というリンクだけをもっておくのです。

実はこの考え方は、画期的な逆転の発想なのです。従来は、ワープロという機能ソフトの生産物が文書でした。つまり、ワープロソフトが親で、文章データはワープロの子供だったのです。

合成表示の考え方は、文章が親で、その一要素である文章を編集する役割をする子供がワープロ、画像を編集する役割をもつのが画像ソフトということになったからです。

この仕組みを、OLE(Object Link Embeded)と呼びます。

ある文章は、枠のファイルと、そのなかに埋め込まれるデータがPCのいろんな場所に点在されたままになっていることを許したのです。固まった一つのファイルである必要がなくなったんですね。

世界中のデータを合成表示させたい

ブラウザの登場により、表示するデータは、自分のPCだけでなく、Internetで接続されているPCからとってきてもいい。つまり、世界中に点在しているデータを合成して表示すればいいではないかと考えるようになりました。

すると、そのデータもいろんなデータがあり、そのデータを編集するソフトをあらかじめPCにインストールすることもできなくなります。

そこで考えられたのがActiveXです。

データもInternet上に点在していて、そのデータを表示編集するソフトも点在していてもいいことになります。ある枠組み、ブラウザでは、HTMLファイルですが、そこからデータと、そのデータを表示編集するソフトをInternet上のどこからか自動的にとってきて、合成表示するのです。

表示するソフトもInternet上のどこからか取ってきます。そのソフトは、別に表示するだけでなく、何かを処理するプログラムでもかまいません。

Plug-insは、見かけ上ActiveXと同じですが、Plug-insはあくまでもPCにインストールしておくという狭い考え方ですから、ActiveXのほうがはるかに壮大な背景を持っています。

標準化が必要になる

こうなると、みんなが好き勝手にこの仕組みを作っていたのでは実現できません。同じルールで作ろうという標準仕様が考えられました。

ところが、標準化といっても、誰かが主導権をとって案を示さなくてはなりません。かといって、主導権をとりすぎると、あいつは自分の好き勝手にやっているということになりみんなが逃げてしまいます。

つまり、話し合いは、とくに世界中の人があつまって決めることはすごく難しいことです。結局、具体性のない、基本的考えぐらいしかまとまりません。

どこかでだれかが作り、普及させると、それが標準になっていくのです。必ずしも誉められる状態ではありませんが、実際にはそうでなければ、早期に決められないという現実があります。

現在、Microsoftが提唱しているCOMと、SUNが提唱しているJavaがあります。

実際の実行プログラムは、バイナリ標準のコンポーネンツとよばれ、Microsoft版は、ActiveX。Java版は、JavaBeansと呼ばれます。

ActiveX 対 JavaBeans

さてどちらが勝つでしょうか。たくさん普及させたほうが標準になります。私は、Microsoftの味方ではありませんが、ツールなどの環境が優れているActiveXが標準になるものと思っています。

でも、これで終わりではありません。現状の問題を解決するための新しい考え方が生まれ、新たな展開をしていくことは間違いありません。

次は、何が、どういう形で実現されるのでしょうね。


ActiveXとは

ActiveXは、ホームページを作るためのソフトウエア部品(コンポーネンツ)です。

しかも、それらを世界中のコンピュータに置いておき、必要になったらそれらを使い捨てできるという、インターネット時代の部品の使い方が想定されています。

ActiveXと同じ目的をもったものに、BeansとよばれるJavaのソフトウエア部品があります。両者は競合と協調の狭間で、共に進化しています。

Active-Xは、主に据え置き型のPCをベースに設計されたもので、 Javaは、携帯用のPCをベースに設計されたものです。両者の違いは、この基本思想の違いから派生しています。

ActiveXは、HTML文書に<object>タグを挿入し、そのソフトがある場所、名前、パラメータを指定しておきます。

だれかがページを覗くと、ブラウザは、その<object>タグを解釈し、外部のコンポーネントを取ってきて、パラメータを与えて実行します。

なお、MicrosoftがInternet Explorer3.0で最初にサポートしたことから、Active-Xに対応したブラウザは 現在(98-1)、Internet Explorerだけです。


ActivePlatformとは

マイクロソフトのActive Platformとは、ActiveDesktop、ActiveServer、そして、ActiveXの3つのことで、これらはコアテクノロジと呼ばれています。

要するにインターネットするときだけブラウザを立ち上げるというのではなく、Windowsを立ち上げると壁紙がブラウザの背景になっていて、ある文書読み出すとそれがPC内にあればそれを表示し、PC内になければインターネットから取ってくるという感じにするのが、ActivePlatformということのようです。


ActiveXの仕組み

ActiveXコントロールとは、たとえば、動画の再生部品、音を出す部品、 時計の部品など、単機能の機能を果たすものをいいます。 これらソフトウエア部品(コンポーネンツと呼ぶ)は単機能ですから、いくつかを組み合わせて使います。 この組み合わせるものがVBScriptと呼ばれるBASIC言語です。

Javaではこのようなソフトウエア部品(コンポーネンツ)を、Beansと呼びます。
まだ正式リリースではありませんが、BeansをActiveXコントロールとして使うための、ActiveXブリッジというソフトもあります。

JavaScriptは、Javaのプログラムをブラウザで組み合わせて実行させるのに使います。(ただ、JavaScriptの、Javaを使う機能は、機能の一つにすぎません)。ActiveXでは、VScript(VBScriptではない)を使うようになっています。

私がこのページで作っているActive Movieでは、動画の再生部品、音を出す部品、ボタンの部品の 3つを使っています。ボタンを押したとき、BASICプログラム(VB Script)が実行されて、 動画再生と、音を出す部品に対してスタートの合図を送っています。

ActiveX Control PADを使う場合このポイントを知っておれば役立ちます。
作る手順は、同様に、部品を張り付けて大きさを定め、ボタンなどの部品を張り付けて起きます。 指示させたい部品の「アクション」と呼ばれる部分に、VB Scriptを書きます。簡単な動作の場合 単にマウスクリックだけで、BASICプログラムを書く必要はありません。


ActiveXの良いところ

従来プロバイダのサーバーでしかできなかった機能の多くが、 使っている人のPCで実行できるので、負荷の大きな機能も実現できる。
サーバーは、みんなが使うと遅くなるので、負荷が大きくなる機能を持たせることが できなかったんですね。

必要なコントロールが、ページをみたときに自動的にインストールされる仕組みになっているので、あらかじめダウンロードして組み込むという作業をしなくてもいい。
ActiveXをたくさん使ったページをみたとき、一度に多くのコントロールが組み込まれるので すごく時間がかかることがあります。待ちきれず、ほかへ移ったことが多々あります。


ActiveXの困るところ

Internet Explorerしか恩恵にあずかれないんです。
Netscape用のPlug-inはあるようなのでみることができないわけではありません。

先にも書いたとおり、あまりたくさん使うと組み込みに時間がかかるので、現状の回線状況では、 遠慮気味に使う必要があります。

つまり、現状では、使いすぎるとみる人が待ちきれず逃げてしまうことがあるので、 商売などのビジネス関連のホームページで使う場合、十分注意する必要があります。(9 Jan 1998)


認証マークについて

ActiveXはあらゆる言語で記述できることからシステムを破壊するコードも書くことができます。

この危険を回避するために、認証というメカニズム(authenticode)を備えています。

ActiveXを使ったページを開くと、必要なActiveXがすでに組み込んであれば、コンテンツが出てきます。
組み込んでいないActiveXが必要な場合、ダウンロードが始まります。

ダウンロード時には、下のいずれかのメッセージがでます。

認証マークは、ActiveXが認証を受けていて、ファイル中に、ディジタル署名がある場合に出ます。そうでない場合、「問題を起こす可能性がある」という旨のメーッセージが出ます。

認証があると100%安全か、というとそうではないようです。また、「問題を起こす可能性がある」というメッセージが出るからといって、必ず問題が起こるという意味でもないようです。

いずれにしろ、自分の意志で判断し、OKを押すわけですから、普通、問題が起こってもだれにもいえません。このへんは、ActiveXに限ったことでなく、ネットワークのソフトウエア全般にいえることです。


authenticodeとは

authenticode(認証コード)とは、ActiveXの自動ダウンロードの安全性を高めるための認証の仕組みです。

authenticode.exeは、InternetExplorer3.0のauthenticodeを修正、更新するプログラムです。InternetExplorer4.0では、このコードは組み込まれているので、更新する必要はありません。

要は、破壊目的のActiveXが組み込まれるのを防ぐために、ダウンロード前にベリファイ(照合)チェックをする機能です。

仕組み

元のファイルをハッシュコードにし、秘密鍵で暗号化します。そして、認証機関から発行してもらった公開鍵を付加して、デジタル証明書を作成し、AxtiveXのコンポーネンツに、付加しておきます。

ダウンロード時には、まずダウンロードするファイルのディジタル証明書を取り出し、公開鍵が正しいかどうかを、認証機関に問い合わせます。

正しければ、この公開鍵で暗号化していたハッシュコードを取り出します。

実際にダウンロードしたコードからハッシュコードを作成し、そのハッシュコードとディジタル証明書から取り出したハッシュコードを比較し一致すれば正しいと判断されるようです。

要は、元のファイルから作成したチェックコードと、実際にダウンロードしたファイルのチェックコードを比較して正しさを確認します。このとき、チェックコードが盗まれないように公開鍵と秘密鍵で暗号化され、チェックコードそのものの正しさを保証しています。

公開鍵と秘密鍵

公開鍵と秘密鍵のことは、なかなかわかりにくいですが、要は、公開鍵で暗号化されたコードは、秘密鍵でしか開けられません。また、秘密鍵で暗号化されたコードは、公開鍵でしか開けられないという仕組みになっています。


  

カスタム検索



このエントリーをはてなブックマークに追加