ActiveX は、Microsoftが作成した非推奨のソフトウェア フレームワークであり、以前のコンポーネント オブジェクト モデル(COM) とオブジェクトのリンクと埋め込み(OLE) テクノロジを、ネットワーク、特にWorld Wide Webからダウンロードされたコンテンツに適用します。[1] Microsoft は 1996 年に ActiveX を導入しました。原則として、ActiveX はMicrosoft Windowsオペレーティング システムに依存しませんが、実際には、ほとんどの ActiveX コントロールは Windows でのみ実行されます。また、ActiveX コントロールにはコンパイルされたコードが含まれているため、ほとんどの場合、クライアントがx86ベースのコンピューターで実行されている必要があります。[2]
ActiveXは、 Microsoft Edgeの「Internet Explorerモード」でも引き続きサポートされています(これは、 GoogleのChromiumプロジェクトに基づいているため、互換性のない異なる拡張システムを備えています)。[3]
ActiveX コントロール
ActiveXは、コンポーネントベースのソフトウェアエンジニアリングで使用される主要なテクノロジの1つでした。[4] JavaBeansと比較すると、ActiveXはより多くのプログラミング言語をサポートしていますが、JavaBeansはより多くのプラットフォームをサポートしています。[5] ActiveXは、 Active Template Library、Delphi、JavaBeans、Microsoft Foundation Class Library、Qt、Visual Basic、Windows Forms、wxWidgetsなどの多くの迅速なアプリケーション開発テクノロジでサポートされており、アプリケーション開発者がActiveXコントロールを製品に埋め込むことができます。
多くの Microsoft Windows アプリケーション ( Internet Explorer、Microsoft Office、Microsoft Visual Studio、Windows Media Playerなど、Microsoft 自体のアプリケーションを含む) は、ActiveX コントロールを使用して機能セットを構築し、独自の機能を ActiveX コントロールとしてカプセル化して、他のアプリケーションに埋め込むことができます。Internet Explorer では、 Web ページに ActiveX コントロールを埋め込むこともできます。
歴史
OLE 2.0の複雑さとMFCでのCOMのサポート不足に直面したマイクロソフトは、仕様を簡素化し、1996年にこの技術をActiveXとしてリブランドしました。 [6] [7]簡素化後も、ユーザーはコントロールに約6つのコアインターフェイスを実装する必要がありました。この複雑さに対応するため、マイクロソフトはウィザード、ATL基本クラス、マクロ、C++言語拡張機能を作成し、コントロールの記述を簡素化しました。
Internet Explorer 3.0 (1996) 以降、Microsoft は HTML コンテンツ内で ActiveX コントロールをホストするためのサポートを追加しました。ブラウザがタグ (このタグは、当時 W3C の Microsoft 代表だった Charlie Kindel によって HTML 3.2 仕様に追加されました [8] ) を介して ActiveX コントロールを指定するページに遭遇すると、ユーザーがOBJECT 介入するOBJECT ことなく、コントロールが自動的にダウンロードされ、インストールされます。これにより、Web は「リッチ」になりましたが、反対意見 (このようなコントロールは実際には Windows でのみ実行され、サポートされているプラットフォームごとに個別のコントロールが必要でした。Windows 3.1/Windows NT 3.51 用、Windows NT/95 用、Macintosh M68K/PowerPC 用です) やセキュリティ リスク (特にユーザーの介入がないことによる) も生じました。その後、Microsoft は ActiveX を含むブラウジングをより安全にするためのセキュリティ対策を導入しました[9]
例えば:
- インストール パッケージ (キャビネットファイルと実行可能ファイル)のデジタル署名
- コントロールはスクリプトに対して安全であることを明示的に宣言する必要がある
- ますます厳しくなるデフォルトのセキュリティ設定
- Internet Explorerは不正なコントロールのブラックリストを維持している
ActiveX は当初から議論の的となっていた。マイクロソフトはマーケティング資料でJava アプレットに比べてプログラミングが簡単でパフォーマンスが良いと主張していたが、批評家たちはセキュリティ上の問題や移植性の欠如をすぐに指摘し、保護されたイントラネット以外での使用は実用的ではないとした。[10] ActiveX のセキュリティ モデルは、Authenticodeと呼ばれるコード署名テクノロジを使用して信頼できるコンポーネント開発者を識別することにほぼ全面的に依存していた。開発者はVerisignに登録し(個人の場合は年間 20 ドル、法人の場合は 400 ドル)、マルウェアを開発しないことを約束する契約に署名する必要があった。識別されたコードは Web ブラウザー内で完全な権限で実行されるため、コード内のバグは潜在的なセキュリティ問題となる。これは当時 Java で既に使用されていたサンドボックスとは対照的である。 [11]
プラットフォームサポート
1996年10月、マイクロソフトはMacintosh用のActiveXソフトウェア開発キット(SDK)のベータ版をリリースしました。これにはMac上のNetscape Navigator用プラグインが含まれており、同年後半にはSolarisでActiveXをサポートする計画を発表しました。 [12] 6か月とさらに2つのベータ版がリリースされましたが、まだ市販のMacintosh ActiveXプラグインはありませんでした。[13]
1997年、NCompass LabsはMicrosoftと協力して、 ActiveXをサポートするNetscape Navigator用のプラグインをリリースしました。 [14]
ActiveXコアテクノロジーのドキュメントはThe Open Groupにあり、無料で読むことができます。[15]
マイクロソフトはこれまでActiveXをクロスプラットフォーム化する努力をしてきましたが、ほとんどのActiveXコントロールはすべてのプラットフォームで動作するわけではなく、今後も動作しないでしょう。そのため、Webページの重要な機能を実装するためにActiveXコントロールを使用すると、その有用性が制限されます。韓国政府は、ソフトウェアに依存しない動きの中で、2015年頃から、より多くのプラットフォームでWebサイトにアクセスできるようにするために、公開Webサイトからこのテクノロジを削除し始めました。[16]
マイクロソフトはAPIを公開することでActiveXのクロスプラットフォームの側面を推進するために多大な努力を払ったが、 ActiveXコントロールがCまたはC++で書かれ、 Intel x86アセンブリ言語でコンパイルされていたため、標準のWin32 APIを呼び出すことができるWindowsマシンでのみ実行可能となり、最終的にクロスプラットフォームの取り組みは失敗した。[17]
マイクロソフトは、 Windows 8で Internet Explorer 10 のWindows ストア版から ActiveX のサポートを廃止しました。2015 年にマイクロソフトは、 ActiveX をサポートしない Internet Explorer の後継であるMicrosoft Edge をリリースしました。この出来事は、マイクロソフトの Web ブラウザー開発における ActiveX テクノロジの終焉を意味しました。[18] Microsoft Edge には、ActiveX をサポートする「Internet Explorer モード」機能が搭載されています。
Internet Explorer 以外のアプリケーションでの ActiveX
- Mozilla ActiveXコントロールは2005年後半に最後に更新され、Firefox 1.5で実行されます。[19]
- 1997年に最終更新されたNetscape Navigator用のScriptActiveはActiveXコントロールを実行できますが、特別なHTMLタグが必要です。[14]
- Google ChromeでActiveXスクリプトを実行するには、Chromeアプリケーション内でInternet Explorerのタブをエミュレートする拡張機能など、いくつかの拡張機能を利用する必要があります。[20]
その他の ActiveX テクノロジ
Microsoft は、ActiveX オブジェクトを使用して多数の製品とソフトウェア プラットフォームを開発してきました。これらは現在でも使用されています (例: ASP を使用している Web サイト)。
- アクティブ スクリプト(旧称 ActiveX スクリプト) は、JScript、VBScript 、 ActivePerlなどのスクリプト エンジンと、Internet Explorer、Active Server Pages、またはスクリプト ホストを実装するサード パーティ アプリケーションなどのホスティング アプリケーションを橋渡しするために Windows で使用されるテクノロジです。
- ActiveX ドキュメントは、ユーザーが Web ブラウザー内で Microsoft Word、Excel、PDF ドキュメントを表示および編集できるようにする Microsoft テクノロジです。
- Active Messaging (後にCollaboration Data Objectsに改名)
- アクティブ サーバー ページ(ASP)
- ActiveMovie (後にDirectShowに改名)
- ActiveX データ オブジェクト(ADO)
- ActiveX Streaming Format (ASF)、Advanced Streaming Format に改名され、その後 Advanced Systems Format に改名されました。
参照
- アクティブセットアップ
- アクティブ テンプレート ライブラリ(ATL)
- アドビフレックス
- ブラウザ ヘルパー オブジェクト(BHO)
- Google Native Client – Google の代替開発
- IUnknownインターフェース
- JavaBeans
- Netscape プラグイン アプリケーション プログラミング インターフェイス(NPAPI) – Web ブラウザ プラグインの代替インターフェイス
- OLE オートメーション
- シルバーライト( XAP )
- ウィンドウズのDNA
- XAML ブラウザ アプリケーション(XBAP)
参考文献
- ^ 「インターネット上の ActiveX コントロール」。Microsoft Docs。2018年 9 月 12 日。2021 年8 月 19 日に閲覧。
- ^ Anderson, Jerry (1997). Visual C++ による ActiveX プログラミング. Que. ISBN 978-0-7897-1030-7。
- ^ 「Microsoft Edge - IT プロフェッショナル向けのよく寄せられる質問 (FAQ) - Edge」。
- ^ Cai, Xia、他「コンポーネントベースのソフトウェア エンジニアリング: テクノロジ、開発フレームワーク、品質保証スキーム」ソフトウェア エンジニアリング カンファレンス、2000 年。APSEC 2000。議事録。第 7 回アジア太平洋。IEEE、2000 年。
- ^ Hughes, Merlin (1997 年 3 月 1 日). 「JavaBeans と ActiveX が対決」. JavaWorld . IDG . 2016 年 3 月 15 日時点のオリジナルよりアーカイブ。
- ^ 「LabVIEW での ActiveX の使用 - Mission Editor バージョン 1.0 の検証」 。NI Developer Zone。National Instruments。2007 年 8 月 13 日。2008 年 2 月 28 日時点のオリジナルからアーカイブ。2009年3 月 12 日に取得。ActiveX
という用語は、1996 年初頭に Microsoft の世界で登場しました。
- ^ 「Microsoft が ActiveX テクノロジを発表」。ニュース センター。Microsoft。1996年 3 月 12 日。2017 年 2 月 12 日時点のオリジナルよりアーカイブ。2017年2 月 11 日閲覧。Microsoft Corp. は本日、ActiveX … テクノロジを
発表しました。このテクノロジにより、幅広いソフトウェア開発者や Web デザイナーがインターネットや PC 用の動的コンテンツを簡単に作成できるようになります。… ActiveX テクノロジは、ソフトウェア コンポーネント、スクリプト、既存のアプリケーションを使用してインタラクティブ コンテンツを作成するための堅牢なフレームワークを形成します。具体的には、ActiveX テクノロジにより、開発者は ActiveX コントロール (旧 OLE コントロール)、アクティブ スクリプト、アクティブ ドキュメントを使用して Web コンテンツを簡単に作成できます。… ActiveX テクノロジは、Microsoft ActiveX 開発キットの形で提供されており、本日サンフランシスコで開催される Professional Developers Conference に出席する 4,000 人以上の開発者に配布されます。
- ^ 「第2章」www.w3.org . 2019年8月29日閲覧。
- ^ 「ActiveX コントロールのアクティブ化」。2006 年 4 月 18 日。2006 年 4 月 19 日時点のオリジナルよりアーカイブ。2009年6 月 16 日閲覧。
- ^ 「ActiveX テクノロジー: 現時点では利用できません」。InfoWorld 、 1997 年、90 ページ以降。
- ^ Dugan, Sean (1997 年 5 月 19 日)。「ActiveX セキュリティ モデルの公開」。InfoWorld。98ページ。
- ^ Quinlan, Tom (1996 年 10 月 28 日)。「MacOS は ActiveX にアクセスできるようになります」。InfoWorld、p. 48。
- ^ Pearlstein, Joanna (1997 年 4 月 11 日). 「6 か月後、ActiveX は Mac 市場で消極的」。MacWEEK誌第 11 巻第 15 号。1997 年 4 月 12 日時点のオリジナルよりアーカイブ。
- ^ ab 「プラグインで遊ぶ」。Computerworld。IDG Enterprise。1997 年 4 月 7 日
。ncompass activex プラグイン。
- ^ 「ActiveX Core Technology のドキュメント」。The Open Group。2020 年 4 月 30 日時点のオリジナルよりアーカイブ。2020年5 月 1 日閲覧。
- ^ 「ソウル、公共ウェブサイトからActiveXソフトウェアを削除する準備」Yohap News Agency。2015年3月3日。2015年3月22日時点のオリジナルよりアーカイブ。
- ^ 「ActiveXは国家安全保障を脅かすか?」WIRED 。2018年10月15日閲覧。
- ^ Keizer, Gregg (2015 年 5 月 10 日). 「Microsoft が新しい Edge ブラウザで ActiveX アドオン技術を廃止」. Computerworld . IDG . 2015 年 5 月 14 日時点のオリジナルよりアーカイブ。
- ^ 「Mozilla Control」。2011年4月29日。2011年4月29日時点のオリジナルよりアーカイブ。
- ^ 「Chrome で ActiveX を有効にする方法」Alphr . 2022 年8 月 7 日閲覧。
外部リンク
- ActiveX コントロールの有効化
