ActiveX documents as GIS Web Client Applications
The Web Page based Application
The web page based application consists of a user interface, which is usually defined using HTML, and supporting
application code, which is usually written in a scripting language such as JavaScript or VBScript. This type of
application may also incorporate custom or third party components, such as ActiveX controls and Java applets,
which implement specific features that cannot be delivered with the standard scripting languages.
The underlying application is usually very thin. Application code is implemented primarily to provide a means of
requesting data from the server and to provide some degree of interaction between the web page’s user interface
elements: most of the actual data processing occurs at the server.
The primary advantages of deploying a web page based solution are:
- Ease of installation. With some exceptions, the application is made available by directing an end user to the
application’s web page, which is usually placed on the server. If they are not too complex, additional
components on which the application depends may be downloaded automatically and registered on the client
workstation when the web page is first loaded.
- Platform and browser independence. Theoretically, if the application’s layout is defined using standard HTML
and the application code is written with care in JavaScript, the application should be accessible by all users,
regardless of the web browser they will use or the operating system on which the application will be executed.
- The application can take advantage of the features offered by the web browser, such as navigation and the ability
to display multiple web pages in frames.
- Application enhancements or fixes can usually be made to the application’s source code at the server; there is no
need to redistribute the application to the end users.
The primary disadvantages of deploying a web page based solution are:
- " Using HTML to design a user interface with a precise or complex layout is much more difficult.
- The use of scripting languages imposes constraints both in terms of performance and the feature set that can be
supported by the application; scripting languages do not provide access to features and functionality supported
by an underlying operating system. While it is feasible to add specific features and take advantage of
functionality supported by the underlying operating system using ActiveX controls and other components, this
will usually defeat the goal of platform independence. As well, the automatic download process provided by
web browsers such as Microsoft’s Internet Explorer may fail to download and register more complicated
components correctly on a user’s workstation.
- Implementing a mechanism that allows web pages to communicate is extremely difficult; consequently, the
primary user interface of most web page based applications must be provided on a single page.
The stand-alone executable
A stand-alone executable application is developed in a language such as Java or Visual Basic (VB) and must be
installed separately on the workstations of the end users. This type of client application is implemented for those
cases where the client application must support a richer feature set; this can be a result of a need to reduce the load
on, or to provide functionality that can not be provided effectively by, the server.
The primary advantages of deploying a standalone executable are:
- Integrated development environments (IDEs), such as those provided with Microsoft’s Visual Studio, can result
in a faster development process, along with the capability of defining a more precise and complex user interface
layout.
- Because the application code is compiled, the performance of the application is usually better.
- The ability to take advantage of functionality supported by the underlying operating system. This can result in a
much richer client application that provides the user with more features and which can assist in offloading the
server.
- Installation of the application and its dependent files can be performed in a single, controlled process. This type
of installation process is preferable in those cases where the ability to download components across a network is
restricted either by an organization’s internal policies or by technical limitations to the web browser’s ability to
perform the download process reliably.
The primary disadvantages of deploying a standalone executable as a web client application are:
- The executable must be installed separately on the workstation of each end user.
- The application must be re-deployed and reinstalled each time it is enhanced, fixed, or changed in any way.
- The client application is almost always platform dependent.