August 7, 2006
Seeing the Big Picture
The first thing to notice is that OpenURL 1.0 blows the doors off of OpenURL 0.1. OpenURL is no longer limited to citation linking. The abstractions provided in the OpenURL 1.0 model extend its range to encompass any imaginable web service. Not enough people realize the significance of this.
Imagine that I write a Java method that contains pure business logic. I want to name my method anything I like, accept any parameters I need, and return any result that makes sense. Now, imagine that I could drop this on the classpath for a Tomcat webapp and have it magically appear as a web service. OpenURL 1.0 gives me that ability with a minimal amount of code to glue things together.
Given this view of OpenURL, OOM is intended to standardize this glue. I should be able to create a set of web services and bundle them together in a jar file distribution. People could then download the jar and drop it into any OOM-compliant OpenURL resolver to install them.
For example, my local library's web site contains a list of upcoming events, but they don't offer an RSS feed. If they had an OOM-compliant resolver installed, I could write such an RSS service for them and ask them to plug it into their resolver without me having to know which OpenURL implementation they were using.
Most people don't think of OpenURL as a plug-in web service architecture yet, but I believe they should.