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]