Sunday 10 May 2015

Comparing ActiveX to Java Classes


When Microsoft introduced the VBX for use within the Visual Basic programming environment, it created an entire industry of component manufacturers. The VBX standard was straightforward and allowed developers to implement encapsulation of distributable programming tools. Each VBX/OCX implements its own properties and methods and allows the programmer to trap events. Although OCXs (now called ActiveX controls) are implemented using Microsoft OLE, these controls still appear to the developer as a set of properties, methods, and events encapsulated in one single programming object.

A Java class allows developers some advantages over an ActiveX control. Ignoring for the moment various features built into the language such as threading and exception handling, Java classes fully support inheritance and polymorphism. How important is this? Currently, hundreds of Java class source files are freely available on the World Wide Web. This list grows daily, and it is growing quickly. Java developers envision a world where Java class clearinghouses are available to quickly download classes that can be extended by individual developers. In addition to this, various third-party Java class libraries are already appearing for the support of various operations such as multimedia, networking, and database access. All of this code is completely reusable and extensible (not to mention platform-independent!).

When a Java class is downloaded from a Web server, it is able to communicate freely with the server that it was downloaded from. This is extremely useful for database access, running CGI scripts, or retrieving additional classes. ActiveX controls, meanwhile, are allowed to communicate with any machine containing Distributed Component Object Model (DCOM) objects. ActiveX controls are also basically allowed full access to the user's system, unlike Java applets, which are restricted.

ActiveX controls do have some distinct advantages, however. Any ActiveX container application can communicate with and display an ActiveX control within its window. This means that Web browsers that are ActiveX-enabled (such as Microsoft Internet Explorer 3.0) will be able to display Excel spreadsheets directly on an HTML page. ActiveX controls uploaded to a user's Web browser can also communicate with any application that supports COM (Component Object Model) interfaces.

Currently, it appears that Microsoft intends to wrap Java classes with an ActiveX layer to allow Java developers to take advantage of the features mentioned here. This will be done through the magic of the Microsoft Windows Virtual Machine for Java and the underlying Component Object Model.


No comments:

Post a Comment