HDR What is ActiveX?

Internet Applications


What is ActiveX?

The concept: now a programmer can write a small amount of code that can be accessed from within a browser using the "OBJECT" tag. The program code is compiled and digitaly signed so that it can be coded to do almost any task a normal application can do, having full system access, a short coming JAVA has yet to overcome.

You can make a browser begin to act like any other application, completely taking on a different look, or you can have a seperate application window open up giving your ActiveX Control the look of a full blown application. If you have Internet Explorer 3.0, you already have a few ActiveX Controls installed and ready to use on your system. All you need is the ActiveX Control Pad from Microsoft and you can begin WYSIWYG'ing your ActiveX controls onto a HTML page.

What is the big advantage of Active X over Java? ActiveX gives the browser something it has been lacking, full interaction with the client, including devices, files, and other applications. If this all sounds familiar, ActiveX is simply OLE reworked for the Internet Model. For more information on changing computer models please read the first page on ActiveX. Unlike Java, or some type of browser plug-in, ActiveX makes the browser act as an application platform and opens the operating system up. Early implementations made this impossible due to a lack of security. ActiveX solves this securtity concern with the use of "software signatures", digital cryptograhic techniques that can't be forged, tampered with or otherwise copied. Combining this security with the use of ClassID's and repository servers to deliver the Control to the client, your can give the client confidence that they are using the latest version of your control and that it won't reformat their hard disks!

Other big advantages:

Version checking, if the client already has a version the repository can still be checked to see if a newer version exists, if it does, then it is downloaded and updated in the client OCX cache. Since ActiveX is implemented in a binary format, speed is increased both in download time and operation, further compression is available from Microsoft that will allow you to compress your controls by a factor of two, this will decrease download time but slow initial operation since the client will have to uncompress the control on the fly. Binary compilation seems like a drawback since compiles will have to be made for all supported platforms. Properly setting up the server for content negotiation will work around this and deliver the browser the proper version of the code based on the platform the browser is running. Using a repository to store controls frees the average webmaster from configuring the web server.

Open Standards

Microsoft has turned over ActiveX to the Open Group. The Open Group will manage and create the standards by which we use ActiveX. Currently ActiveX is fully supported in WIN95 (both IE and Netscape) ,MACOS (via IE only), and a third party offering for a variety of Unix systems. It is expected to see implementation into XWindows in the near future. If you are using WIN95 and Netscape, you will need a plugin for ActiveX but it is fully implemented. Unlike JAVA, ActiveX isn't a programming language. ActiveX is a component level technology, that is a tool for developing object oriented programs. Java object can be included as well as any other progaming language that the intended platform can understand. Therefore while it may sound as though Java and ActiveX compete head to head, they don't. In many ways Java is a complement to ActiveX. Knowing the strengths and weaknesses of both can give a programmer the best tools for the job. The major points of programming ActiveX to use the Internet as a client server environment are listed below. ActiveX allows this to be done today.


The steps work like this:

Programming

You write the ActiveX Control in VB or C++. This is another plus over JAVA, while ActiveX isn't a programming language, it gives you the choice of richer programming environments like C++ or if you choose simpler programming systems like VB 5.0 or even Java. Write your HTML code and setup you web pages. You may even use some Java class objects at your site or even some JavaScript to jazz it up. The future will see even more sophisticated programms being written for the server side in the SERVER API that will interact with ActiveX object to produce the most seemless internet applications.

Distribution

Controls are registered with a repository on the internet to provide secure delivery. Under Microsoft's DCOM model this feature is included as part of the distributed object method of code portability and security. This also furthers the creation of a real "open system" via the Internet. Again, this type of implementation is missing with JAVA, excepting COBRA and RMI, that can be utilized with JAVA classes, but Object Distribution is beyond the scope here. Surfice it to say, ActiveX utilizes a form of Object Ditribustion that appears to cover all the bases and will be ready for the implementaion of URN, Universal Resource Name, which some day is set to replace URL or at the very least add to it. Redistrubation is never a problem with ActiveX, unlike JAVA, two types of licenses can come with a control. The first, a end-user license, will allow use on the browser where it was downloaded. Secondly, a developer license allow the control to be used from a certain site, any other distribution and the control won't work.

Implementation

An "OBJECT" tag is included in the HTML code including where the object resides. You can use a direct path to your server where the control resides, or setup a repository entry with your Class ID and have it delivered to the client from a Certificated site. If the Class ID doesn't come from a Certificated site then the Client will be warned with a pop-up dialog box before the control begins to download. There can be many features of a control that the end user can change by using Jscript or VBscript, end users can 'feed' the control a variety of parameters to change the look and feel of the control. This is very similar to sending parameters to JAVA class calls from HTML, however more HTML programmer control can be made available, giving one implementation of a control a different look than another. This is true object oriented programming in a burgeoning open system.


For information on HealthData products and services, please send e-mail to webmaster@hdata.com, phone us at (512)306-1916, or FAX your request to (512)306-1926. Our main site is located at www.hdata.com. This page, and all contents, are Copyright (C) 1998 by HealthData Resources, Inc. All rights reserved.


HDR, INC 1998 VER 4.0