You may remember TMC's recent comparison of J2EE and .NET. Predictably, there was an IBM rebuttal to the study. Now there's a Microsoft rebuttal to the rebuttal, which contains comments from both Microsoft and IBM. It's interesting reading:
IBM: The Middleware Company's WebSphere J2EE programmers failed to use development practices that would have yielded more favorable results for WebSphere J2EE -- for example, practices that would enable software reuse across enterprise architectures. The study also did not attempt to measure the advantages of team development across a business with multiple team members involved. Rather, the study timed the work of three relatively inexperienced WebSphere developers.
If only developers were smart enough to use J2EE correctly! Where have I heard this before?
Microsoft: Shortly after these results were published, IBM had claimed the .NET results were not valid for a variety of reasons, among them, the Microsoft implementation had used stored procedures which IBM supposed conferred an unfair performance advantage. However, this was not true. Further tests proved that the use of stored procedures in the application architecture had no significant performance impact one way or the other.
Wasn't I just saying that a stored procedure architecture has serious downsides and little practical benefit? Never take blanket performance claims at face value. Particularly from "accepted wisdom" dating into the early 1990s. There's another blurb about this later:
Microsoft: Again, [the superiority of stored procedure performance] has been repeatedly shown by TMC 2003 and other performance tests to be untrue. The query processors in Oracle and SQL Server both can optimize a parameterized query in SQL to deliver equivalent performance to a stored procedure. This is documented in the TMC report. It should also be pointed out that the WebSphere WSAD implementation also used stored procedures for parts of its implementation.