Letters to the Editor: 'Rumble' causes a stir
JavaWorld.com, 07/26/02
"Rumble in the Jungle: J2EE Versus .Net, Part 1"
Humphrey Sheil and Michael Monteiro
Does vendor lock-in matter? How reliable are Microsoft's server software products?
Michael and Humphrey,
While I find your article informative, I take issue with a couple of items. First, I find your statement, "On the other hand,
.Net locks you into Microsoft. For example, .Net runs only on Wintel machines. Depending on your organization, that lock-in
may or may not be an issue," fatally flawed. Anyone running a serious business should be concerned about single vendor lock-in;
you completely tie your organization's fate to that vendor. History is replete with companies that, at the time, were safe
bets, but then later fell on hard times, making life for their customers very bad. Openness serves the interests of customers
better than any vendor can.
Second, I take issue when you state, "In the area of stability, Microsoft efforts have paid off, reaching 99.999-percent reliability
with Windows 2000." This quote is based on what factual data? Your 99.999-percent availability figure equals just 5 minutes
and 17 seconds of unscheduled downtime in a year. I have personally never seen a Windows 2000 server achieve anything close
to this, and believe me I have the experience to prove it. I also haven't seen anyone who could achieve any decent uptimes
of Windows servers, of any version, without clustering the machines. Of course, for any platform, this would be the only way
to achieve 99.999-percent availability. You shouldn't include such quotes without a link to some statistical data the showed
that to be true.
Andrig T. Miller
Andrig,
Michael Monteiro: In the article, I say that .Net locks you into Microsoft, which may or may not be an issue depending upon the organization.
I agree that choosing a vendor represents an important decision. You certainly don't want to make a sizable investment in
a vendor unable to stand the test of time. However, many companies have and continue to bet that Microsoft will continue to
thrive. Sure, life offers no guarantees, but few things come with such assurances. Further, vendor dependence, though perhaps
to a lesser degree, exists in the J2EE (Java 2 Platform, Enterprise Edition) world as well. I'm sure you would agree that
while a company can choose any J2EE vendor, it often becomes impractical to move to another vendor once a choice has been
made. As for your second point about Microsoft's reliability, you are correct to say that one cannot achieve 99.999-percent
reliability with a server operating system alone (you mention clustering). That reliability level requires a combination of
technology (software and hardware), highly trained people, and solid processes. To help people achieve that reliability level,
Microsoft offers the
Windows Datacenter Program that outlines a series of rigorous performance and customer-service requirements that original equipment manufacturers (OEMs)
must meet. From an operating system perspective, an Aberdeen Group report, "
Proving-the-Point: Interviews with Next-Generation Windows 2000 Dot.coms," concluded that customers achieved 99.967-percent reliability using Windows 2000 without additional hardware support.
Humphrey Sheil: Vendor lock-in represents one of the major differences between the two platforms. .Net represents complete and total lock-in
to the Microsoft technology stack, while J2EE allows you to build applications against a common specification, then pick your
preferred vendor. Michael's point concerning moving from vendor to vendor within the J2EE world formerly was relevant and
continues to be for certain applications and vendors, but today a well-constructed application will port quite easily from
one vendor to another. I have personally ported applications across BEA WebLogic, JBoss, and IronFlare Orion. Most problems
encountered were incorrect interpretations of the Enterprise JavaBean (EJB) specification by application code, not by the
vendor's implementation.
How to scale in a .Net environment