When designing hypertext formats is it better to provide links for every available action or to provided links to related resources and let the client use the protocol interface to achieve particular actions on those related resources?
I have leaned in both directions at various times. I have never fully convinced myself either.
To make the issues [...]
Mr Amundsen’s recent post regarding the design of “semantic machine media types” got me thinking about media type design. One of the commonly encouraged practices, particularly on the REST discuss group, is the use of link elements.
I really dislike this idea. It sets my teeth on edge because it treats links – which are possibly [...]
It seems that more and more are beginning to grasp the hypermedia constraint of REST. This is an unmitigated Good Thing. However, once you get hypermedia the idea of a client persisting links that it has found starts to seem a little odd. For example, Kirk Wylie describes clients that store links as “not well [...]
The idea of creating a functioning application by loosely connecting many small pieces has been around for a long time. Certainly since early in the development of Unix, and probably even before. It has survived because it is such a powerful approach.
This idea is at the very core of the architecture of the web. However, [...]
Resourceful has its initial (0.2) release today.
Resourceful is a sophisticated HTTP client library for Ruby. It will (when it is complete, at least) provide an simple API for fully utilizing the amazing goodness that is HTTP.
It is already tasty, though. The 0.2 release provides
fully compliant HTTP caching
a framework for implementing cache managers (memory based cache [...]
Jean-Jacques Dubray takes issue with
my approach of using content negotiation to manage service versioning in HTTP. I actually hesitate to
respond to Mr. Dubray because the overall tone of his piece is rather
off putting. On the other hand, he raises a couple of interesting
questions which I have been really looking for and excuse to [...]
In my previous post on this subject I described an approach
to versioning the API of a REST/HTTP web service. This approach has
significant advantages over the approach that is currently most common
(i.e. embedding a version token in the URL). However, it does have
some downsides. This post is an attempt to outline those and [...]
Managing changes to APIs is hard. That is no surprise to anyone who
has ever maintained an API of any sort. Web services, being a special
case of API, are susceptible to many of the difficulties around
versioning as other types of APIs. For HTTP based REST style web
services the combination of resources and content [...]
There has been a great deal of discussion
regarding
RESTful
web service
description languages this week. The debate is great
for the community but I think Steve Vinoski has it basically right
never once — not even once — have I seen anyone develop a consuming
application without relying on some form of human-oriented
documentation for [...]
A couple of months ago we hired a contractor to write a reporting
interface for our high volume monitoring system. Our system exposes
all of it’s data in RESTful web services, and his job has been to take
that data and allow users to create reports based on it.
This morning a couple of my teammates and I [...]