|
|
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.
|
|