Microsoft steers away from object orientation

When Longhorn ships, it will signal a full-scale move away from the object-oriented world of COM and DCOM, as Microsoft prepares to increase the pressure on Java

As Microsoft prepares developers and independent software vendors for Longhorn, the next version of its Windows operating system, the company wants to wean them off object-oriented programming.

Speaking at the Developing Software for the Future Microsoft Platform conference in London's Queen Elizabeth II Conference Centre on Monday, Microsoft software architect Don Box said the company will not invest much more in COM and DCOM -- Microsoft's mechanisms for sharing objects between programs.

Instead, said Box, programs will use XML-based managed services 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 mind share with the likes of IBM, Sun Microsystems, BEA Systems, Oracle and other rivals who 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 favoured 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 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, said Box, 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 true arms-length relationship between programs," he 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?... 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 comms 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 $6.8bn [£3.7bn] R&D spend is not going on OLE32.DLL," said Box, referring to the dynamic linked library that 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, 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 instead can concentrate on how they want things to look. "It's all about the power to not have to worry about the plumbing. There is nothing wrong with the concept, but the question is, can they deliver?"