API 2.0 – layering your API for the social web (slidecast 3 of 3)
I was invited to the “Census Web Services Working Group” (CWSWG) last Friday. One of the interesting conversation CWSWG was having was around the kinds of APIs developers would want to work with when the census data is made available? Thus far they are focused on ReSTful APIs (they are using JAX-RS to expose compact SDMX files; they are also playing around with a little RDFa).
The below video is one of the slides from my presentation to CWSWG which outlines a possible way to manage APIs into the future (for context please also see this post on why exposing APIs for the developers of the social web is essential, especially for public sector organisations). I wasn’t originally going to show these patterns (as I have just started to notice these trends emerge in some of #jiscEXPO projects), however as the census data API won’t be released until 2013 I thought it was a good group to unleash some my musings? To preface this ideas I would quote Ray Kerzweil:
I’m an inventor. I became interested in long term trends because an invention has to make sense in the world in which it is finished, not in the world in which it is started.
Vodpod videos no longer available.
The first half of this slide is here (it explains the usual step-by-step process by which a database driven website is created). The above is the second part of the slide and talks about the core infrastrucute idea I was trying out: why organisation should consider triplestores as a lower level layer in the stack that will enable API flux over time. To note: I am a believer in the well worn maxim “there is no problem in computer science which cannot be solved by one more level of indirection”; however, this maxim only works when there is a *real problem* to solve. For me the problem is: will there be a need to maintain and build new APIs as the Web grows and changes as a social entity? Or am I just “architecture astronauting” here, and creating a layer as a solution to a problem that doesn’t exist?