That has been a highly controversial benchmark though, with many people
finding easily fixable performance problems in the Java implementation
and serious design flaws in the .NET implementation.
To quote the web page for the Sun Java Pet Store application:
JavaTM Pet Store Demo 1.3.2
The Java Pet Store Demo is a sample application from the Java 2
Platform, Enterprise Edition ("J2EE") BluePrints Program at Java
Software, Sun Microsystems. It demonstrates how to use the capabilities
of the J2EE 1.3 platform to develop flexible, scalable, cross-platform
enterprise applications.
The Java Pet Store Demo comes with full source code and documentation,
which illustrate the typical design decisions and tradeoffs a developer
makes when building an enterprise application. The demo shows how to
use JavaServer Pages ("JSP"), JavaTM Servlet, Enterprise JavaBeans
("EJBTM"), and Java Message Service ("JMS") technologies. It also uses
new technologies in the J2EE 1.3 platform, which you can experiment
with and learn how to use in your own enterprise solutions.
With real, working code illustrating the BluePrints guidelines, the
Java Pet Store Demo reduces the learning curve of the J2EE 1.3
platform, enabling you to deliver complete end-to-end solutions with
faster time-to-market.
According to this, I would understand the Pet Store to be the way Sun
wants people to write proper Java applications which are "flexible,
scalable, cross-platform".
The sad truth however is that once Microsoft went through the hoops of
rewriting it so that it outruns the java version by several factors,
people have gone to a great length picking apart the Java version and
found a lot of problems with it, like under-use of stored procedures.
This means that the benchmarks simply benchmark a java implementation of
the Pet Store and a .NET implementation of the same, with somewhat the
same functionality. It does not benchmark the platforms they run on.
I would consider this the same as implementing a bubble-sort in Java and
a quicksort in .NET and then claim .NET is superior to Java, or vice
versa.
It is a big strange though that Sun hasn't either changed the wording on
their web page, gone out and clarified their stand on this, or fixed the
application.