Comments on Web Services Architectures

by Subbu Allamaraju on March 5, 2008

Through del.icio.us/distobj (what a resourceful tag, to find nuggets such as the presentation I am talking about in this pot!), here comes a funny (seriously – not funny at all) presentation on Web Service Architectures by Dennis Sosnoski. This is an old presentation deck, but such views have been presented by several others time and again.

REST is a grassroots movement

  • Basically a formalization of direct XML exchange.
  • Simple enough that no framework is needed… just handle the XML any way you want

It can not be wronger than this. IMO, this is a naive view of REST. REST is about resources, their representations, URIs to identify and operate on resources, and hypermedia. REST is not about exchanging plain-old XML over HTTP.

DELETE for removing the representation.

No. DELETE is for removing a resource, not just a representation of a resource. Representations are (typically) negotiable views of resources.

Associate separate URI with each resource (operation).

No. URIs have nothing to do with operations. URIs identify resources. Period.

POST (with XML data) for modifying resource.

While this is true with most HTML-forms based web, POST is meant for creating sub-ordinate resources that can not generally be referenced by the client with a URI. Use PUT for modifying existing resources.

(REST) simplifies some aspects of handling

Yes, for Hello World applications.

SOAP and REST share most issues.

  • Structuring composable service functions.
  • Establishing clear service contract interfaces.

No. They don’t share the same issues. They have different issues. The REST way of thinking does not involve composable service functions. It involves addressable resources and operations on those resources.

Both separate interface from implementation through us of XML

No, No. REST does not rely on XML to separate implementations from interfaces. It uses URIs and resources. XML is well, just a possible representation of a resource.

Leave a Comment

Previous post:

Next post: