The emergence of a robust set of plumbing and infrastructure offerings, delivering on the promise of binary reusability of software components, from Microsoft (i.e. .NET/COM+) and Sun Microsystems (Java 2 Enterprise Edition: J2EE) is driving unprecedented change in the computing landscape and threatens to revolutionize the entire software development and delivery process. The computing world is once again polarized between a set of competing standards that provide, for the most part, analogous (despite the hype) enabling technologies required to deliver next generation products.
There is a difference in the nature and probable outcome of this battle that distinguishes it considerably from previous encounters: each competing standard will continue to dominate its respective space without the likelihood of a winner take all scenario emerging any time soon. You have the entire software industry split in two, with Microsoft on one side and the Anything But Microsoft camp (ABM: Sun, Oracle, IBM, AOL, BEA, Novell, and a host of others) on the other.
Microsoft, despite it legal problems, will remain the single most important software company in the industry, and one of the most powerful corporations on the planet. However, this time the gorilla is surrounded by a number of powerful chimpanzees that are collectively rallying around Java and the J2EE specification and will not be denied their share of the market going forward.
What is at stake for their current and potential customers? Nothing less than making a strategic technology decision that will affect how they manufacture and deliver software for the next twenty years. Both offerings are robust and viable today, and will continue to improve as time goes on.
Although the domain of this strategic decision is technology, the rationale that should be used in making a choice should be based on an organization’s business drivers and other operational considerations. There is not a compelling technological superiority either way that allows for clear differentiation. I will provide a brief introduction to the core concepts of commercial plumbing and elaborate on why, although incredibly important, it is not enough architecture to take you where you need to go.