newsflash .NET > J2EE

Aug 15, 07

I was surfing around today looking for information on .NET vs J2EE performance when I came across this site:

http://msdn2.microsoft.com/en-us/netframework/bb499684.aspx

Summary from that site:

"This application is an end-to-end sample application for .NET Enterprise Application Server technologies. It is a service-oriented application based on Windows Communication Foundation (.NET 3.0) and ASP.NET, and illustrates many of the .NET enterprise development technologies for building highly scalable, rich "enterprise-connected" applications. It is designed as a benchmark kit to illustrate alternative technologies within .NET and their relative performance.

The application offers full interoperability with J2EE and IBM WebSphere's Trade 6.1 sample application. As such, the application offers an excellent opportunity for developers to learn about .NET and building interoperable, service-oriented applications."


Oh, ho, ho! Daily, I have to listen to drivel about IBM's supposed superiority over .NET, which I have often found extremely hard to believe given the quality of applications I have seen generally produced by JAVA shops. This isn't a knock against JAVA devs or JAVA as a whole, I can only know what I have seen. I haven't seen anything "superior" ever from JAVA over .NET. I haven't seen anything I considered inferior either... until now. 😀

Check the short numbers snagged from here:

  • .NET 3.0 hosted on IIS with an Http binding and XML encoding offers 124% better throughput than the fastest WebSphere/EJB Web Service implementation tested; and 46% better throughput than the JDBC (no entity beans) WebSphere implementation tested.
  • .NET 3.0 self-hosted over Http/XML offers 225% better throughput than the fastest WebSphere/EJB Web Service implementation tested; and 113% better throughput than the JDBC WebSphere implementation tested.
  • .NET 3.0 with binary encoding over a TCP binding offers 488% better throughput than the fastest WebSphere EJB Web service implementation tested; and 284% better throughput than the JDBC WebSphere implementation tested.

Here's an eWeek article on the subject:

http://www.eweek.com/article2/0,1895,2150723,00.asp


Some highlights:

"The benchmark compares .Net StockTrader against IBM's IBM Trade 6.1 performance application. Trade 6.1 is a J2EE (Java 2 Platform, Enterprise Edition)-based application IBM, of Armonk, N.Y., uses as a best-practice performance sample application and capacity testing tool for IBM WebSphere 6.1. The application is available for free and can be downloaded from the IBM WebSphere performance site."

"Also, because both the J2EE-based Trade 6.1 and .Net-based StockTrader applications expose their middle-tier services as industry-standard Web services, the two applications can be integrated with no code changes required, Leake said."

"'We did a cost-per-transactions analysis, and we came in between one-half and one-fifth of the cost" of IBM's solution, Leake said."'

And InfoWorld:

http://weblog.infoworld.com/yager/archives/2007/06/benchmarking_j2.html

highlights:

"Knowing that any result published by Microsoft would, at best, be greeted with skepticism, Greg took a unique path to disarming the question of trust. He decided to adopt what may be the toughest, most realistic, best-documented benchmark in all of J2EE-dom, IBM's Trade stock market simulator, as his model. IBM uses Trade to show off the scalability of WebSphere in massive deployments."

"He chose Trade and immediately became obsessed with making sure that Java had full home-court advantage.

Greg showed me the thousands of pages of IBM documentation of Trade and WebSphere that he had to chew through in order to understand Trade well enough to port it. And it was a port. He didn't derive a functional specification from Trade's behavior and write a .Net app that looked like Trade. He ported it, line by line, because he was not only building a benchmark but a proof case for the feasibility of porting a large Java code base and Web front end to C# and IIS (Internet Information Services)."

"In the end, Trade.net kicks Trade all the way around the block. As I said at the start of this story, that's what vendor-published benchmarks are supposed to do, and I'm sure that if .Net trailed Java, I'd never have been invited to Redmond to see Greg Leake's work."

MS full paper: http://download.microsoft.com/download/F/C/D/FCDDF8B6-AE97-4CDB-BEBC-FF22DA524A98/TradeBenchmark.pdf

Two blog posts that showed up in my post-location-research. 😛

http://blogs.msdn.com/smcbreen/archive/2007/06/29/net-v-j2ee-sample-application.aspx

http://hyperthink.net/blog/2007/08/10/net%20stocktrader%20wcf%20vs%20websphere.aspx

So, to me, this just restates something I have always thought: IBM is all about selling the Hype of using IBM, not about selling technology that really performs best. I understand that there are a lot of other things you get with a contract with IBM, but I don't think I'll ever be convinced it's a better technical solution. I have dealt with IBM at quite a few companies as they are trying to land contracts and I have always found them to be more about winning over the decision makers with favors and promises, not about actually delivering a killer product.