Bill Gates clearly is sold on XML. At his opening keynote at the Microsoft Professional Developers Conference in Los Angeles, he launched a series of incremental initiatives in the .NET platform.
Developers received six CDs of late-beta Visual Studio.NET, the .NET Framework, plus SDKs (software development kits) and sample code for the Tablet PC, .NET My Services, and the .NET Compact Framework.
XML lurks everywhere in Gates' vision of the near future, from a sea of XMLs watermarked behind key PowerPoint slides to the harnessing of the acronym in XML web services. In fact, XML web services is an elegant example of how Microsoft uses XML to capture the high ground in the open-standards battle.
IBM has done a good job of branding its piece of web services mind share -- Big Blue's role in supplementing SOAP 1.1 (Simple Object Access Protocol) dragged Sun to the party, and its work with Microsoft on UDDI (Universal Description, Discovery, and Integration) and WSDL (Web Service Description Language) cemented the base layer of the Web services architecture.
With Sun congenitally disposed to pigeonholing XML as a data transport buddy to Java's programmability layer, Web services was a safe haven while waiting for J2EE (Java 2 Enterprise Edition) XML leaders such as BEA and Iona to jump-start XML API development. Web services graduated from early branding attempts to defining platform buzz phrase.
Now comes XML web services; Bill wrestles the ball back and creates a brand name with a Machiavellian twist. By being first to roll out the term, Microsoft reinforces the perception of its leadership role in driving the adoption of XML standards. Anyone else who uses that term might as well get a companywide Passport licence and be done with it.
Sun tried to wiggle out of the box with "smart web services," but that's like saying, "To be completely honest with you" -- it calls into question everything else you've said. Do dumb web services come by default in the evaluation edition? If they're so smart, why aren't they shipping yet?
Fresh from its triumphant co-opting of XML Web services, Microsoft has moved on to the green pastures of open standards. In his PDC keynote, Gates talked of open standards such as SOAP, UDDI, and WSDL. I guess SOAP qualifies -- the World Wide Web Consortium (W3C) XML Protocol working group has just released SOAP 1.2. But UDDI and WSDL started life as collaborations between large vendors and still face opposition from independent developers for their complexity and potential licensing issues.
Open standards is another clever twist of phrase; it's open to question what exactly it means. For many it implies the sanctity of web standards born of government, military, and educational funding. Sun uses it to describe Java; certainly the open-source community can lay claim to a piece of it. But Microsoft uses it to certify the combination of market traction and XML interoperability.
It's taken some time for Microsoft to perfect the art of open standards. Once Internet Explorer caught up and surpassed Netscape Navigator in functionality, Redmond could and did add functionality to the browser to gain market acceptance. Preview editions of XML extensions such as XDR (External Data Representation) and XSLT (Extensible Stylesheet Language Transformation) seeded developers with a reference implementation to develop early SOAP apps.
Microsoft and IBM traded releases of SOAP toolkits, merged separate implementations into WSDL, and parted ways on business process orchestration: IBM offered WSFL (Web Service Flow Language) and Microsoft built XLANG (an XML language for describing processes) into BizTalk Server. As XML Schema and XSLT reached W3C recommendation status, Microsoft revved its products and tools to support the final standards.
As .NET and HailStorm reached a critical mass inside Microsoft earlier this year, open standards became the vehicle for building out the XML infrastructure to support Microsoft's service model. Three Microsoft-only XML protocols were offered for standards consideration: XLANG, SOAP-Routing, and DIME (Direct Internet Message Encapsulation), a method of packaging up attachments in SOAP messages. Oddly, Gates listed DIME as an open standard in one of his slides.
He didn't include SOAP-Routing, a key technology, along with DIME in .NET My Services. That's because Microsoft rolled out the GXA (Global XML Web Services Architecture) instead, replacing SOAP-Routing with WS-Routing and three interwoven specifications. WS-Security provides security enhancements to SOAP for credential exchange, message integrity, and message confidentiality. WS-License describes how license types such as X.509 certificates and Kerberos tickets can be placed within the WS-Security credentials tag.
WS-Routing is a stateless protocol for routing SOAP messages asynchronously over multiple transports, the key to distributing work to multiple Web services. It supports both one-and two-way messaging (including peer-to-peer conversations) and long-running dialogues. Finally, WS-Referrals is a dynamic configuration protocol that enables SOAP nodes to delegate processing to other SOAP nodes via WS-Routing.
The four tech previews conform to GXA's composable architecture, which provides a modular layer that both web and peer services can share. As developers and component vendors beat on these specifications, Microsoft gains momentum and a leading seat at the standards process table. Inside Microsoft, the GXA specs accelerate the impact of HailStorm's programmable XML virtualization technology across the .NET platform. Secure, scalable SOAP -- Microsoft's open standards baseline specs -- it's the oil that may well fuel, or at the very least, lubricate XML web services.
Gillmor is the InfoWorld Test Centre director. Send email to Steve Gillmor.