Just when you thought there was a single standard for something,
Sun Microsystems Inc. and Microsoft Corporation recently
announced a settlement in Sun's lawsuit regarding Microsoft's use of Java
technology. Microsoft was given the choice of conforming to the published
Java standard or opting out of the technology, they chose to opt out.
Under terms of the agreement, Microsoft can continue to use the outdated
version of Java which it had licensed for the next seven years, but cannot
use Java in their .NET initiative.
again, we are left with two competing standards in the interoperability
world, Sun's Java as a platform and a language, Microsoft's .NET initiative
as the platform, using the new C# (pronounced C-Sharp) language for development.
Customers are now forced to choose between the Java platform and the Windows
platform. There is no "best of both worlds". To underscore the divergence,
Microsoft has announced a program it calls "JUMP to .NET" (Java User Migration
Path to Microsoft .NET).
to Sun Chairman and CEO Scott McNealy, "It's pretty simple: This is a
victory for our licensees and consumers. The community wants one Java
technology: one brand, one process, and one great platform. We've accomplished
that, and this agreement further protects the authenticity and value of
Sun's Java technology."
has a different attitude. Sanjay Parthasarathy, Vice President of the
Platform Strategy Group at Microsoft states "The Microsoft .NET platform
is the best way to build, deliver and aggregate Web Services, and Microsoft
is committed to help software developers build Web Services with whatever
programming language is most appropriate for their particular needs."
usual, both vendors claim victory (Microsoft has even stated that "the
company has no interest in using Java for .NET", while Sun believes the
decision "protects the integrity of the Java platform"). The problem for
the market arises when trying to pick which path is best for potential
customers. On the one hand, a number of vendors have tied their new product
releases to the .NET initiative where many of the services they require
are provided natively by the Microsoft platform. In the Java world, leading
vendors in the application server space, including BEA Systems
and iPlanet, are certified for the Java 2 Enterprise Edition (J2EE)
environment, with IBM not far behind (more than 6000 tests must
be passed for certification).
factors for vendors in this market to consider:
are thousands of qualified Java programmers, and virtually none who
are currently conversant in Microsoft's C# (the language is still under
is completely platform independent but .NET runs only on Windows.
- Any customer
applications written to conform to J2EE will work with any J2EE-compatible
application server. If a company finds a different application server
they like better than their current implementation, they can just switch.
A large number of vendors are moving in this direction (go to the TEC
and Data Warehousing Research for many previous TEC articles on
Before customers make any attempt at choosing products or suites of products
for enterprise application integration, middleware, Web application stacks
or other software solutions that require seamless interoperability, they
must be sure they understand the difference in the approaches used by
Java and .NET.
vendors closely on which approach they have (or will be) taking in their
current and future releases, and why. Once the choice is made, it will
be difficult if not impossible to switch. Since application integration
efforts are costly, complex and time-consuming, the decision may come
back to haunt you if you don't choose wisely.