Java and ActiveX
Java wins on the Internet, but the intranet rules
By William Blundon, JavaWorld.com, 09/01/96
What's the easiest way to make ten million dollars?" goes the old joke. "First, get a million dollars," is the old answer.
Success breeds success, and in the software business success is measured as much in market share as in revenue. Market share
is an awesome but fickle force. In the Internet today, there are major market share leaders: Netscape in Web browsers, and
Microsoft in everything else. As a new set of de facto standards evolves in the next few years, market share as much as technological
elegance will enable dominance.
While most people are focused on the Internet, Zona Research, IDC, and other industry analysts forecast that the majority
of corporate IT spending will be on intranets. Forecasts vary, but nearly every analysis predicts at least three to five times
more spending on intranet versus Internet sites. Many thoughtful studies, including those from InfoWorld ("The Internet in the Enterprise," November 1995) and Zona, conclude that the corporate intranet will provide more than just
information retrieval; it will become the preeminent platform for distributed computing.
Life behind the corporate firewall is different. While most corporations are creating new content for the Internet, they expect
to reuse existing content on the intranet: documents, databases, programs, and programmers. Reuse of existing components will
be a key factor for corporate intranet developers.
Apples and oranges
In the overhyped world of the Internet, verbs have no tenses and words have no fixed meaning. This has lead to some significant
confusion over the potential competition between Java and ActiveX for the development of distributed software. The technologies
overlap significantly, but they also evidence major differences. Technically, ActiveX refers to a software component written
in a language like Visual Basic, C++, or Java that conforms to a specific Microsoft API. Technically, Java refers to an object-oriented
programming language and an associated execution environment. As such they are as different as apples and oranges.
In the practical world of corporate computing, however, Java and ActiveX are only as different as Cortlands and Macintoshes.
The words "Java" and "ActiveX" have expanded meanings that include many associated APIs, technologies, and concepts. The following
table summarizes those that are common today.
| Development Language |
Java |
Visual Basic, C++, Java |
| Execution environment |
Virtual machine |
Internet Explorer, Window |
| User interface |
Browser, viewer |
Internet Explorer, Window |
| Component API |
Java Beans |
ActiveX |
| Computer platform |
Any |
Wintel, Macintosh |
| Security |
Sandbox, signed code |
Signed code |
| Distribution API |
IIOP (Internet Inter-ORB) |
DCOM (Distributed COM) |
ActiveX and Java mean many things to many people, depending on background and environment. Some of these common meanings confuse
"Netscape" and "Microsoft" with "Java" and "ActiveX," and therein lies the real story. As Netscape and Microsoft battle for
Net dominance, both Java and ActiveX are key pieces on the board.