Digital Repositories Interoperability

The purpose of this specification is to provide recommendations for the interoperation of the most common repository functions. These recommendations should be implementable across services to enable then to present a common interface. This specification is intended to utilize schemas already defined elsewere (e.g., IMS Meta-Data and Content Packaging), rather than attempt to introduce any new schema.

This specification acknowledges that a wide range of content formats, implemented systems, technologies, and established practices already exist in the area of digital repositories. Consequently, its recommendations consistently acknowledge two generalized implementation scenarios, or two different repository types: Systems reflecting established practice (e.g., that utilize Z39.50) for repository interoperability and Repositories that are able to implement the XQuery and SOAP-based recommendations as put forward in this specification.

XML is an extremely versatile mark-up language, capable of labeling the information content of diverse data sources including structured and semi-structured documents, relational databases, and object repositories. The W3C XQuery language uses the structure of XML intelligently to express queries across all these kinds of data, whether physically stored in XML or viewed as XML via middleware.

SOAP is the Simple Object Access Protocol.SOAP provides a simple and lightweight mechanism for exchanging structured and typed information between peers in a decentralized, distributed environment using XML. SOAP, when combined with WSDL (Web Services Description Language), allows Web service providers to specify what services they can provide, what the inputs and outputs to those services are, and how to encode/decode the requests and responses exchanged between the clients and servers. SOAP and WSDL are programming language neutral and free toolkits for both clients and servers are available in a number of languages.

These core functions are:

  • Search/Expose: The Search reference model defines the searching of the meta-data associated with content exposed by repositories. Searching is performed using the XQuery protocol over XML meta-data, adhering to the IMS Meta-Data Schema. IMS Content Packaging is assumed as the format for Submit/Store.XQuery for searching IMS (XML) meta-data format. XQuery is being developed by a W3C working group. It has a well-developed grammar, and several commercial implementations are emerging from the community. Its strengths are query-by-example and structured searches of XML documents and repositories containing IMS meta-data.
  • Submit/Store: Submit/Store functionality refers to the way an object is moved to a repository from a given network-accessible location, and how the object will then be represented in that repository for access. The location from which an object is moved can be another repository, a learning management system, a developer’s hard-drive, or any other networked location. It is anticipated that existing repository systems may already have established means for achieving Submit/Store functions (typically FTP). This specification provides no particular recommendations for legacy repository systems, but wishes to draw attention to the following weaknesses of FTP as a transport mechanism for learning objects or other assets: Plain FTP provides no encryption capabilities, presents widely-recognized security and does not provide means of confirming the successful delivery of assets from one networked location to another. In the case of more recently developed repositories that deal specifically with learning objects, this specification makes significant reference to the IMS Content Packaging Specification.
  • Request/Deliver: The Request functional component allows a resource utilizer that has located a meta-data record via the Search (and possibly via the Alert) function to request access to the learning object or other resource described by the meta-data. Deliver refers to the response from the repository which provides access to the resource.
  • Gather/Expose: The Gather reference model defines the soliciting of meta-data exposed by repositories and the aggregation of the meta-data for use in subsequent searches, and the aggregations of the meta-data to create a new meta-data repository. The aggregated repository becomes another repository available for Search/Expose Alert/Expose functions. The Gather component may interact with repositories in one of two ways. It either actively solicits meta-data from a repository, or subscribes to a meta-data notification service (newly created, updated, or deleted) provided by the repository or by an adapter external to a repository that enables messaging between the repository and other users (push).