ActiveX documents as GIS Web Client Applications
A third option: ActiveX® documents
There may also be scenarios for which certain features offered by both the web page application and the standalone
executable are required in order to meet the requirements of the end users. Consider the case where it has been
decided that a standalone executable written in Microsoft’s Visual Basic programming language is to be deployed,
either because a suitable application has already been written or it has been determined that this type of executable
can meet specific user requirements, whereas the web page solution can not. It may also be necessary, however, to
access some of the features supported by a web browser.
For example, the requirements might state that the application is to be deployed from the server; as well, the
application is to be run inside one frame of a web page, with HTML help and other files occupying other frames in
the same web page. A typical solution that attempts to address these specific requirements has been to implement a
single ActiveX control that provides the complete user interface and all of the required functionality, and which is
then inserted into a web page; the HTML code of the web page is used to place the monolithic control and the
application scripting code controls navigation and communication between the page’s frames. In the case of this
particular example, however, the same result could be realized, with more efficient and elegant results, using an
ActiveX Document.
ActiveX Documents share some similarities with ActiveX controls. Both components are based on Microsoft’s
ActiveX technology∗. As well, instances of both components must be inserted or sited into a container application:
neither component can be run on their own as a stand-alone application.
ActiveX Documents differ from ActiveX controls in the following ways:
- An ActiveX Document is a full and complete form based application, whereas an ActiveX control is intended to
provide a single, encapsulated set of features that may or may not have a user interface. In other words, ActiveX
controls can be considered to be software building blocks that are inserted with other components into a
container application, while ActiveX Documents are applications in their own right.
- An ActiveX control is inserted into either a web page frame or VB application form along with other
components. The underlying application code provides the means by which these components interact. An
ActiveX Document, on the other hand, occupies the entire area of a frame in the host application.
- The menu items of an ActiveX Document are merged with those of the container application. The user has
access to the application’s menu items in the usual location, and the menu items of the container application,
such as navigation and the “favorites” list in the case of Internet Explorer, are still available.
History
ActiveX Documents were originally called “Office Compatible” objects by Microsoft. The intent was to provide a
framework that focused on the concept that Microsoft Office files were to be considered first and foremost as
documents, rather than separate files that were generated using different applications. One of the outcomes of this
approach was the technology known as Object Linking and Embedding (OLE), whose original goal was to not only
allow a document to be inserted into an application, but to also allow that document to be edited in place using the
application which was originally used to create it.
Another outcome was the development of an application called Microsoft Binder. The goal of this application was to
provide a means of allowing the user to assemble a collection of Office Compatible objects in a single container. As
the user leafed through each document in the collection, the container’s menu items would change to allow the user
to edit or change a specific file. Thus, the user would be presented with a group of documents that shared a
consistent interface.
The technical implementation of the second version of OLE lead to its use in other types of applications, and this
technology has now been given the name ActiveX by Microsoft. The design framework of the Microsoft Office
application suite, which includes Word and Excel, has become known as ActiveX Documents, and the Microsoft
Binder application was the first to be designed to be what we would now call an ActiveX Document container
application.
While the Microsoft Binder application is not commonly used today, the underlying technology can be found
throughout the range of Microsoft’s products. For example, from version 3.0, the Internet Explorer web browser has
been implemented as an ActiveX Document container application. The result is that not only is it possible for a user
to open a Microsoft Word file for viewing in Internet Explorer, it is also possible for that file to be edited from
within the web browser; the menu items from Microsoft Word that are specific to the viewing and modification of a
Word document are merged with those of the Internet Explorer browser application when the document is loaded.
Like the technology that was used to implement the second version of OLE, which is now known as ActiveX and
which can be found in extensive use in other applications developed by Microsoft, the technology underlying “Office
Compatible objects” can be used to develop rich, web-based client applications.