OpenURL: The Ministry of Silly Names
Jeff offers some more insight on how to think about OpenURLs
--Th
I’m starting to figure out how to explain OpenURL to our developers without having them tune out in the first 10 seconds. My claim is that a request to any web server in existence can be modeled in the simplest of terms: what, who, where, why, when, and how. If you accept that premise, then OpenURL is a simple matter of mapping those labels to the ones defined by the OpenURL Ministry of Silly Names:
- What = “Referent”: What is the resource "who" is interested in
- Who = “Requester”: Who submitted the request
- Where = “ReferringEntity”: Where “who” was when they issued the request (just to confuse matters, this would typically be the “REFERER” (sic) found in the HTTP header)
- Why = “ServiceType”: Why did “who” invoke this request on the “what” (e.g. edit, delete, display, etc.)
- When = NOW!
- How = “Transport”: How “what”, “who”, “where”, “why” are expected to be encoded in the request
OpenURL defines various other abstractions, but these are the most relevant for now. A model based on what, who, where, why, when, and how promises a simple, intuitive way to think about any web service. There is more that needs to be said about how this model relates to OpenURL, but perhaps the key provided above offers a clue that OpenURL isn’t as complex as the silly names imply.
Jeff
Updated 2006-06-16 11:21 EDT--fixed some typos
I'm inclined to suggest that the generalization and formalization of OpenURL (from 0.1, an open but informal standard, to 1.0, a NISO standard), burdened it with a whole bunch of SillyNames/"standardese."
Probably necessary for precision. Probably necessary to expand OpenURL's potential uses. Definitely makes it harder for someone to get a handle on what it's all about.
[I do speak from experience, albeit on the "generation" side of the equation, since I specified our OpenURL 0.1 implementation without outside help other than ExLibris' brief document--and spent MUCH longer just trying to comprehend early 1.0 documents. For that matter, the complexity of the standardese may help explain why Eureka was the first *and only* OpenURL source to report completed 1.0 interoperability testing during the trial period, even though we probably had the smallest design/program/test group of anyone in the field. For me, the breakthrough was finally understanding that 1.0, for typical database purposes on the sender's side, is just 0.1 with fancy language.]
Posted by: walt crawford | June 16, 2006 at 11:05
May I quote/copy your post to send out to others? Your explanation is clear and concise.
Posted by: Bill Drew | June 19, 2006 at 10:39
Too bad Walt feels this way. OpenURL is - I think - an extremely powerful standard that could be a platform for many more applications than your typical linking server. The standard indeed has some complexity to it, and I have been waiting for someone in our community to do some work and translate it to become readable by "a broader audience". Any takers?
By all means, it is clear that Jeff is really getting what it is all about.
Posted by: Herbert Van de Sompel | June 28, 2006 at 18:28