ActiveX – (Previously COM)

Microsoft’s component technology started off being known as COM – the Component Object Model.   To build software components that can communicate with each other both locally and across networks then you need a standard framework.  Active X provides that standard together with an associated technology called DCOM (Distributed Component Object Model) which allows the components to communicate across the internet and other networks.

ActiveX has been with us through many years and has been updated consistently.  It is promoted as a tool for building both dynamic web pages plus sophisticated distributed object applications.  Every time a client visits a web site which runs Active X components a version check is performed and the latest  controls are downloaded to the browser.  These are not deleted when the browser navigates away but kept updated, this is necessary in order to keep the browser controls updated as far as possible.  Obviously sometimes there are configuration or security options enabled in particular browsers which prevent this.

You may have seen ActiveX controls run in all sorts of situations, perhaps running some graphical banners or multimedia applications on a web page.  ActiveX controls also can run complicated real time information systems on pages, perhaps temperature measurements, financial tickers or simply just updated news feeds actively updating themselves.   ActiveX controls have the facility to directly access data servers using protocols that are much more sophisticated than anything standard HTTP can handle.  It’s an important concept to understand in the development of distributed object computing.

ActiveX looks at a computer browser in a different way than you might imagine, it simply considers it as a container which has the ability to hold and display ActiveX controls.   Many of the internet’s most impressive interactive objects are in fact ActiveX controls and they represent a way for developers to push beyond the static, simple pages supported by the Hypertext Transport Protocol.  One of the downsides is obviously cross-compatibility which relies heavily on the ability of the client browser to downloading the specific components required locally and keeping them up to date.   When a user/browser initially visits an ActiveX site for the first time there can be a significant delay whilst core components are downloaded, however updates and additional installations are usually performed very quickly in the background.

The controls have the additional advantage of combining well with the user interface of most common interfaces.  The simplest of course is with traditional Windows systems, as ActiveX is based on COM technology which is already incorporated within MS Windows.   Microsoft has been very pro-active in support cross platform support though and the Active Platform technology has also been extended to work with other operating systems such as Macintosh, Unix and Linux.    There is also a sophisticated programming language called Active Scripting which can be used on all these platforms to control and integrate ActiveX objects from the server or the client.

Microsoft have attempted to prevent technological conflicts by also allowing ActiveX component to interact and work alongside the main competitor JAVA to some extent.  Remember though all Java applets function for security reasons within their own virtual machines on the user’s computer.    ActiveX requires greater access to the operating system so cannot operate within this virtual sandbox, so although call can be made across components their interaction is limited to some extent.

Additional Reading

Networks, Proxies and VPNs in Distributed Computing –