Close window
research banner

Recombination, mashups and remixing

Some OCLC Research Web services

By Lorcan Dempsey, Vice President, OCLC Programs and Research and Chief Strategist

The Web introduced the idea of a large, interconnected information space. It has mostly been for human users, who read, digest and bring together Web pages. This is changing as browser technologies develop and as ‘Web services’ become more widely adopted. Increasingly, we also see applications communicate with each other over the Web, making it a much richer environment.

Think of Amazon, which was one of the first to allow other applications to mix its own services or data into their offerings. Google Maps is another good example; ‘mashups’ between Google Maps and other applications are now common. Both of these Web services allow functionality from several places to be recombined, remixed or mashed up to meet new needs.

OCLC Research has been working on a range of efforts using Web services in this way. Our general approach is to identify functionality that may be embedded in several larger applications, or to identify some new functionality, and to make it available in a Web services environment so it can be reused more easily by other applications.

First, some clarification: ‘Web service’ is the term used for a set of emerging approaches that allow applications to communicate more easily using Web-based protocols. Effectively, Web services are a way of allowing applications to interconnect in the way that we have been used to seeing with Web pages. A Web service’s functionality is available through a machine interface and can be reused within other applications.

Two Web services developed within OCLC Research are xISBN and the Audience Level indicator. xISBN is a service that accepts an ISBN and returns all the ISBNs we know about in the same work set. So, if I give the service an ISBN for The Adventures of Huckleberry Finn sitting on my table, it will return the ISBNs for all the other versions of The Adventures of Huckleberry Finn we have mined from WorldCat.

The Audience Level service provides an indicator of the potential interest of an item based on its pattern of distribution across libraries. If something is held only by research libraries it will have a higher audience level, whereas if it is available only in school libraries it will have a lower audience level. In itself, this value may not be definitive, but it is an interesting addition to the range of indicators that we might use to refine a search, provide additional hints to a user about whether something is of interest or not, and so on.

How Web services work

Functionality from different Web sites is brought together in the browser using Web services developed by OCLC Research.

Two screen shots are shown as examples of a simple application that uses both of these Web services. In each case we are using Greasemonkey scripts and some other things to extend the functionality of a Firefox browser. The scripts interact with some Web services and what we see is functionality from different places brought together in the browser.

The first screenshot shows a search on Amazon.co.uk for Richard Dawkins’ book, The Selfish Gene. A line appears above the title: “Other editions of this title are available from the University of Huddersfield.” If I click on this, I am brought through to an earlier edition at the University of Huddersfield catalog.

What is happening here? The Greasemonkey script that is looking at the ISBN on this page, going out and checking the Huddersfield catalog, not finding the ISBN, checking our xISBN service to see if there are additional ISBNs for other versions, checking the Huddersfield catalog for those, and, being successful, inserts this line in my browser. This is based on interesting work by Dave Pattern at the University of Huddersfield, which incorporates our xISBN service.

In the second screen shot the line “Audience Level: 0.6” is inserted among Amazon’s product details. What this tells me is that this is a college-level read, but not reaching an over-specialized audience. It gives me a hint. What has happened here? Another script, a different one this time, has looked for the ISBN and sent it to our audience-level Web service. This has taken it, and returned the Audience Level indicator, which is dynamically inserted in the Web page.

These are quite simple applications with a user focus. They are mashups: they mash external functionality up with an existing Web page.

Web services are also becoming more important within the enterprise. There is a trend toward simplification of large applications, making them from smaller pieces that communicate with each other. This is developing side by side with the emergence of ‘Web services,’ which provide the ‘connective tissue’ to make these links.

Why is this happening? In general, working with smaller components improves organizational flexibility and responsiveness. It allows particular functionalities to be specialized, either within an organization or between organizations, so that appropriate focus and expertise can be brought to bear on a particular task. It allows applications to be built more quickly from preexisting pieces to meet new and changing needs. Again, think of how Amazon, eBay or Google Maps accelerates development of other applications by making appropriate functionality usefully available.

Schema transformation services and terminology services are two OCLC-developed Web services that make common functionality available in many environments. Our schema transformation Web services streamline the process of moving metadata between metadata formats and professional domains. The Terminology Web services provide a way of making multiple terminologies available to multiple editing environments. Both are going into production at OCLC and we also provide research prototypes.

These examples show another feature of working in this way: loose coupling. These applications are not tightly bound into bigger pieces. They can be reused in many contexts. Loose coupling, recombination and Web services are examples of how the network is increasingly influencing the construction of applications. These new approaches provide interesting challenges and show great potential.


left arrowDiscover WorldCat.org | By the numbersright arrow