WS-I to profile schema? This can only end badly!

In Fumiaki Yoshimatsu's comment on my post about Kawaguchi's work, he notes that he is optimistic about the WS-I's working group focused on profiling XSD. I am not. According to the published charter, “ 'implementation-defined' interpretations of features are specifically excluded.” I don't believe it for a second.

If implementation specific interpretations are off the table, where are the interop problems with XSD? There aren't any. What people really want to do is try to profile schema so that their object serializers always work right. This is a problem for lot's of reasons, including: it's a rapidly moving target; there are already lots of existing schemas that people want to use and they should not be blocked from doing so; and almost every feature is used in some schema or other (for instance, XHTML 1.1 uses groups and redefine. If those are profiled away, you wouldn't be able to build a compliant service that sent or received XHTML in messages). A better solution is to adopt an API that gives you access to raw XML in cases where an object serializer is overwhelmed. ASMX and WSE both support this model.

This point of view might seem ironic coming from me, given what I've been saying about XSD lately. But it's precisely because XSD has so many issues that I don't want it profiled. If we all have to live with XSD, we ought to at least be allowed to live with all of it. Am I worried that my preferred model will be profiled away? Damn right. There's already a vast RPC conspiracy that's bent on turning Web services into an homage to the past. They've given us the WS-I Basic Profile Unique Signature Requirement (R2710) and WSDL 2.0's Operation Name Mapping Requirement. The next step is to squeeze XSD into a subset of our OO languages and nothing more.

Why am I so vitriolic about this? Because I remember RPC and CORBA and DCOM and Java RMI and .NET Remoting and I don't want to end up in the same place again. I'm not saying that you shouldn't be able to use Web services as a way to make RPC calls with objects as parameters, I'm saying that that should NOT BE ALL YOU CAN DO. The Web service tent is big and those of us XML messaging people should be welcome too - especially since that's how the technology actually works!

Of course, if you don't care about WS-I compliance, you can do whatever you want. But a lot of organizations will mandate compliance with WS-I profiles. What will happen when someone wants to do some XML messaging that doesn't fit into the WS-I model and the RPC-style tooling that's geared for that alone? They'll end up posting raw XML over HTTP, getting none of the benefit of the rest of the SOAP stack and supporting infrastructure. All because they aren't thinking about method calls.

In short, I do not support profiling XSD. When it comes to XSD, I may not agree with what you write; but I will defend to the end your right to write it.


Posted Aug 26 2004, 05:22 PM by tim-ewald

Comments

David wrote re: WS-I to profile schema? This can only end badly!
on 08-26-2004 11:53 PM
R2710 is plain evil. And the reason it is in (I assume) is that Axis required it because it didn't look at the SOAPAction field but rather used the message signature to dispatch messages... I really PRAY that this will fall once we get a WS-I BP that includes WS-Addressing...
Marc wrote re: WS-I to profile schema? This can only end badly!
on 08-27-2004 7:56 AM
There are many who think that SOAPAction is evil. E.g, why should you require some external metadata (HTTP header, media type parameter, SOAP header - take your pick) to define the meaning of the message you are sending, that infomation should be part of the message payload itself.
Erik Johnson wrote re: WS-I to profile schema? This can only end badly!
on 08-27-2004 10:24 AM
Just to be clear, the WS-I is chartering a "planning working group". The good news is that the planning WG could elect to do nothing or just conjure up some best practices. Of course, they might recommend a full WXS Profile WG be created.

Having listened to some of the debate first-hand, the ironic thing is that the push to profile schema is coming as more from end-users than the tools vendors.

I think this comes from having so many holes in each vendor's XSD tools. The problems are really tool-specific and not with ambiguity in XSD itself. I think the tools are missing features, buggy, and many of the tools authors had (have?) an incomplete understanding of XSD.

However, it's clearly misguided to dummy down XSD for the benefit of object serializers and code generators.

Being part of that minority (but growing) group out there that eschews pretty much all of these mechanisms, I would obviously rather put all this energy into understanding the issues and agreeing on solutions to the XSD versioning and determinism issues.

Tim wrote re: WS-I to profile schema? This can only end badly!
on 08-27-2004 10:38 AM
Thanks for clarifying the planning aspect Erik. I gather the goal is to decide whether there's a need for a WG to profile XSD. Hopefully the answer is no. I'm in complete agreement about the tools and where our priorities should lie.

Tim-
Fumiaki Yoshimatsu wrote re: WS-I to profile schema? This can only end badly!
on 08-27-2004 3:17 PM
I don't understand. WS-I is about interop. I need interop between your services and my services. You can like RNG more than XSD or use XSD as if it were RNG on your side, but you also have to make it interoperable. Sure RNG can validate XHTML, and XSD may not be able. But if it is true, you can't expose your schema that way because that means we can't safely consume the service. And that must make services providers unhappy, they will go the interoperable way eventually. I thought your statement about RNG and XSD is to make more XML documents more interoperable, with lots of different validators installed on different platforms.
David wrote re: WS-I to profile schema? This can only end badly!
on 08-28-2004 11:10 AM
Marc,

I don't like SOAPAction either ;) WS-Addressing is the way to go. But without WS-Addressing SOAPAction would have been the way to go.
Randy Charles Morin wrote re: WS-I to profile schema? This can only end badly!
on 08-30-2004 8:48 PM
In profiling XSD, you'll end up w/ a subset. But as seen on the Atom mailing list [1], the big concern is limitations of XSD. Profiling XSD won't help.

[1] - http://www.google.com/search?hl=en&lr=&ie=UTF-8&c2coff=1&q=atom+xsd+site%3Aimc.org
At Your Service wrote Comments on WS-I profiling XSD
on 09-02-2004 9:41 AM
Dave Orchard's Blog wrote Profiling Schema in WS-I
on 09-02-2004 10:49 AM
There's been some debate about whether or not the WS-I should profile schema or not. I lean a little bit towards that it's a good thing, but I think the rub will be whether Web services can use a reasonable...
xfbcyorny wrote re: WS-I to profile schema? This can only end badly!
on 05-20-2009 8:43 AM

Hqtx7e  <a href="urheoampdszm.com/.../a>, [url=http://wnukuwvjyaha.com/]wnukuwvjyaha[/url], [link=http://kfayxwcuqvas.com/]kfayxwcuqvas[/link], http://ncbtaxddutft.com/

ijipdxcow wrote re: WS-I to profile schema? This can only end badly!
on 05-25-2009 7:57 PM

aGcsY8  <a href="rlvszitxxbiq.com/.../a>, [url=http://lwzhahusfozw.com/]lwzhahusfozw[/url], [link=http://cdqqikddzziu.com/]cdqqikddzziu[/link], http://gvbthxjvjmzy.com/

vdlmhnv wrote re: WS-I to profile schema? This can only end badly!
on 06-02-2009 3:45 AM

BRXfJi  <a href="qajgpkksdtsp.com/.../a>, [url=http://daadtltlexpb.com/]daadtltlexpb[/url], [link=http://lvgewkprwxxv.com/]lvgewkprwxxv[/link], http://soirzorbgvob.com/