Speaking at the Developing Software for the Future Microsoft Platform conference in Queen Elizabeth II Conference Centre in London Monday, Microsoft software architect Don Box said the company will not invest much more in Component Object Model (COM) and Distributed Compound Object Model (DCOM)--Microsoft's mechanisms for sharing objects between programs.
Instead, Box said, programs will use managed services based on the Extensible Markup Language to communicate with each other. Box is leading the work on the "plumbing" part of Longhorn, called "Indigo," which is effectively the successor to Microsoft .Net and as such will dictate how programs are written in future Windows platforms.
Moving developers away from the object-oriented world is a key element of Microsoft's battle for mindshare with the likes of IBM, Sun Microsystems, BEA Systems, Oracle and other rivals that sell products based on the Java 2 Enterprise Edition (J2EE) standard.
Microsoft has made inroads into large corporations with its back-end server software. However, J2EE-based systems are still generally favored by such customers for more-complex computing jobs, such as running stock exchanges or high-volume Web sites.
"The ability for programs to communicate is a core tenet for the way we want Longhorn to work," said Box. But, he said, object-oriented programming is just not all it was made out to be. "What promised in the '90s to be the most promising technology turned out not to be. By the 1990s, no one disputed that we could make objects work as an industry, but we got carried away with the metaphor. We naively said, 'This notion of objects that seems to pan out so well when writing programs...should work for communications between programs.'"
Box said technologies such as Java's Remote Method Invocation (RMI) and CORBA (Common Object Request Broker Architecture) all suffered similar problems. "The metaphor of objects as a primary distribution media is flawed. CORBA started out with wonderful intentions, but by the time they were done, they fell into the same object pit as COM."
The problem with most distributed object technologies, Box said, is that programs require particular class files or .jar files (referring to Java), or .dll files (Microsoft's own dynamic linked libraries). "We didn't have (a) true arms-length relationship between programs," Box said. "We were putting on an appearance that we did, but the programs had far more intimacy with each other than anyone felt comfortable with."
"How do we discourage unwanted intimacy?" he asked. "The metaphor we're going to use for integrating programs (on Indigo) is service orientation. I can only interact by sending and receiving messages. Message-based (communications) gives more flexibility."
Box stressed that COM and DCOM are not dead. "Only now are some groups inside and outside Microsoft finally taking advantage of COM," he said. "Our commitment to COM is not finished...but our annual US$6.8 billion (research and development) spend is not going on Ole32.dll," Box said, referring to the dynamic linked library COM uses.
Analysts say the move away from COM and DCOM should not be a great surprise. "To an extent, most people expected this," said Bola Rotibi, a senior analyst for software development strategies at Ovum. "While DCOM and COM will still be supported, there will be no new work. They are saying it has come to a close."
Rotibi said that with Longhorn and Indigo, Microsoft is giving developers a platform on which they don't have to worry about how things connect but can instead concentrate on how they want things to look.
"It's all about the power to not have to worry about the plumbing," he said. "There is nothing wrong with the concept, but the question is: 'Can they deliver?'"