XML: Does MS really have nothing up its sleeve?
Leadership by innovation? An innovation in itself...
With the rise of XML, Microsoft is being cast in an unfamiliar role: that of being a leading innovator (but not the instigator) of an architecture for interoperable distributed Web applications. XTech in San Jose last week brought together many of the hard-core developers of XML protocols without the marketing types. The focus is now on developing a serialisation and transport layer for XML messaging/RPC (remote procedure calls), and how such standardisation should be brought about. A protocol is essential if Web applications are to be connected in ways chosen by users, rather than vendors, with the result being what has been dubbed the two-way Web. Jan Bosak of Sun Microsystems was recognised as the "XML father" at XTech and honoured with a plaque to that effect. He has recently decided to move from W3C, an R&D organisation run by subject experts, to OASIS, the Organisation for the Advancement of Structured Information Standards. OASIS is more concerned with interoperability (despite its name, it does not develop standards), and is run by mostly administrative staff. Bosak's reason for developing XML was to keep the Web open and portable, he said, and not hostage to any vendor's proprietary standards. He sees e-commerce as the killer-app for XML, and wants to be sure that buyers and sellers will be able to find each other, and that business semantics could be defined in more than one vendor architecture. For him, avoiding vendor-specific applications is very important. One problem is that there are too few people with the necessary experience to work on development, so vendor support appears to be essential if progress is to be made in Web time. There is a need for more and better XML editors, for example. Co-chair David Megginson encapsulated his desire to have computers "take XML, stick it in database, and do something cool with it". The weaknesses of XML Web that need to be addressed include security (especially with style sheet referencing), adding declarations that breach validation, entity spoofing and the like. Hope for SOAP In the beginning, Sun proposed RMI (remote method invocation) as part of Java, but was persuaded to support the OMG cross-platform Internet Inter-ORB Protocol (IIOP). XML-RPC was designed in 1998 by Dave Winer of UserLand and Don Box of DevelopMentor, together with two Microsoft people. Microsoft has developed this into the XML-based Simple Object Access Protocol (SOAP) within Windows DNA 2000 (forthcoming) with the assistance of Winer, and submitted it to the IETF as a proposed standard, turning away from its Component Object Model (COM) and Distributed (DCOM). Last week Winer advocated taking the present form of XML-RPC over SOAP because it looks as though it will take two years before SOAP works its way through the standardisation process. XML-RPC could be mapped to SOAP at a later stage, although Box noted that there are constructs in SOAP that have no natural mapping in XML-RPC. A concern with RMI, IIOP and DCOM is that in a sense they are all-or-nothing protocols that require agreement about the whole architecture. SOAP, on the other hand, is a payload on HTTP, which will probably be the key to its success. ActiveX and the first version of DNA failed because they required applications to work under Windows, while XML encodes the requests and responses, making it easier to operate across firewalls. On the other hand, SOAP lacks the sophistication of IIOP, does not solve the interoperability requirement, and is rather big and resource-intensive during parsing. Biztalk is based on SOAP, with the addition of routing and QoS headings. Although Microsoft has no implementation of SOAP yet, there is a Perl implementation: David Orchard of IBM mentioned that he has a working SOAP implementation. Despite SOAP being advocated by Microsoft, at a technical level there appears to be little paranoia about this. Nor was Microsoft apparently concerned that a number of improvements were desirable for the protocol, such as decoupling it from HTTP and improving the glue around XML applications. The intention does seem to be neutral towards the platform, application and language, which will be a relief to those who thought they would be doomed to more Visual Basic. Microsoft has committed itself publicly to having compliant XML tools, and so far there has been no cause for serious concern about this. Could it be that we are seeing a new facet of Microsoft, that there is the realisation that if you have the expertise, you do not have to use the dirty tricks? Relatively few vendors are keeping up-to-date with developments, and those not with it could find themselves very quickly left behind. It would be pleasant if all were harmonious so far as all Internet standards were concerned, but this is not the case. Work is proceeding in the W3C HTML working group on an audio-input standard, but for Wintel platforms only. It has been implemented for WebTV Plus, so far, with Mac and Unix users being excluded. It is essential that W3C pays attention to the howls of protest that are being mustered through a petition and takes the appropriate action to rectify this at the earliest opportunity. Gates: XML will live for centuries The importance of XML to Microsoft was reflected in some curious comments Bill Gates made recently in an interview carried by IT Week [USA]. Asked about the lifetime of XML, he said: "I'm sure there'll be XML data in some of these systems for hundreds of years... I don't think anything will replace XML... We love Visual Basic, Java, C and even Corba, and the rich runtime of this message environment should be language neutral." But there was also an ominous note in his remarks: "For some things... we will get standard schemas. In some areas there won't be standard schemas, so it's very important that our tools will have the ability to map between them." Let us hope that such schemas are standard across the community, and that the tools will allow proper interoperability. Microsoft could well continue in this unusual innovative role of being the prime developer of XML protocols, and become the legitimate technical leader. Imagine that. ®
Sponsored: DevOps and continuous delivery