online repositories or collections of LOs worldwide
(e.g. MERLOT, Wisc-Online). The Jorum Team
made a comprehensive survey (JORUM, 2006) of
the existing repositories and noticed that most of
these systems do not store actual LOs. They just
store metadata describing LOs, including pointers to
their locations on the Web, and sometimes these
pointers are dangling.
The repositories usually offer several features
including upload/download, single/federated search,
comment/review and collection management.
Despite these features, existent repositories present
integration and interoperability issues. For example,
the LOs in the previously cited repositories must be
manually imported into an LMS. An evaluation
engine (EE) cannot query the repository and
automatically import the LOs it needs. In summary,
most of the current repositories are specialized
search engines of LOs and not adequate for
interoperating with other eLearning systems, such as
an automatic evaluation engine.
Surveys (Holden, 2004) show that users are very
concerned with interoperability issues. Some major
interoperability efforts (Hatala, 2004) were made in
eLearning, such as NSDL, POOL, EduSource and
IMS DRI. The IMS DRI specification was created
by the IMS Global Learning Consortium (IMS GLC)
and provides a functional architecture and reference
model for repository interoperability. The IMS DRI
provides recommendations for common repository
functions, namely the submission, search and
download of LOs. It recommends the use of web
services to expose the repository functions based on
the Simple Object Access Protocol (SOAP, 2007).
3 CRIMSONHEX REPOSITORY
In this section we introduce the crimsonHex
repository and we present its application interface
(API) used both internally and externally. Internally
the API links the main components of the repository.
Externally the API exposes the functions of the
repository to third party systems. To promote the
integration with other eLearning systems, the API of
the repository adheres to the IMS DRI specification.
The IMS DRI specifies a set of core functions and
an XML binding for these functions. In the
definition of API of crimsonHex we needed to create
new functions and to extend the XML binding with a
Response Specification language. The complete set
of functions of the API and the extension to the
XML binding are both detailed in this section.
3.1 Architecture
The architecture of the crimsonHex repository relies
on an API where the repository exposes a set of
functions implemented by a core component that
was designed for efficiency and reliability. All other
features are relegated to auxiliary components,
connected to the central component using this API.
Other eLearning systems can be plugged into the
repository using also this API. Thus, the architecture
of crimsonHex repository is based on the Core
component that exposes the main features of the
repository, both to external services, such as the
LMS and the EE, and to internal components - the
Web Manager and the Importer. In the remainder we
focus on the Core component, more precisely, its
API and we introduce a new language for message
interchange.
3.2 Applications Interface
The IMS DRI recommends exposing the functions
as SOAP web services. Although not explicitly
recommended, other web service interfaces may be
used, such as the Representational State Transfer
(REST) (Fielding, 2000). We chose to expose the
repository functions in these two distinct flavours.
SOAP web services are usually action oriented,
especially when used in Remote Procedure Call
(RPC) mode and implemented by an off-the-shelf
SOAP engine such as Axis. REST web services are
object (resource) oriented and implemented directly
over the HTTP protocol, mostly to put and get
resources. The reason to provide two distinct web
service flavours is to encourage the use of the
repository by developers with different
interoperability requirements. A system requiring a
formal an explicit definition of the API in Web
Services Description Language, to use automated
tools to create stubs, will select the SOAP flavour. A
lightweight system seeking a small memory
footprint at the expense of a less formal definition of
the API will select the REST flavour. The repository
functions exposed by the Core are summarized in
Table 1.
Each function is associated with the corresponding
operations in both SOAP and REST. The lines
formatted in italics correspond to the new functions
added to the DRI specification, to improve the
repository communication with other eLearning
systems.
To describe the responses generated by the
repository we defined a Response Specification as a
new XML document type formalized in XML Sche-
ICEIS 2010 - 12th International Conference on Enterprise Information Systems
128