J2EE and .NET both provide comprehensive platforms for building enterprise applications. Specifically, each platform provides technologies for creating Web-enabled user interfaces using page-templating languages, accessing SQL data sources, interacting with publish/subscribe messaging systems, building and consuming SOAP-driven Web services, etc. Both platforms provide a virtual machine layer that abstracts the underlying operating system. So, on the surface it appears that both J2EE and .NET are head-to-head competitors. However, when digging a little deeper we find that this might not be as clear as it seems.
J2EE is based on the Java programming language and the Java Virtual Machine (JVM). The JVM has been ported to multiple operating systems, including Windows, Mac, Linux, Unix, NetWare and others. Microsoft's .NET is based on a virtual machine called the "Common Language Runtime" (CLR), which currently only runs on Windows-based operating systems. However, the CLR has many different language bindings, including a Java-like language called "C#" (pronounced see-sharp).
Since J2EE runs on many different operating systems and .NET runs only on Windows-based operating systems, you might say that they really don't do battle in exactly the same arenas. The reason that they are thought to be direct competitors is that J2EE and the Java programming language is giving Microsoft a real challenge for developer-community mindshare.
Microsoft has known for a long time that the mindshare of the developer community is the key to controlling the purse strings of the application and operating system consumer. To that end, Microsoft makes sure to release award-winning developer tools prior to releasing every new operating system or platform. This strategy has made Microsoft one of the most influential and domineering companies in the world. The popularity of Java, J2EE and the open-source community has proved to be the biggest threat to Microsoft's "developer-first" strategy.
Companies that compete for the same dollars as Microsoft (IBM, Oracle, Novell, Sun, etc.) are exploiting Java's popularity to thwart Microsoft's complete dominance of the application and server market. Thus, the real competition is between Microsoft and any "rebel" company that stands in its way. Java and J2EE have simply provided a powerful arsenal with which the rebel force can use to fight.
This was first published in October 2002