REST and versioning, a more concrete example.

There’s an interesting discussion going on at The Wisdom of Ganesh in which Ganesh Prasad and “Integral ):( Reporting” (presumably the “JJ Dubray” mentioned in the article) are trying to work out some issues around versioning, REST and SOAP. This post is also referenced and commented on at infoQ. In the 14th comment to the …

Continue reading ‘REST and versioning, a more concrete example.’ »

Test-Driven Development of HTTP and REST interfaces with Mojasef

Test-Driven Development (TDD) of HTTP and REST interfaces can be tricky. This post contains some examples of how to do it using the open source Mojasef toolkit. I was prompted to write this post after recently finding and fixing an irritating bug using just this technique. First, let’s set the scene. In TDD the rules …

Continue reading ‘Test-Driven Development of HTTP and REST interfaces with Mojasef’ »

IBM’s BPM Zero Project: RESTful Worflow Management

From an SOA architectural view, Business Process Management and workflow orchestration seems an obvious component of a large system. However, when I see this idea moved wholesale into the world of REST, I worry that a significant point has been missed. InfoQ: IBM’s BPM Zero Project: RESTful Worflow Management The part of BPEL workflow orchestration …

Continue reading ‘IBM’s BPM Zero Project: RESTful Worflow Management’ »

Describing RESTful Applications

I have read a lot of faux-REST APIs recently, which are essentially just HTTP/XML or HTTP/JSON remote services, and still need a client to be pre-built with specialist knowledge of URI structure. “Proper” REST allows a server to change its URIs however and whenever it likes, with client applications seamlessly adapting to the change. InfoQ …

Continue reading ‘Describing RESTful Applications’ »

The REST Dialogues

When I first encountered Duncan Cragg’s “REST dialogues” I was not sure how they would develop. As I have read more, I have become progressively more impressed. Cragg uses the style of a Socratic dialogue with an imaginary “eBay architect” to teach about the nature and use of REST techniques as an alternative to more …

Continue reading ‘The REST Dialogues’ »

REST is not CRUD, and here’s why.

I have encountered several web articles recently which attempt to describe REST verbs (“get”, “put”, “post”, “delete”) in terms of traditional database CRUD (“create”, “read”, “update”, “delete”) operations, and then get stuck trying to map one set to the other. On the one hand, it’s easy to see why the confusion happens. Both sets have …

Continue reading ‘REST is not CRUD, and here’s why.’ »

What Makes Good REST?

REST is a very powerful way of thinking about application design, but it can be very hard to really understand. Several people including the originator of REST, Roy Fielding, have written on the subject, and InfoQ has attempted to summarise some of these articles. InfoQ: What Makes Good REST?

London Java Web User Group: Web apps and REST

This looks interesting. Next Monday (20th October 2008) the London JAVAWUG will be holding a “Birds-of-a-Feather” session on the topic of Web applications and REST web services. Both are subjects near to my heart, so I might try and arrange a trip to “the smoke” that evening. Anyone else likely to be attending? JAVAWUG :: …

Continue reading ‘London Java Web User Group: Web apps and REST’ »

Could we be looking at it all wrong?: Putting REST to rest

This is interesting, in that it is a backlash against REST, which has otherwise been one of the darlings of the software world. I’m not entirely sure if this article is an honest attempt at a refutal, or whether it is merely an attempt to stir up some discussion. But it’s worth reading anyway. Could …

Continue reading ‘Could we be looking at it all wrong?: Putting REST to rest’ »

Testing web services with ActiveResource

When I first saw this it looked great: a ruby REST wrapper which supports a lot of useful test and integration possibilities. However, the deeper I looked, the more disappointed I became. I’m now saddened to believe that this is based on yet another misunderstanding of what REST is. As far as I can tell, …

Continue reading ‘Testing web services with ActiveResource’ »

So You Say You Want to Kill XML….

Ted Neward has posted a long and detailed discussion of the potential merits and disadvantages of Google’s “protocol buffers” approach compared with XML as a way of offering rich remote APIs. I learned a lot from this article, and I’m still digesting it, so no snap opinions this time … Interoperability Happens – So You …

Continue reading ‘So You Say You Want to Kill XML….’ »

Segmentation by Freshness

Martin Fowler’s “bliki” is often an interesting read. This recent article is very thought-provoking, offering a clever way to bridge the gap between fully dynamic and fully-static web pages. In regular web development, there is a stark choice between marking a web page as fully dynamic (typically by adding a sprinkle of “don’t cache me” …

Continue reading ‘Segmentation by Freshness’ »

Merge, Replace, or Patch: How Astoria Handles Changing Data

Saddening. It seems that the team responsible for Astoria have decided to go for the traditional Microsoft “embrace and extend” approach to the beautifully simple world of REST. The whole point of REST is that a GET is a GET and a PUT is a PUT. GET reads a resource, PUT updates it. These operations …

Continue reading ‘Merge, Replace, or Patch: How Astoria Handles Changing Data’ »

WOA: Web-Oriented SOA

It seems as if the term SOA (Service-Oriented Architecture) has become confused with the implementation technology (often WS-* web services). Some pundits are now trying to create a new term “WOA” (Web-Oriented Architecture) to describe a service-oriented approach using native web technologies such as HTTP, URLs and REST. ZapThink have taken a look at these …

Continue reading ‘WOA: Web-Oriented SOA’ »