Posted by Tom Grant on December 23, 2008
One sure sign that Web 2.0 is a genuinely new epoch in the tech industry: the haymaker punch it threw at a repository-centric view of application architectures, effectively knocking it out of the ring. For those who aren't familiar with what I'm talking about, I'll give a little bit of history for the young 'uns out there.
Forward into the past
Let's hop in a time machine, go back 10 years, and eavesdrop on conversations in development teams building multi-tier applications. Chances are you'll hear no small number of words about the repository. For example, suppose the project was integrating two middleware applications, such as content management systems and ERP applications. In many development teams, you'd get funny looks if you didn't advocate some merger of the two repositories as the solution to the challenge. Integration at the middle tier sounded, to many ears, like trying to pull a fast one, substituting a hack for "real" integration.
Of course, the reposiphiliacs had an argument worth taking seriously. If you didn't have a single repository, you'd impose more work on the DBA or sysadmin. Any repository-level rules--stored procedures, data retention policies, etc.--would have to be repeated across every repository. If standards didn't compel people to build similar metadata schemes, you'd spend a lot of your time translating between applications, often with very different notions of the same attribute. (Over here, it's an array; over there, it's not.)
Everything you know is wrong
Now, let's jump back to the present day. One of the striking things about the Web 2.0 world is not only the ease of integration, but also the relative unimportance of the repository in the discussion. You can add your Flickr album to your Facebook profile. Mashups keep on growing, both in options (what you can combine) and methods (how you build them, and the level of technical skill needed). You can upload documents to Box.net, and use Zoho to edit them in place. RSS has grown from simple newsfeeds to an inter-application communication medium. When I publish this post, a link will appear automatically in my Twitter feed. And so on.
Nowhere in this discussion do you hear the word "repository," nor do you need to. Certainly, data structures matter, as do the media for communicating metadata from one application to another. But the underlying repository--by which I mean, if it's not clear, the place where the content is stored--doesn't really matter all that much. In fact, as Web 2.0 charges forward, the repository continues to be commoditized. Amazon, Salesforce, Intuit, or someone else will handle the structured or unstructured data storage and management for you.
What many once considered to be a kludge--integration above the level of the repository--is now the main platform for innovation. Now, if that's not a sign that we live in a different world, I don't know what is.