J2EE vs .NET Smackdown

Document Sample
J2EE vs .NET Smackdown Powered By Docstoc
					J2EE vs. .NET Smackdown!

Notes, impressions and opinions
by Frank Cohen (fcohen@pushtotest.com)

November 19, 2002


Last night Sun and Microsoft took aim at each other to prove to Silicon Valley
software developers that theirs was the better platform. The “.NET Versus J2EE
Smackdown!” event was hosted by the Software Development Forum
(http://www.sdforum.org) – the California Bay Area’s largest users group of
software engineers and entrepreneurs – in front of approximately 500 engineers.
While both camps got in their licks, both also missed some very important
points, and once or twice some brused feelings from recent skirmishes came to
the surface.

These are my notes, impressions and opinions on the debate:

The Big Picture First

Sun spares no venom towards Microsoft’s market dominance. Sun boldly says
Microsoft can’t be trusted, that they are selling a product rather than an API and
that their technology is riskier because it has not run the gauntlet of public
inspection by developers. Microsoft fires back that it is proud of its market
dominance and that its adoption of .NET is helping developers create
interoperable systems. And that was in the first 10 minutes!

If this was a wrestling event spectators would see Sun take an early lead over
Microsoft. Several early Microsoft statements fall into the “Well, Duh!” category.
For example, Alay Desai of Microsoft’s observation that “We’re all here because
we are all interested in Web Services!” That actually turned out to not be the
case. Pleanty of developers at the event said they are working on J2EE
applications that have simple Web browser interfaces with no plans for SOAP
enabled APIs. Visual Basic developers too were there wanting to learn about the
platform choices but had little interest in Web Services.

Sun ended the first segment of the event by making the point that Java
technology is already mature and stable as compared to .NET, portions of which
are still in “beta” testing. Microsoft countered that 5,500 customers asked for a



J2EE vs .NET Smackdown                                             November 19, 2002
Frank Cohen (fcohen@pushtotest.com)                                      Page 1 of 4
license to use the prerelease .NET platform code in production as a sign of
strength and quality in their 1.0 .NET code.

We'll Do The Driving For You

Sun did a much better job at framing the arguments. Their first effort was to
frame the debate around open source processes. They succeeded at making the
point that Sun is an open platform and Microsoft is a closed one – even if this is
not always the case as in the example where the Java Management Extensions
(JMX) is open but the crucial SNMP agent technology is closed. Sun noted that
the JSR process is designed to be open. They claim 55% of the JSRs are being led
by non-Sun companies. They also said Apache, JCP and Sun insure that the JSR
APIs are implementable and not just API-ware.

Sun and Microsoft engaged in a banter about the meaning of open-source.
Microsoft put CLI and C# into the ECMA standards body
(http://www.ecma.org.) Sun fired back that Active Directory, Winforms,
Passport and other pieces of .NET are closed, commercial, proprietary products.

This part of the debate gave rise to a fundimental difference between Microsoft
and Sun's approach to software development. Microsoft believes it serves
developers best by being the sole supplier of a complete solution. Sun believes
that developers should have a choice of tools that the developer assembles into a
solution. This top-down versus bottom-up debate permeated most of the
arguments.

For example, Sun and Microsoft were asked to explain why developers would
choose SOAP RPC encoding over SOAP Document-style encoding. Microsoft
gave a somewhat technical answer but conceeded that they thought the issue
was moot since developers should relie on their development tools to make
decisions of encoding styles. As proven on The Server Side
(http://www.theserverside.com) in the Web Services Performance Kit two
weeks ago (http://www.pushtotest.com/ptt/saskit.html) developers have many
choices of Web Services architectures and each choice has a scalability, reliability
and performance impact. For example, using SOAP RPC to move payloads of
100,000 bytes or more results in terrible scalability problems. This is a case where
letting the tool make the decision for you is a bad idea.




J2EE vs .NET Smackdown                                              November 19, 2002
Frank Cohen (fcohen@pushtotest.com)                                       Page 2 of 4
A Certain Graciousness

The air of the event was actually very gracious. I've watched Scott McNealy
presentations that started with the circle around and a line striking through the
Microsoft logo. While that is entertaining is smacks a bit too much of bitterness
and contempt for a business competitor. At this event Sun and Microsoft seemed
to be gracious in their attempts to attract developers, they avoided alienate
developers with too strong attacks. For example, at one point in the event a raffle
was taken to award a very nice jacket. When 2 people arrived to retrieve the
same raffle drawing – they both had the same name – a Sun marketing manager
took off her own leather Sun-logoed jacket and gave it to one of the two. She
even had to take a minute to remove her thinks from the pockets.

Strengths and Weaknesses

Midway through the debate Microsoft and Sun scored several key points against
one another. Sun pummelled Microsoft on security and Microsoft whipped Sun
on price/performance.

In the argument over which is the more secure platform Sun gave some huge
body blows with the assistance of quotes from Microsoft executives. "We haven't
just began thinking about security, we starting thinking about this three years
ago," was attributed to Craig Mundie, Sr. VP Microsoft. Sun says Microsoft is 24
years too late.

Microsoft fired back that security is an industry wide problem. They showed a
graph indicating the average number of attacks per platform was mostly
uniform, with Linux getting slightly more. When the audience demanded the
source of the statistics Microsoft replied “the source is not Microsoft, I’ll get you
the source.” This got a lot of boos. In an attempt to salvage the issue Microsoft
pointed to large customer deployments at uBid, Telenor, and I-Deal as proof
points that .NET is secure.

Later in the event Microsoft slammed Sun over price/performance. Microsoft
pointed to their installed base of Windows users and the low cost of a Windows
solution as proof of .NET's ability to succeed. Microsoft made the case that a
Windows .NET solution is much less expensive than a J2EE on Sun solution.
They looked at hardware and application server costs. Sun appeared to have no
way to counter this argument. Instead they tried to get the debate back to a
"don't trust Microsoft" theme but that attempt fell flat.



J2EE vs .NET Smackdown                                                November 19, 2002
Frank Cohen (fcohen@pushtotest.com)                                         Page 3 of 4
Sun and Microsoft trotted out a lot of customer success stories. Microsoft is
especially proud of the throughput on high volune services such as Merrill
Lynch at 75 million transactions per day at 25 million users (that’s 21,000
transactions per second!) Sun countered by noting that EBay is run on Java.
These are incredible performance statistics for the success of microcomputers.
This reminded me of a time in the 1980s when I was helping a team rollout a
nationwide network of entertainment advertising display panels and we couldn’t
get IBM to return our phone calls to quote a price on a mainframe. Java and .NET
performance enable me - as a small business owner – to take inexpensive,
commonly available systems and deploy a complex interoperating information
system.

---

About Frank Cohen

Frank Cohen is the "go to" guy when enterprises need to test and solve problems
in complex interoperating information systems, especially Web Services. Frank is
CEO of PushToTest, a test automation solutions business. PushToTest maintains
TestMaker, a free open-source utility for building intelligent test agents to check
Web Services for scalability, performance and functionality. PushToTest Global
Services customizes TestMaker to an enterprise's specific needs, conducts
scalability and performance tests, and trains enterprise developers, QA analysts
and IT managers on how to use the test environment for themselves. This unique
business approach delivers inexpensive solutions, expert insight and immediate
answers. Start today by calling (408) 374-7426.




J2EE vs .NET Smackdown                                              November 19, 2002
Frank Cohen (fcohen@pushtotest.com)                                       Page 4 of 4