J2EE vs. MS .NET

The results of a very interesting study are out, where The Middleware Company compared these two Enterprise-class technologies by unleashing developers of each platform, working head-to-head to fulfil a (complex) specification.  Link here.

The (enormous) caveats are that:

1. The J2EE product used was IBM Websphere, not always the most-loved app server.

2. The study was sponsored by Microsoft!

Now this study is interesting because these two technologies are aiming to solve the same problems, namely how to develop, deploy and maintain organisation-wide systems that are scalable and maintainable. For example, what if a company decides to re-invent one of its key policies? Does that mean re-writing thousands of programs, testing them, then rolling out the changes over a period of months, or can you simply dig out the ONE module that holds that bit of business logic, and rewrite that?

This is a large part of Enterprise architechture, and something both these products are trying to achieve.

What this study found was basically that the MS technology ‘won’. It took about twice as many lines of code to solve the problem in J2EE as it did in .NET (C#).

Well I haven’t read the study in depth, nor do I intend to, but this is what I’ve found from the balance of opinion.

First, .NET is probably easier to develop with (big generalisation), as the development tools are simply more powerful than what J2EE has, currently.

Second, this kind of result - although not particularly objective or in any way conclusive - is very good for Java/J2EE because it demands more growth for it to stay competitive. Some of the biggest strides forward in Java have been in response to competition.

Third, this study has a lot to do with marketing. Obviously in a sense that it’s more of that for MS, but also because it was really comparing IBM Websphere to MS Visual Studio. Not really .NET vs J2EE but a lot of opinion out there is that it will be presented as such. And IBM Websphere is WAY harder to develop on than other J2EE implementations.

Here’s a fact, I know of consultancy work being done where the solution was deployed onto Apache Tomcat, rather then Websphere as required by the client. Why? Because Tomcat is WAY easier to develop on, it’s free and it does the job as long as you aren’t EBay.

So, I can’t comment on anything other than the balance of opinion out there, but my interpretation is that J2EE and .NET are useful for a lot of things, and that in this specific example, with the specific tools available to the candidates, with the specification provided, .NET was the technology of choice. So there’s a different tool for a different job, where’s the news?

Here’s the details.

I notice from the URL they are using J2EE ;)