WS-Resource Access Activity Begun At W3C
Back in 2006 several specifications were submitted to W3C, including WS-Eventing and WS-Transfer, but never became standards. Over the intervening time there have been a number of implementations of these specifications, but no obvious sign of standardizing them. Of course that didn't stop others pushing competing standards elsewhere, such as WS-Notification. With the warming relations between competing standards efforts in Web Services (e.g., reliable messaging as well as transactions) it seemed only inevitable that something would happen. Well now the W3C has announced the creating of the Web Services Resource Access Working Group. As the charter says:
The mission of the Web Services Resource Access Working Group, part of the Web Services Activity, is to produce W3C Recommendations for a set of Web Services specifications by refining the WS-Transfer, WS-ResourceTransfer, WS-Enumeration, WS-MetadataExchange and WS-Eventing Member Submissions (referred to in this charter as "the submitted specifications"), addressing existing issues in those specifications, implementation experience and interoperability feedback from implementers and considering composition with other Web services standards.
No mention of the other overlapping standards or specifications though. For those who didn't know (and because it's almost boiler plate for standards efforts) there's an overview of what will be achieved:
The submitted specifications define SOAP-based mechanisms for interacting with the XML representation behind a resource-oriented Web Service, accessing metadata related to that service, as well as a mechanism to subscribe to events related to that resource. WS-Transfer defines the basic Create, Read, Update, Delete (CRUD) operations against resource-oriented Web Service data. WS-ResourceTransfer enhances these operations, through the extensibility points of WS-Transfer, with the addition of fragment and batched access. WS-Enumeration provides a protocol that allows a resource to provide a context, called an enumeration context, to a consumer that represents a logical cursor through a sequence of data items. WS-Eventing allows interested parties to subscribe to a series of notifications from a resource oriented Web Service. WS-MetadataExchange defines a mechanism by which metadata about a Web Service can be retrieved. When used in conjunction with WS-Transfer, WS-ResourceTransfer and WS-Enumeration, this metadata can be accessed and managed just like any other Web Service resource.
Of course there's no guarantee that this work will have a smooth ride. As Oracle's William Vambenepe points out:
The most obvious potential pushback against this effort is the questionable architectural need to redo over SOAP what can be done over simple HTTP.
He mentions a few other possible problems people may have with this effort, but concludes with:
So my problem with WS-RAWG is not a fundamental architectural problem. It’s not even a problem with the defects in the current version of WS-RT. They are fixable and the alternative specifications aren’t beauty queens either. Rather, my concerns are focused on the impact on the interoperability landscape.
William was involved with WS-Resource Transfer when he worked at HP. As he mentions, at that time HP, IBM, Microsoft and others were involved and the plan was to unify the WS-Management and WSDM/WSRF stacks. (Let's not forget that WS-RF caused controversy since its beginning.) But according to William, the latest announcement means that ...
[...] three of the four companies having given up on this, it isn’t much of a convergence anymore. Rather then paring-down the number of conflicting options that developers have to chose from (a choice that usually results in “I won’t pick either [since] there is no consensus, I’ll just do it my own way”), this effort is going to increase it. One more candidate. WS-Management is not going to go away, and it’s pretty likely that in W3C WS-RT will move further away from it.
It's obviously very early in this new standards effort, but will this lack of interoperability emphasis have significant knock-on effects to the adoption of whatever standards eventually emerge?
WS-ResourceTransfer defines fragments: URLs have fragments
WS-MetadataExchange defines manipulating metadata: HTTP has HEAD and OPTIONS
WS-Eventing and WS-Enumeration: How are these different/better than Atom/AtomPub?
What a waste of time.
WS-Eventing may be replaceable by AtomPub but WS-Enumeration is needed for transferring large amounts of data with 'checkpoint-restart' type capability.
WS-Enumeration is being used by Globus. dev.globus.org/wiki/Java_WS_Core_WS_Enumeration. Another implementation for transferring large files is here: codeplex.com/wsenumft.