Skip the navigation

J2EE vs .Net: The choice depends on your needs

By Byron Taylor Estes and Oriel Maxime, Blackwell Consulting Services
August 19, 2003 12:00 PM ET

Computerworld - You'd have to be living in a vacuum not to be aware of the debate that rages between proponents of the two dominant development platform contenders: Java 2 Enterprise Edition and .Net. Many articles have been written declaring one or the other the winner based upon performance, scalability, features, portability, vendor independence, ease of use, lines of code, robust security, productivity tools and enterprise connectivity, just to name a few of the hot issues.

The tale of the tape is long and confusing, but does it really get at the heart of the issue?

You Say Potato, I Say ...

Much of the debate has sought to differentiate the two in order to convince customers that one is the clear and obvious choice. The most obvious conclusion seems to be that the architects are most skilled at conceptually copying and enhancing the best of one another's platforms. As a result, J2EE and the .Net Framework are far more similar than many people realize and will probably become even more so in the future.

Sun Microsystems started things off when it made the Java language syntactically similar to C/C++, but improved it by making it object-oriented from the ground up, by adding its own features and by employing common design patterns in the Java Development Kit (JDK).

Not to be outdone, Microsoft made its own improvements with .Net and the Common Language Runtime to enable code that's written in many languages but deploys as if written in one. Microsoft embraced object-oriented programming instead of using a pseudo-object-oriented notation. Its most important language, C#, is amazingly similar to Java, and the .Net Framework employs many of the same design patterns embraced in the JDK.

The Stacks and Just the Stacks, Ma'am

We can look at each as a "stack" of common services that each platform provides to applications that are built with or run on the platform. There are plenty of articles out there comparing and contrasting the stacks of .Net and J2EE. Here's a list—not necessarily an exhaustive one—that begins to make the point that these technologies are growing together conceptually and support a similar set of services, albeit implemented differently.

Stack Function .NET J2EE
Relational Database Access ADO.NET JDBC
Web Client ASP.NET Java Server Pages (JSP) and Servlets
Standalone Client Windows Forms AWT/Swing
Distributed Components .NET Remoting RMI/IDL
XML System.Xml and .NET in general is built around XML. JAX Pack (JAXM, JAXR, JAXB, JAXP)
Messaging Microsoft Message Queuing (MSMQ) Java Messaging Service (JMS)
Web Services Support Built directly into .NET and Visual Studio Java Web Services Developer Pack (JWSDP) as well as vendor specific tools.
Enterprise Components/Transactions COM+ Enterprise Java Beans (EJB)
Integration Host Integration Server, BizTalk Server J2EE Connector Architecture
Component Registration Active Directory Java Naming and Directory Interface JNDI

Our Commenting Policies