APIs

TwitterFacebook
Get flash to fully experience Pearltrees
http://www.infoq.com/presentations/Writing-Usable-APIs-in-Practice

Writing Usable APIs in Practice

John Allspaw discusses pitfalls to be avoided while troubleshooting failed systems, comparing web operations at scale with practices in aviation and nuclear power industries. Joe Armstrong discusses highly available (HA) systems, introducing different types of HA systems and data, HA architecture and algorithms, 6 rules of HA, and how HA is done with Erlang. Evan Cooke discussing ways of building Simple APIs with fast signup, a clear value proposition, efficient quick start, concise documentation, easy authentication and debuggable.
And many extension modules under: https://github.com/FasterXML to support other data formats (Smile, BSON, XML, CSV), data types of JVM languages (Scala) and third-party libraries (Hibernate, Joda, Guava, HPPC) 22-Jun-2009: Jackson 1.1.0 released; highlights are: support for using JAXB annotations, generating JSON Schema, allowing fields to be directly serialized/deserialized, and simpler set of core annotations (@JsonProperty, @JsonSerialize and @JsonDeserializer). JSON processor (JSON parser + JSON generator) written in Java. http://jackson.codehaus.org/

Jackson JSON Processor - Home

The Right End of REST | ZapThink

http://www.zapthink.com/2011/10/09/the-right-end-of-rest/ One of our Licensed ZapThink Architects , Michael Poulin, struggled with our recent ZapFlash , Where is the SOA in REST-Based SOA? In a forum post , Poulin asked: If we have a UI that works with the middle- and back-end resources, do we care if … REST or Web Services are used behind the UI?
http://www.javaplex.com/blog/using-atmosphere-for-comet-websocket-and-rest-web-services/#.TtYKNXP-i8Y The WebSocket specification—developed as part of the HTML5 initiative—introduced the WebSocket JavaScript interface, which defines a full-duplex single … If you really want to implement cross browser comet or websocket funtionality into your Java application, then Atmosphere framework is for you. It automatically do the dirty work like provide comet or websocket support depanding on the server support and make it cross browser by its rich set of libararies.

Using Atmosphere for comet, websocket and REST Web Services | Java Plex by Java Developers

Nobody Understands REST or HTTP - Literate Programming

http://blog.steveklabnik.com/posts/2011-07-03-nobody-understands-rest-or-http Since I've posted this, I've refined a few of my positions on things. Everyone learns and grows, and while I still stand by most of what I said, I specifically don't agree that versioning the media type is how to properly version APIs. Hypermedia APIs should not actually use explicit versioning, but I'd rather see a version in the URI with HATEOAS than no HATEOAS and versioned media types. I've been meaning to update this post and write more, but alas, my work on Get some REST has taken priority. I don't have a HN account, so feel free to email me with any thoughts or questions! Furthermore, everything in engineering is ALWAYS a trade-off.
This article explores the problems of optimising REST APIs for mobile device performance, and suggests a way of allowing clients to request alternate representations. Nate Aune and Anna Callahan gave a great talk at this year's EuroDjangoCon about a service that they'd built in 24 hours, valentun.es . Along with a great story, the meat of the talk was about the concessions you have to make with a mobile API with respect to data transfer rates and connectivity. Some of the things they said struck a chord with my own experiences of designing mobile APIs, and inspired me to write this post about those experiences, principles, problems, solutions - and an idea for the future. What's a REST API?

Two Voices — Stereoplex

http://www.stereoplex.com/

API design for integrating SAAS services - ChargeBee

http://blog.chargebee.com/78993299 We are in the midst of designing the API for our service. Sharing our notes, thoughts and design process based on our experiences in this. API design is a tricky business. The problem being that once users start using them, it is tough to modify the API.
From Roundtable Member Kin Lane, this book should help you understand the common stumbling blocks that have been faced by many API owners. Hopefully you can avoid them. The book will also identify common building blocks used by API owners, building blocks that should be fundamental for your API planning and development. The purpose of [...] http://developerthinktank.com/

Developer Think Tank - Blog

uberblic

You want to create powerful mashups with data from a number of APIs out there? Need a data mapping service to plug the APIs together? That's what we do. Get your API key and start building applications with data from the best sources on the Web. Read our API docs for more info. http://uberblic.com/

SXSW 2012: The Year of the API

Is this the year of the API? Or is it next year? As we’ve pointed out before, the API universe is expanding . You have a chance now to make sure when thousands of geeks descend upon Austin next March, that this new way of the web is given the billing it deserves. But you have to get moving by September 2. There were over 3,000 potential talks submitted and public votes have a big say in what makes its to the SXSW stages. http://blog.programmableweb.com/2011/08/31/sxsw-2012-the-year-of-the-api/
This table provides a classification of HTTP-based APIs. The classification achieves an explicit differentiation between the various kinds of uses of HTTP and provides a foundation to analyse and describe the system properties induced. Providing distinct names for the API 'styles' overcomes the useless situation where APIs are named 'RESTful' and 'not so RESTful','almost RESTful', or 'unRESTful'. An API either adheres to REST's interface constraints or it does not and if it does not, there is no sense in referring to 'REST' in the API's name.

Classification of HTTP APIs

Microformats vs RDFa vs Microdata « Philip Jägenstedt

The simple task at hand is to make my name and homepage machine-readable using each of these formats. What follows is a more elaborate version of the reasoning we went through while evaluating the strengths and weaknesses of each alternative. Microformats Microformats are “a set of simple, open data formats”, i.e. predefined vocabularies under centralized control.

unREST as the new REST?

Pramod Sadalage discuses several patterns in database changes related to Architecture, Structure, Data Quality, Referential Integrity, Database Code, along with associated practices. Jeremie Miller presents how to create a fully distributed data network in which nodes communicate directly with each other using UDP, JSON and Kademlia, without relying on central servers. Jesper Richter-Reichhelm shares the lessons learned while scaling their game platforms to handle millions of users, each game being built by small teams of two developers without dedicated ops. The main takeway points and lessons learned from QCon London 2012 as seen by the many attendees who blogged or tweeted about QCon. Experience QCon through the opinions of the attendees!
i've been spending the last several months experimenting w/ a repeatable methodology for expressing business processes as media types for dist-net implementations (aka "the Web"). this blog post is one of a series i've been doing over the last year or so as i attempt to improve upon these patterns and practices. the RESTBucks example the book REST in Practice uses a very effective demonstration app called RESTBucks to illustrate the authors' ideas on how to build RESTful solutions. the book is one of three (along with RESTful Web Services and The RESTful Web Services Cookbook ) i highly recommend for those interested in applying the REST style. i like the 'RiP' book for a number of reasons. one of them is that the problem domain used for the example (RESTbucks) is both simple enough to grasp and complex enough to be non-trivial. IMO, this makes for a great teaching tool when discussing REST, Hypermedia, and dist-net architectures.

amundsen

HAL - Hypertext Application Language

Essentially, HAL provides a set of conventions for expressing hyperlinks to, and embeddedness of, related resources - the rest of a HAL representation is just plain old JSON or XML. HAL is a bit like HTML for machines, in that it is domain-agnostic and is capable of driving any hypertext application. The difference is that HTML is intended for presenting a graphical hypertext interface to a 'human actor', whereas HAL is intended for presenting a machine hypertext interface (aka. REST API) to be consumed by 'automated actors'. This document contains a formalised specification of HAL.