Active X vs. Java Beans.

I Find Karma (adam@cs.caltech.edu)
Thu, 22 Aug 96 21:34:15 PDT


Remember Rohit's four predictions about Object World?
1) The world realizes the battle lines will be DCOM vs IIOP.
2) Some folks are trying to play neutral party (Oracle).
3) Some people are innovating around the margins (ILU, RMI)
4) Radical innovation is still possible, esp in the guise of HTTP/2.
Of course, for Intranet applications, people seemed to be leaning to
Microsoft to the point that it was noticeable -- that's why I kept
hearing OLE, OLE, OLE.

This point is driven home in William Blundon's article
http://www.javaworld.com/javaworld/jw-09-1996/jw-09-blundon.html
included below if you want to read it. It drives home the point
that the Internet and intranet markets are two different beasties.
-- Adam

=================================================
JAVA WINS ON THE INTERNET, BUT THE INTRANET RULES
By William Blundon
=================================================

SUMMARY

While Java is the leading candidate for true cross-platform
software development, Microsoft's ActiveX and Distributed COM will
provide an elegant solution for corporations creating intranet
applications. Java has an excellent chance of winning in the
Internet, but Microsoft's preeminence on the existing corporate
desktop will make it a real player in many enterprise applications.

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

Java ActiveX
----------- --------------

Development Language Java Visual Basic,
C++, Java

Execution environment Virtual machine Internet Explorer,
Windows

User interface Browser, viewer Internet Explorer,
Windows

Component API Java Beans ActiveX

Computer platform Any Wintel, Macs

Database API JDBC ODBC

Security Sandbox, signed code Signed code

Distribution API IIOP DCOM
(Internet Inter-ORB) (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.

ActiveX has made its mark as the heir of OCX, one of the world's most
popular components for implementing business logic. Java has been most
successful as an applet-building language. Both Microsoft and JavaSoft
have been active in filling in the holes in their visions. Microsoft has
been getting Java tools to market, and making sure Java applets can
execute in its browsers as easily as ActiveX components. JavaSoft has
announced Java Beans as its attempt at beating ActiveX in building
components. Microsoft has turned to standards organizations in an
attempt to put a more pleasing face on its very valuable monopoly. While
Microsoft pushes DCOM as a solution to distributed computing, Netscape
has licensed Java-based Internet Inter-ORB Protocol software from
Visigenics as a standard component for its browsers.

THE INTERNET

Whatever the connotations of the words themselves, Java and ActiveX will
be major components in distributed computing. Picking a winner in the
Internet is easy; it's Java. Both technologies have their strengths and
weaknesses, but the major factor leading to Java's Internet dominance
will be its most elemental one: cross-platform execution. The defining
characteristic of the Internet is the impossibility of mandating a
standard client environment. Different browsers, operating systems, and
hardware will be in use. Applications will need to execute on Netscape
and Microsoft browsers as well as on a variety of computers and Internet
appliances. Software developers recognize this fact and are moving
rapidy to Java as the best environment for heterogeneous computing.

In late July, Microsoft announced its intention to transfer ownership
and future development of some portion of its ActiveX technology
(especially DCOM) to an outside, but as yet unnamed, standards group.
This move may ultimately lead to a heterogeneous definition of ActiveX.
Even if this comes about, however, Java has a technical lead and enough
market momentum that it will be hard to beat in the Internet.

THE INTRANET

The intranet is where the action is, and here there is no obvious
winner. Behind the firewall, corporations can mandate something close to
a homogeneous computing environment. In fact, many of them already have.
Windows clients are by far the preferred choice on corporate desktops,
while Windows NT, Unix, and IBM dominate on servers. Corporations have
made a tremendous investment in desktop and client/server software and
they expect to reuse it in their intranets. Most of the desktop content
and a growing percentage of the server content is already Windows-based.
This gives ActiveX a significant lead on the intranet client.

The first promise of ActiveX is that it will let developers publish new
and existing OLE content in browsers, or more specifically, in
Microsoft's Internet Explorer. Live Excel spreadsheets, PowerPoint
presentations, and other popular desktop formats will be available
through Internet Explorer. ActiveX's other major promise is that it will
provide an easy migration path for existing business logic conforming to
the existing OCX API. When one considers the large body of OCXes written
in Visual Basic or C++ that exist in many companies, and the large base
of corporate developers conversant in these languages, this is a major
advantage for any beleaguered IS staff.

However, these advantages come with some tradeoffs. As a practical
matter, users may have live Excel spreadsheets available in their
browser as long as the browser is Internet Explorer, the operating
system is Windows, the platform is Intel, and either Excel or an Excel
runtime is available on their client machine. Publishing live OLE
content in the browser is a significant advantage for ActiveX, as long
as a company can maintain a homogeneous Microsoft environment. Netscape
calls ActiveX "CaptiveX." In this context the term is not far from the
truth.

The issue of migrating existing OCXes and programming staffs into the
intranet may be the defining one. Most companies have a tremendous sunk
cost in existing business logic and overworked programming staffs.
Reusing existing logic and programmers may well make ActiveX a standard
behind the firewall.

CLIENTS AND SERVERS

Business logic must execute somewhere. When it must execute across both
clients and servers, Java has the edge. Java has the best hope of
providing true platform-independent computing. On the server, in
particular, Java has a real opportunity to shine. As JDBC database
connectivity becomes prevalent, as Java finds its way onto virtually
every computer architecture and operating system, and as better
development tools find their way to market, Java will have removed all
technical obstacles from its path to becoming the king of serverdom.

No matter how successful Microsoft is in making ActiveX an industry
standard, it does not have the potential to be a major player on
non-Wintel servers. Windows NT is rapidly making inroads into the market
for corporate servers. However, Unix and IBM platforms like the AS/400
will continue to command significant market share in the corporate
intranet. Unless and until ActiveX becomes a cross-platform standard, it
will always have a problem in dominating the intranet.

CONCLUSION

Java is a winner in the Internet, where heterogeneous computing is
mandatory. Both Java and ActiveX have major advantages in the intranet.
The next several years will see many ups and downs for both
technologies. Market share will be as important as technology in
determining the victor. Only Netscape's 40 million browsers have a
chance of competing with Microsoft's enormous installed base.

It's still too close to make a call in the intranet. If Java wins, the
most important reason will be this: The best, most portable, most
heterogeneous ActiveX component in the world is a Java applet.