Skip to page content

Worldwide (English) Change
OCLC Research : Projects : OpenURL

OCLC Research Activities and the OpenURL Standard

The OpenURL is a protocol for interoperability between an information resource and a service component that offers localized services in an open linking environment. It is in effect an actionable URL that transports metadata or keys to access metadata for the object for which the OpenURL is provided. ("OpenURL Overview," SFX http://www.sfxit.com/open/index.html)

This page describes research activities with the OpenURL standard. OCLC also provides an OpenURL Resolver Registry as an exploratory service.

OpenURL 1.0

The OpenURL 1.0 protocol is a generalization of the popular OpenURL 0.1 protocol used to solve the appropriate-copy problem for scholarly publications. The goal of this implementation is to support the full range of abstractions present in the 1.0 specification that takes it far beyond its 0.1 roots.

Although OpenURL is generally viewed as a Web service protocol, this implementation decouples the Servlet front-end from the core functionality so it can be embedded in the architecture of broader systems. For example, WikiD is a thin layer on top of an embedded OpenURL resolver.

Visit the OCLC Research OpenURL 1.0 Open Source Software (OSS) page to download free software that implements both the core OpenURL functions as well as the Servlet front-end.

Research goals

  • Create a general-purpose tool for performing context-sensitive services for use in a variety of systems.
  • Use this system to support various prototyping activities including enhancing Open WorldCat content.

Background

Unlike the 0.1 version, OpenURL 1.0 has been slow to catch on because it is complicated and highly abstract. At the time this implementation was written, no other open-source implementation could be found that recognized the protocol's potential beyond linking to scholarly publications. The abstractions in the new specification allow for an infinite range of possible uses, however. This implementation normalizes the varieties of OpenURL requests and provides a framework to process them with a simple mechanism for instantiating the abstractions.

Timing

The initial implementation will be a minimalist effort that merely echoes OpenURL requests formatted into HTML. Subsequent development will be motivated by the common needs of developers who use the software.

Resources

OCLC research involvements with OpenURL