[Openstack] Crazy Idea for API Formats

Michael Mayo mike at openstack.org
Sat Mar 5 23:45:11 UTC 2011

On Mar 4, 2011, at 10:55 PM, Sandy Walsh wrote:

> Interesting ... do I get back an instance object or just a key/value dict?

I'm thinking an actual instance object.  And we would provide code for that.  Like, if someone was getting instances, they could download my Obj-C Server class and use that.  

> Is the attraction not having complex/multi-package client libraries to import?

The attraction is reducing the need to parse data on the client (like JSON does for Javascript developers).  Also, I just thought it would be cool :)

> If the client was: obvious to download, easy to install/update and had a full object model ... would that be better?

That would be nice.  I don't think this is something we absolutely must do or anything; I just thought it would be a very nice convenience for developers using various languages.

> -S
> ________________________________________
> From:  Michael Mayo [mike at openstack.org]
> Subject: [Openstack] Crazy Idea for API Formats
> All this talk about auth and making the API easy for developers to use got me thinking.
> The two most popular formats for APIs are XML and JSON.
> XML is language neutral and sort of painful to read by a human.  And writing an XML parser sucks.  It's not hard, but it's time consuming and annoying.
> JSON is easier to read and easier to parse, so it is becoming the most popular choice.  But the really cool feature of JSON is that if you're consuming the API in Javascript, you don't have to parse at all because JSON is the native object format for Javascript.
> So... how about we offer more native formats for other languages?  For Java developers, offer raw binary that represents a Serializable when they call something like GET /servers.java.  Zero parsing for Java developers.
> For Objective-C, GET /servers.cocoa returns XML in the NSPropertyList XML format.  Again, zero parsing.
> If Python has object serialization you could do it too.  That would probably be the easiest to code.
> What do you think?
> Confidentiality Notice: This e-mail message (including any attached or
> embedded documents) is intended for the exclusive and confidential use of the
> individual or entity to which this message is addressed, and unless otherwise
> expressly indicated, is confidential and privileged information of Rackspace. 
> Any dissemination, distribution or copying of the enclosed material is prohibited.
> If you receive this transmission in error, please notify us immediately by e-mail
> at abuse at rackspace.com, and delete the original message. 
> Your cooperation is appreciated.

Mike Mayo

More information about the Openstack mailing list