What’s a “good thing”

It seems that not everyone agrees that the submission of specifications to W3C is a "good thing". Please let me clarify what I mean by "good thing". Do I agree with the resource-oriented nature of WS-Transfer as the underlying layer for service-oriented solutions? As older readers of this blog will already know, the answer is a big "no". I don't believe in the coupling of resource identity and address (per the common practice on the Web) and I don't like the 'resource as an addressable receiver of messages' model of WS-Transfer and WS-RF. I am not suggesting that there is no room for resource-oriented solutions. Not at all... I've even architected such a solution (very web-like but without the identity-address coupling) for a Microsoft internal project-investigation (yes, I have been working here:-). You just use the best approach for each problem.

So, why is it a good thing that WS-Transfer has been submitted to W3C?

  1. Some people want to build resource-oriented applications using Web Services technologies (e.g. the systems management folks).
  2. The specification was out there but not in a standards organisation.
  3. There was another, more complicated specification (i.e. WS-RF) dealing with a similar problem. It's not good for the WS community to have competing specifications. There is no interoperability.

The fact that the specification is in a standards organisation is a good thing. No, I have not taken the blue pill. In fact, I think people here in Microsoft are experiencing my strong views about architecture and systems design. But I have seen the way some Microsoft folks deal with any architecture-related arguments and I must admit I like their pragmatic approach. No matter what our purist architectural beliefs may be, customers should have the tools and protocols they need without having to deal with competing and non-interoperable solutions. They should be supported no matter what approach they want to follow. This also applies to the POX vs WS argument. Just keep an eye for the work my pal Steve Maine is going to be presenting at MIX 06. Very cool stuff. So, yes... the submission is a good thing and it also enables progress on other fronts (e.g. systems management and the Grid) as I will discuss in another post.

Have I changed my mind about how we should be building scalable, distributed, service-oriented applications? Absolutely not!

5 responses to “What’s a “good thing””

  1. Paul Cohen

    So let’s get this straight. You think it’s a good thing that two industry giants should go their separate ways for nearly 3 years, causing more splits in the community and then try to push competing standards through two different standards bodies? Don’t get me wrong, I’m not singling Microsoft out here: IBM and BEA are as much at fault. These companies don’t know the meaning of open standards processes: they do all of the work in private, get their implementations out to customers first, and then get the stuff rubber-stamped in some organisation they think they can control, giving other companies (big and small) very little prospect of changing anything. In any other industry that would be considered a cartel.

    There was a time Microsoft, IBM and others believed in doing things in an open way. Look at some of the IETF work, or the OMG. Those days are gone (at least as far as Web Services are concerned), and the whole industry is suffering. This isn’t good for anyone other than those companies.

  2. Paul Cohen

    It’s fine to say “customers should have the tools and protocols they need”, but how often is that the real reason for doing this sort of thing? I’m a consultant and run into Microsoft and IBM quite a bit and most of the time these guys push “solutions” onto customers that are inappropriate simply because they (IBM/MS) have the product, not because it really is the best way to do something. If you were starting from a clean slate, then I don’t think your pragmatic approach would be considered pragmatic 😉

  3. “Some people want to build resource-oriented applications using Web Services technologies” For sure. So why not use SOAP RESTfully? WS-Transfer, despite having the right ideas about document-orientation, attempts to reinvent the Web rather than reuse it. It’s fighting uphill, when there’s a downhill option available.

  4. George Web

    I hate to add another negative comment, but I’ve got to agree wholeheartedly with Paul and Mark. I think it’s good that MS still know where to find a standards body when they feel the need, but that is more often than not waaaay after customers feel the need! Plus, I been evangelising on REST versus “pure WS” in my company and although it was an uphill struggle to start with (mainly because of the hype behind WS), now our developers can’t get enough of REST!

  5. Paul Cohen

    ” WS-Transfer can therefore be seen as an underlying protocol-independent version of HTTP, i.e. bringing the capabilities and properties of the Web and HTTP in contexts where HTTP is not used.

    While the resources manipulated are entities that provide an XML representation, the use of the SOAP Message Transmission Optimization Mechanism along with WS-Transfer would allow one to efficiently manipulate other types of entities such as binary ones.

    WS-Transfer does not have all the features of HTTP regarding the manipulation of representations, such as caching, or content and language negotiation. However, the extensibility of SOAP would allow to add such capabilities incrementally, and it can benefit from the use of existing SOAP extensions such as WS-Security for security, or WS-Reliability or WS-Reliable Messaging for reliability.”

    Who are they kidding?