If things go according to plan, Visual Studio 2005 and .NET 2.0 will be followed next year by an extension to the .NET framework that focuses on improving XML-based Web services development across all Microsoft supported languages. Code named Indigo, this software will provide a unified programming model for distributed system development, Ari Bixhorn, director of Web services strategy at Microsoft, told a keynote audience at last week's VSLive conference in Boston.
Although XML document markup is far simpler to use than most languages, developers today still have to hook XML to programs in order to accomplish things. Whether it is Java-to-XML or VB.NET-to-XML (or C++-to-XML, or C#-to-XML), this hook-up can be a difficult task. Moreover, several models of distributed system building can be employed. In the Microsoft world, these can include Enterprise Services, System.Messaging, .NET Remoting, ASMX, and Web Services Extensions.
While there is much to learn about Indigo, due as part of next year's release of the Microsoft Longhorn operating system, developers will find it familiar because it fits with existing .NET Framework programming concepts and is accessible using .NET languages.
"With 30 or so lines of VB.NET, you can start sending messages," said Bixhorn. Indigo's major goals are to minimize coding and "to abstract complexity," he indicated in a follow-up interview at VS Live.
The default format for Indigo, said Bixhorn, is SOAP or what he calls "XML on the wire." But future .NET extensions are expected to support an optimized binary version of SOAP, as well.
Bixhorn described Indigo as part of a service-oriented method of programming that builds on twenty years of experience with objects, components and like approaches to software development.
"Today I have a choice as a developer of several models [for distributed development]: ASMX, COM+, WSE, MSMQ and .NET Remoting. Today we have to ask which model do we use, and once we make a decision, we move forward," he said.
"The idea of Indigo is that you should not have to ask that question," Bixhorn said.
While Microsoft has added visual tools for developing Web services in the upcoming release of Visual Studio, the Indigo release may be a more significant enhancement to .NET Web services development.
"Indigo is Web services to its core," said Bixhorn. "You write code, and [the Web services] handle interoperability." Bixhorn maintains that use of Indigo is 'entirely optional.'
Naturally, people who have already invested energy and time in .NET Remoting, COM+ and the like will probably proceed cautiously with Indigo at first. But the promise to create Web services while working with familiar .NET languages could be appealing.
Web Services Developer Center: Web Service Basics - MSDN
Indigo Beta1 download - MSDN
Indigo description on Longhorn Developer Center Home - MSDN