ActiveX
{{ safesubst:#invoke:Unsubst||$N=Use dmy dates |date=__DATE__ |$B= }}
ActiveX is a software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide Web.[1] Microsoft introduced ActiveX in 1996. In principle, ActiveX is not dependent on Microsoft Windows operating systems, but in practice, most ActiveX controls only run on Windows. Most also require the client to be running on an x86-based computer because ActiveX controls contain compiled code.[2]テンプレート:Page needed
ActiveX is still supported as of Windows 10 through Internet Explorer 11, while ActiveX is not supported in their default web browser Microsoft Edge (which has a different, incompatible extension system).
Contents
ActiveX controls
ActiveX is one of the major technologies used in component-based software engineering.[3] Compared with JavaBeans, ActiveX supports more programming languages, but JavaBeans supports more platforms.[4] ActiveX is supported in many rapid application development technologies, such as Active Template Library, Delphi, JavaBeans, Microsoft Foundation Class Library, Qt, Visual Basic, Windows Forms and wxWidgets, to enable application developers to embed ActiveX controls into their products.
Many Microsoft Windows applications—including many of those from Microsoft itself, such as Internet Explorer, Microsoft Office, Microsoft Visual Studio, and Windows Media Player—use ActiveX controls to build their feature-set and also encapsulate their own functionality as ActiveX controls which can then be embedded into other applications. Internet Explorer also allows the embedding of ActiveX controls in web pages.
History
Faced with the complexity of OLE 2.0 and with poor support for COM in MFC, Microsoft simplified the specification and rebranded the technology as ActiveX in 1996.[5][6] Even after simplification, users still required controls to implement about six core interfaces. In response to this complexity, Microsoft produced wizards, ATL base classes, macros and C++ language extensions to make it simpler to write controls.
Starting with Internet Explorer 3.0 (1996), Microsoft added support to host ActiveX controls within HTML content. If the browser encountered a page specifying an ActiveX control via an OBJECT
tag, it would automatically download and install the control with little or no user intervention. This made the web "richer" but provoked objections (since such controls, in practice, ran only on Windows, and separate controls were required for each supported platform: one for Windows 3.1/Windows NT 3.51, one for Windows NT/95, and one for Macintosh F68K/PowerPC.) and security risks (especially given the lack of user intervention). Microsoft subsequently introduced security measures to make browsing including ActiveX safer.[7]
For example:
- digital signing of installation packages (Cabinet files and executables)
- controls must explicitly declare themselves safe for scripting
- increasingly stringent default security settings
- Internet Explorer maintains a blacklist of bad controls
ActiveX was controversial from the start; while Microsoft claimed programming ease and good performance compared to Java applets in its marketing materials, critics of ActiveX were quick to point out security issues and lack of portability, making it impractical for use outside protected intranets.[8] The ActiveX security model relied almost entirely on identifying trusted component developers using a code signing technology called Authenticode. Developers had to register with Verisign (US$20 per year for individuals, $400 for corporations) and sign a contract, promising not to develop malware. Identified code would then run inside the web browser with full permissions, meaning that any bug in the code was a potential security issue; this contrasts with the sandboxing already used in Java at the time.[9]
Platform support
In October 1996, Microsoft released a beta version of the ActiveX Software Development Kit (SDK) for the Macintosh, including a plug-in for Netscape Navigator on the Mac, and announced its plan to support ActiveX on Solaris later that year.[10] Six months and two more beta releases later, there had yet to be any commercially available Macintosh ActiveX plugins.[11]
In 1997, NCompass Labs in cooperation with Microsoft released a plug-in for Netscape Navigator to support ActiveX.[12]
Documentation for ActiveX core technology resides at The Open Group and may be downloaded free.[13]
Despite Microsoft's previous efforts to make ActiveX cross-platform, most ActiveX controls will not work on all platforms, so using ActiveX controls to implement essential functionality of a web page restricts its usefulness. South Korea has started to remove this technology from their public websites in order to make their web site accessible to more platforms.[14]
While Microsoft made significant effort to push the cross-platform aspect of ActiveX by way of publishing the API, ultimately the cross-platform effort failed due to the ActiveX controls being written in C or C++ and being compiled in Intel x86 Assembly language, making them executable only on Windows machines where they can call the standard Win32 APIs.[15]
Microsoft dropped ActiveX support from the Windows Store edition of Internet Explorer 10 in Windows 8. In 2015 Microsoft released Microsoft Edge, the replacement for Internet Explorer with no support for ActiveX, this marked the end of the technology in Microsoft's web browser development.[16]
ActiveX in non-Internet Explorer applications
It may not always be possible to use Internet Explorer to execute ActiveX content (e.g., on a Wine installation), nor may a user want to.
- Mozilla ActiveX Control was last updated in late 2005, and runs in Firefox 1.5.[17]
- ScriptActive for Netscape Navigator last updated in 1997 can run ActiveX controls but requires a special HTML tag.[12]
- Google Chrome ActiveX Control is available through the utilization of the IE Tab Extension for Google Chrome, which allows the use of a special "IE Tab," an emulation of Internet Explorer within the Chrome application. The IE Tab displays a second address bar and processes ActiveX protocols normally. Enabling ActiveX protocols allows Chrome users access to a variety of interactive dynamic websites like game and business web applications.
Other ActiveX technologies
Microsoft has developed a large number of products and software platforms using ActiveX objects. They are still used (e.g., websites still use ASP):
- Active Scripting (formerly known as ActiveX Scripting) is the technology used in Windows to bridge scripting engines like JScript, VB Script or ActivePerl and hosting applications like Internet Explorer, Active Server Pages, or third party applications that implement a scripting host.
- ActiveX Document is a Microsoft technology that allows users to view and edit Microsoft Word, Excel, and PDF documents inside web browsers.
- Active Messaging, later renamed Collaboration Data Objects
- Active Server Pages (ASP)
- ActiveMovie, later renamed DirectShow
- ActiveX Data Objects (ADO)
- ActiveX Streaming Format (ASF), renamed Advanced Streaming Format, then to Advanced Systems Format
See also
- Active Setup
- Active Template Library (ATL)
- Adobe Flex
- Browser Helper Object (BHO)
- Google Native Client – an alternative development from Google
- IUnknown interface
- JavaBeans
- Netscape Plugin Application Programming Interface (NPAPI) – an alternative interface for web-browser plugins
- OLE Automation
- Silverlight (XAP)
- Windows DNA
- XAML Browser Applications (XBAP)
References
- ↑ “Introduction to ActiveX Controls”. MSDN. Microsoft. 2016年5月14日時点のオリジナルよりアーカイブ。. 1 June 2016閲覧.
- ↑ Anderson, Jerry (1997). Activex Programming with Visual C++. Que. ISBN 978-0-7897-1030-7.
- ↑ Cai, Xia, et al. "Component-based software engineering: technologies, development frameworks, and quality assurance schemes." Software Engineering Conference, 2000. APSEC 2000. Proceedings. Seventh Asia-Pacific. IEEE, 2000.
- ↑ Hughes, Merlin (1997年3月1日). “JavaBeans and ActiveX go head to head”. JavaWorld. IDG. 2016年3月15日時点のオリジナルよりアーカイブ。 Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ↑ “Using ActiveX with LabVIEW – Examining Mission Editor Version 1.0”. NI Developer Zone. National Instruments (2007年8月13日). 2008年2月28日時点のオリジナルよりアーカイブ。. 12 March 2009閲覧. “The term ActiveX surfaced in the Microsoft world in early 1996.”
- ↑ “Microsoft announces ActiveX Technologies”. News Center. Microsoft (1996年3月12日). 2017年2月12日時点のオリジナルよりアーカイブ。. 11 February 2017閲覧. “Microsoft Corp. today announced ActiveX … Technologies, which make it easy for the broadest range of software developers and Web designers to build dynamic content for the Internet and the PC. … ActiveX Technologies form a robust framework for creating interactive content using software components, scripts and existing applications. Specifically, ActiveX Technologies enable developers to build Web content easily using ActiveX Controls (formerly OLE Controls), active scripts and active documents. … ActiveX Technologies are available in the form of the Microsoft ActiveX Development Kit, which is being distributed to more than 4,000 developers attending the Professional Developers Conference in San Francisco today.”
- ↑ “Activating ActiveX Controls”. Activating ActiveX Controls (2006年4月18日). 2006年4月19日時点のオリジナルよりアーカイブ。. 16 June 2009閲覧.
- ↑ “ActiveX technology: You can't go there today”. InfoWorld: pp. 90 ff.. (1997年5月19日)
- ↑ Dugan, Sean (1997年5月19日). “Exposing the ActiveX security model”. InfoWorld: p. 98
- ↑ Quinlan, Tom (1996年10月28日). “MacOS will get access to ActiveX”. InfoWorld: p. 48
- ↑ After 6 months, ActiveX passive in Mac market. 11. MacWEEK. (11 April 1997). オリジナルの12 April 1997時点によるアーカイブ。 .
- ↑ 12.0 12.1 (1997-04-07) “Playing with plug-ins”, Computerworld (en). IDG Enterprise.
- ↑ “Documentation for ActiveX Core Technology”. The Open Group. 2012年10月10日時点のオリジナルよりアーカイブ。. 7 August 2012閲覧.
- ↑ “Seoul poised to remove ActiveX software from public websites”. Yohap News Agency (2015年3月3日). 2015年3月22日時点のオリジナルよりアーカイブ。 Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ↑ “Will ActiveX Threaten National Security?” (en-US). WIRED . 2018閲覧.
- ↑ Keizer, Gregg (2015年5月10日). “Microsoft nixes ActiveX add-on technology in new Edge browser”. Computerworld. IDG. 2015年5月14日時点のオリジナルよりアーカイブ。 Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ↑ “Mozilla Control” (2011年4月29日). Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
External links
テンプレート:Microsoft Windows components
テンプレート:Internet Explorer