SOAP interoperability or seeing the graphs for the trees

[August 29, 2002; XML Web Services One Show Daily] -- In theory, Web services are meant to be simple and interoperable for clients other than browsers. In reality, they're not.

Despite the existence of SOAPBuilders events and the recently formed Web Services Interoperability forum, what this means, according to Tim Ewald, Microsoft's program manager for XML Web services, is that if developers want a short-term solution to the problem of interoperability, they're going to have to find it themselves.

One cause of the interoperability problem is that in today's programming model, "everyone starts from their own language and/or platform and works toward the middle, hoping they'll all get to the same place," said Ewald, speaking at the XML Web Services One Conference in Boston. The interoperability problem, he noted, has essentially become a toolkit issue.

As an example, Ewald pointed out the problems XML gives developers who use SOAP toolkits to handle graph data structures. (Unlike tree structures, in graph structures every piece of data does not necessarily have one parent.) "XML is about trees, not graphs," he said, but noted that developers can work around this problem by encoding graphs in trees.

The vast majority of developers program at the XML level, not the object level. So they have to learn that "when they program with Web services, it's all about XML," said Ewald. Developers "have to move from a mindset where they think everything is taken care of for them, to one where they know that they'd better understand this. They need to use the tools out there for help."

In time, interoperability problems will be resolved. But until then, Ewald offered this advice for the developers in the audience: "Hang in there."