On Jun 30, 2007, at 7:22 AM, Alexander Johannesen wrote:
... Seriously, before you do anything, read the book "Restful WebServices" by Sam Ruby and Leonard Richardson (http://www.oreilly.com/catalog/9780596529260/). ...
Alexander and code4libbers: *THANKS* -- this thread was extremely helpful to some of my recent thinking and work. It's wonderful when terrific info flows one's way at just the right time. I have the book in hand and can't wait to immerse myself in it. Below is a glimpse into some of my recent questioning that shows why this is so apt. (I've posted a followup noting the book and crediting this list.) --- Birkin James Diana Programmer, Integrated Technology Services Brown University Library [EMAIL PROTECTED]
From: [EMAIL PROTECTED] Subject: API thinking Date: June 12, 2007 2:51:20 PM EDT To: [EMAIL PROTECTED] Folk, I've said before I'm a fan of service-oriented-architecture thinking -- in the sense of moving blocks of code out to the network instead of keeping them within language & server & department-specific programs. Example: You want to see an item's Josiah status, say, for Zen and The Art of Motorcycle Maintenance, ISBN 0688002307 -- this'll do the trick: http://tinyurl.com/2p3vyu This is really, really useful (to machines). But the question comes up when making APIs -- How should they look? What should the format be? How might they 'reveal' acceptable parameters? How might they be designed to be extensible? What are guidelines/best-practices for these issues? I haven't really come across good info answering these issues, other than the reminder that although APIs can easily be added-to, *existing* data fields should rarely be changed, because once an API is put in place, you don't know who's using it for what. A possible partial answer might be the Atom Publishing Protocol, which bridges the gap between the one-way 'outgoing' disclosure- type information of traditional RSS-feeds, and the desired ability of an API to receive 'incoming' instructions. I recently stumbled across a terrific presentation on this topic. The blog-post is: http://rollerweblogger.org/roller/entry/tri_xml_2006_presentation Be *sure* to download the linked pdf, which gives a good history of RSS, and, around slide 56, gets into how Atom can be used as an API for uses far beyond traditional dissemination of info. -Birkin --- Birkin James Diana Programmer, Integrated Technology Services Brown University Library [EMAIL PROTECTED]