Back in December, I had planned to talk first about document format standards before I plunged into XDI. But, a couple of things intervened. First, I decided to write a full blown whitepaper on document standards. So it will be a bit before it comes out. I think people (especially in the nonprofit sector) take document formats far too much for granted, and I think they deserve more treatment than just a blog entry.
I also had a chat with Andy Dale, of ooTao, and it provided lots of great fodder for an informational blog entry. So, here it is. I won’t go nearly into as much detail as he went with me - at some point I’ll write something much more substantial. But this is a good start.
What is XDI, anyway? XDI stands for XRI Data Interchange. It’s all about standards for sharing data over the net via XML and XRIs (eXtensible Resource Identifiers - URIs on steroids.)
If you look at the basic problem - how does data source “A” talk with data source “B”? We’ve done a lot of that via APIs - but that’s a set of idiosyncratic solutions to individual problems (solving the Convio <-> GoogleMaps problem is different than solving the Joomla <-> Salesforce problem, for instance - lots easier than it used to be, but still atomized.) How can this be standardized?
It’s important to understand that this problem has many layers. The first is the identifier layer. Who are you, anyway? Then - authentication - how do I know that you are who you say you are? Then there is authorization/trust - what are you allowed to do, what data can you see? And, finally, there comes the data sharing layer. That’s where this is all leading, of course, but what if when you finally get down to that layer, I say “tomayto” and you say “tomaato”?
Each of the technologies implemented at these layers have to be optimized for different things - you wouldn’t want your data sharing layer to have strong crypto, and be optimized for figuring out who you are, would you? That would be inefficient. So these layers are separate, and, in most situations, pluggable. For instance, you could plug OpenID into the authentication layer for internet transactions, and use Kerberos for internal organizational purposes.
So, to the bottom layer of XDI is optimized for figuring out how the data should be shared. For example - think of a lexicon for all the ways that “First Name” exists out there (”given name”, “First”, “nombre”, etc.) - so it would be possible to share that data. Also, one idea that is a part of XDI is that some data is persistent, and some data is simply a link to persistent data - so the data doesn’t hold my address, for instance, but it does hold exactly where (the XRI) to get my current address.
Andy and I talked a bit about his work in the nonprofit sector. He sees the sector as a great place to try these ideas out - because, for the most part, there is a much more open and flexible ethos around data sharing. I think that probably is mostly true, but as I pointed out to him, the sector is often years behind the for-profit sector in terms of technology. There is a pilot project with Kintera to expose a subset of one nonprofit’s data to an XDI interface. There are others lined up to try it, and the hope is it will spread. I certainly hope it does, and I will be keeping track of this effort, for sure.
I think the idea of this kind of standard - moving data sharing beyond what we (barely) have now, which are these very atomized sets of solutions (even though they are solutions we badly need.) If every data-centric application (ooh, that’s redundant) that a nonprofit implemented had a standard interface for data sharing - think about the possibilities there. Right now, it’s still basically impossible to look at big pictures across a wide range of data domains. This kind of standard would make those kinds of analyses a lot easier.
So this is the next jump beyond open APIs: imagine SQL-like queries on any data, anywhere you were trusted, and across those sources. And I thought open APIs were the holy grail!
Technorati Tags: nptech, openAPI, openstandards, xdi
Tags: