| Resources By Subject |
| Technical |
|
|
|
by Ted Brockwood
What can it do for you? Microsoft hates to be beaten to the punch. That's never been more obvious as when they nearly missed the Internet boat. While everyone else was forming Internet strategies, Microsoft was simply ignoring it, brushing it off as nothing more than another trend. Then one day they woke up, and the lion roared. Within a few weeks of Bill Gates' announcement of the Microsoft Internet strategy, a new Web browser from Microsoft appeared.
July 1, 1997
Internet Explorer, as the browser was named, instantly began to bite into the market share held mostly by Netscape. Yet the crew at Netscape didn't seem worried. After all, they had licensed Java, one of the most promising creations the Internet has produced. The Java language was being used to create simple applets (miniature applications) and was being hyped as the end of the Windows monopoly on operating systems. Java would allow any application created in it to be run on any other Java-capable machine. Netscape had turned its own Web browser into an integrated Java environment. Java applets could conceivably run on any Operating system, be it a Mac, PC, Unix box, or whatever. Many industry insiders were proclaiming the imminent death of the Microsoft machine.
Then, Microsoft did something it was rarely known to do. It admitted Java was a worthwhile technology, and then set about licensing it. Not only did Microsoft license Java, it began work on its own enhancements to Java. Thus, ActiveX was born.
ActiveX's main aim is to take the best part of Java (cross-platform compatibility), and merge it with the Windows standards that developers (and users) know and love. ActiveX is not totally new, it is more a recycling of core components of the Windows system, adding Java, grinding them all together and creating a new development environment. In this new environment, we can see ActiveX not only making Windows a more robust system, but making it compatible with other operating systems.
Exactly what are the advantages of ActiveX components? For programmers, they make developing Internet applications much simpler. Since there are literally hundreds of ready-to-use OCX's (ActiveX controls) from the Windows development environment, it is easy to carry them over to the Internet. A developer can rapidly create an application in Windows with ActiveX controls, and rather effortlessly port it over to a Web based application. As long as the end-user has an ActiveX-capable browser (Internet Explorer or Netscape with the ActiveX plug-ins), they can download the components necessary to run the Web application. The Visual Basic programming language, with its RAD (Rapid Application Development) capabilities, is seeing a surge in use as it eases the transition to ActiveX. Developers are finding a plethora of tools that allow them to quickly convert a Visual Basic application to a Web-ready application in an incredibly short amount of time.
One more advantage for developers is that many companies are developing products that actually use ActiveX controls to convert Windows applications to Java. When all the bugs are worked out of these products, developers worldwide will breathe a collective sigh of relief. The ability to create a Windows application and convert them to the multi-platform Java language is sure to be the Holy Grail of programming. For the end user, ActiveX offers a broad assortment of advantages ranging from better Web pages to improved Windows applications.
One of the main current uses for ActiveX is to make Web pages more interactive and to ease the load on a server. For the Web-browsing public, this is great news. For example, whenever you fill in a form online and submit it, this info is sent to the server to be processed. The server then double-checks your entries and sends a verification request back to you asking "is this data correct?" The user must then decide if everything looks good and submit it again to the server for final processing. With ActiveX controls embedded in the form itself, the server's workload is diminished. This is possible because the ActiveX controls on the form take care of the form processing locally (on your PC). These controls contain the information about verifying form input, which is dumped to your machine. Thus, when you submit the data to the form, your machine actually processes your input and checks for any inaccuracies. Then, when you've verified that everything looks good, the ActiveX control turns the input into a file that is sent to the server. The server does a minimal amount of processing, as the control has converted the data into a palatable, server-ready format. For those using online databases to add, remove, or modify records, ActiveX controls can turn a Web page into a full-blown database application.
Another use of ActiveX components would be to upgrade pre-installed software. ActiveX components on a Web site could check your software's version, compare it to the current version, and ask you if you want the most recent upgrade. If you accept the upgrade, just the components you need are downloaded (instead of an entire application) and automatically installed on your machine.
ActiveX components can be used to tie your existing software into the Internet. A current example would be Microsoft Office97. Every application in Office97 is Internet-ready. That is, you can click on "Browse the Web" from inside the application, and start surfing. The application creates a browser view that is seamlessly integrated with your current view. You can even drag and drop links, text, and images from the browser view into your current application.
Aside from this "browse the Web" use of ActiveX applications, it can also be used to truly integrate with applications. As an example, imagine browsing the corporate Intranet and suddenly finding some data that would be very useful in a spreadsheet. You call up an ActiveX spreadsheet applet and use it to copy and modify the data. Later, you call up Excel and tell it to open the previous applet and dump its data to Excel.
There are two weaknesses to the ActiveX system. Firstly, it was developed in a Windows environment and is very Windows-centric. Although Windows is probably the most common operating system in use, the whole idea behind an open system is that it is open, i.e. it works on any platform. With Java, the user need only have a Java Virtual Machine (VM) to process Java applets. With ActiveX, you're still bound to the Windows environment, although Microsoft is saying this is not going to be the case for long. Microsoft has actually made ActiveX an open standard, and given control of it to a 3rd party, which should make it a much more open system. By licensing Java as part of ActiveX, we should see much more cross-platform functionality in the near future.
The second weakness of ActiveX is security. ActiveX components are not like Java applets. Whereas Java runs in a protected environment on the user's PC, ActiveX controls dig into the Windows operating system itself. A poorly written or malicious ActiveX component could destroy data and wipe out a user's operating system.
In an attempt to quell fears about ActiveX security, Microsoft created a control registration and certification system. Microsoft's agency will examine a control, component, or application, and certify it as acceptable by their standards. When you hit upon a page that has a control embedded in it, Internet Explorer will show you the level of certification of the control, issue any warnings, and ask if you wish to install the component.
Unfortunately, the standards body that tests this is still going through some testing itself. Recently, to illustrate the weakness of the ActiveX certification process, the Internet Exploder was developed.
After downloading the Exploder control, it crashes the user's Web browser, and, according to rumor, can shut down the PC if it has power saver functions. I've personally run into the Exploder and have seen it take out my browser (a simple reboot clears it out). The programmer who created this control actually went through the certification process and obtained a full certification for it! His intentions were not malicious. He just wanted to shake up everyone and let them know that security needs to be taken much more seriously than it has been.
As it currently stands, ActiveX is a great boon for Windows users, but on other operating systems, much work will need to be done to make it compatible. Fortunately, with the integration of Java into ActiveX, this should come sooner rather than later.
For more information:
Microsoft: http://www.microsoft.com/activex
The ActiveX organization: http://www.activex.org
Ted Brockwood is the Information Services Manager for a real estate listing service in Oregon. His experience covers Java, Linux, UNIX, NT, Win95/98, Win3.x, and DOS.
|