I just read Apigee’s paper on pragmatic RESTful API design.
Very sensible, practical guidance. Good stuff for organizations confronting the REST phenomenon. There are obviously many REST-based interfaces out there. Facebook, Google, Digg, Reddit, LinkedIn are just a few of the more visible services, coincidentally all social networks, that support REST. But of course there is real value for enterprises in exposing resources in the same way. Wouldn’t it be nice if public records would be exposed by your municipal government via REST? How many times have you wanted the data from a hosted app – what we used to call “application service provider” – in a machine-comprehensible format, instead of in an HTML page?
It’s worth examining the results the pioneers have achieved, to benefit from their experience.
As pioneers rushing to market, the designers of these early social network APIs may have sacrificed some quality in design, for speed of delivery. Understandable. Apigee’s paper critiques some of those designs, and describes some of the rough edges. It’s like sitting in on a design review – and it’s an excellent way to learn.
Once you “get” REST, it all makes sense. It falls into place and the design principles and guidance offered by Apigee will seem like second nature. But for those grappling with a novel problem, it’s good to have a firm foundation from which to start.