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