InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

WS-Resource Access Activity Begun At W3C

Posted by Mark Little on Nov 14, 2008

Sections
Enterprise Architecture
Topics
SOA ,
WS Standards ,
Web Services
Tags
WS-Transfer

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?

  • This article is part of a featured topic series on SOA
Why?!? by Ron Wail Posted
Re: Why?!? by Roberto Carlos Gonzalez Flores Posted
Re: Why?!? by Faisal Waris Posted
  1. Back to top

    Why?!?

    by Ron Wail

    WS-Transfer defines CRUD: HTTP has POST/GET/PUT/DELETE
    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.

  2. Back to top

    Re: Why?!?

    by Roberto Carlos Gonzalez Flores

    Becuz this new names has the prefix "WS", maybe.

  3. Back to top

    Re: Why?!?

    by Faisal Waris

    Allows for WS* security, integrity and reliability standards to be applied to REST-style interaction. Good for system-to-system communication - not really needed for web-type interaction.


    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.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.