SHARING & RE-USING LEARNING OBJECTS : LEARNING MANAGEMENT SYSTEMS And LEARNING OBJECT REPOSITORies Julien BROISIN Institut de Recherche en Informatique de Toulouse, Université Paul Sabatier, France
[email protected] Philippe VIDAL Institut de Recherche en Informatique de Toulouse, Université Paul Sabatier, France
[email protected] Philippe BAQUE Centre Inter-universitaire de Calcul de Toulouse, Université Paul Sabatier, France
[email protected] Erik Duval Dept. Computerwetenschappen, Katholieke Universiteit Leuven, Belgium
[email protected] Abstract: Learning management systems focus on management of the learning processes, learning content management systems or learning object repositories focus on management of learning content. As these are two separate concerns, it often makes sense to have separate toolset layers for the LMS and LOR layers. However, it is clear that some sort of interface between the two layers is required in order to make the educational content accessible through the LMS. For this kind of coupling, web services offer a flexible approach for loose coupling. Here we present an easy-toadapt approach based on web services and we report on our experiences in applying this approach to two existing learning environments.
1. INTRODUCTION More and more Learning Objects (LO) are being created and then shared through national or international projects or organizations such as GLOBE (Media 2004) or CORDRA (CORDRA 2004). However, LOs stored in a repository are not useful if they can’t be deployed to students through Learning Management Systems (LMS). Since Web-based education appeared arround 1992, most LMS store learning resources in a dedicated space, most often without any associated metadata, or at least without any metadata that are made available to end users to identify relevant content to their context. The resources are made available to students in the context of a “course”, with sometimes some simple services and functionalities, such as statistics that indicate how often a document has been downloaded. Finally they deliver those resources to learners and manage learner-specific data. The nature of this architecture does not allow various LMS to communicate, share and re-use pedagogical documents because they are stored “in the box”. Indeed, more sophisticated and open systems allow the storage of learning content and provide a transparent environment to share and re-use LOs. An LMS should transparently access those Learning Content Management Systems (LCMS) or Learning Object Repositories (LORs) to search, integrate, and insert external resources. The quality of this service depends very much on a common standard to deploy pedagogical resources, thus enabling educational authors to develop platform-independent material. Therefore, we present in this article a mediation layer allowing the integration of a LOR and LMS. It is characterized by a loose coupling, an easy-to-use integration of the components, while taking in consideration ubiquitous standard formats and protocols.
After having briefly presented our architecture, we’ll focus on the main problems we met to implement this layer on two different platforms. Then we’ll concentrate on the way that this API can be easily adapted to any others platforms (developped in the same programming language). This integration will meet several requirements: - For the LMS administrator, the installation of the layer should be easy. The approach should provide an easy-to-use mean to update the existing LMS. Moreover, the API and the target LMS should remain two independent systems. - For a course administrator, deployment of external resources shoul be easy. The approach should present the same way to integrate both LMS-owned and LOR-owned resources. - The layer should be easily adapted to others target LMSs. The approach should not be hard bound to a particular LMS. Therefore, the usage of ubiquitous standards is essential for reuse and portability.
2. ARCHITECTURE & TECHNOLOGY 2.1 ARCHITECTURE And COMPONENTS Typically, Web-based education requires the presence of a Web-based LMS. For a course creator, the regular way to communicate with the LMS is to view the content, which is delivered by the LMS through a Web browser, and to work with it. As mentioned in the introduction, most of LMS present their own document repository and can not use resources located elsewhere (Vidal et al. 2004a). We present here an architecture allowing the integration of external resources within various LMSs, and which dissociates the three levels of the 3/3 architecture, respectively storage, treatment, and interface.
LMS (Interface) Mediation Layer (Treatment)
PHP LMS
JAVA LMS ColdFusion LMS
JAVA API ColdFusion API PHP API
…
API’S
LCMS (Storage)
LOR 2
LOR 1
LOR 3
Figure 1 : A generic architecture for the share and re-use philosophy As shown in (Figure 1), the framework consists of three independent subsystems: • the Learning Management System is the central unit to deliver courseware and to manage learnerspecific data. • the Mediation layer links the LMS and the LCMS. • the Learning Content Management System manages the external resources to be integrated. An external resource is not controlled by the LMS; rather, it may itself access the LMS using technologies based on ubiquitous standards. 2.2 SUPPORT TECHNOLOGY Web-based education requires a distributed environment. Several middlewares as CORBA, EJB or DCOM provide remote access to their components via proprietary communication protocols such as IIOP, JRMP or ORPC. The strengh of their object-oriented approach is at the same time their greatest drawback when it comes to loose coupling and Internet-friendliness (Friesen et al. 2004).
Basing on SOAP, the Web services concept benefits from: - Its openness and its ubiquity based on open standards such as XML and HTTP. - Its firewall-friendliness because of the transport protocol used (HTTP). - Public and private wide support on both the server and the client sides. - Its “low barrier to entry” (Baron et al. 2001) because of diverse toolkits.
LMS Management Database PHP/MySQL
User Interface
LMS Layer PHP compatible Web Server
PHP
Resources Dedicated Disk Space
PHP PHP API (NuSOAP)
Web Services
Mediation Layer
LCMS Layer JAVA compatible Web Server
SOAP, XML, HTTP
ARIADNE KPS
Figure 2 : A generic architecture’s implementation based on ubiquitous standards The above schema (Figure 2) illustrates an implementation of the generic architecture presented in the previous section. It is based on the Ariadne Knowledge Pool System (KPS) (Duval et al. 2001) and its associated web services (Ternier et al. 2003). The SOAP implementation on the bridge side uses the NuSOAP1 library to call the Ariadne Web Services (AWS). Furthermore, the number of learning objects available within a LOR is growing faster and faster. This implies a need for associated metadata to categorize and index LOs and to make their retrievial as easy as possible (Moore 2001) (Simard 2002). Several standards and specifications support content description (Vidal et al. 2004b), but the common base for most of these standards is the IEEE LTSC Learning Object Metadata (LOM) standard (IEEE 2002). LOM defines a metadata model for LOs. This allows content providers to identify and reuse individual learning objects. LOM is also part of both the IMS (IMS 2002) and the SCORM (ADLI 2001) specifications. Moreover, since our team is part of the director committee of the ARIADNE Foundation and maintains a development center in Toulouse, we have decided in favour of LOM that the foundation co-founded.
3. MAIN ISSUES Four main steps should be achieved to ensure the bridge integration: (a) finding where to link the bridge, (b) setting up an authentication process, (c) using the AWS, and (d) making the bridge as easy-to-adapt as possible. 3.1 LINKING The BRIDGE And The LMS For portability and easy-to-install reasons, the target LMS should be modified as least as possible. An LMS often presents a work space dedicated to learning resources management. Depending on the LMS, such a space
1
http://dietrich.ganx4.com/nusoap/index.php
provides various services, but the opportunity to upload a local document within the LMS is always offered; how could a user create a courseware without any resource ? Therefore, we have linked the API in the pages related to the resource management work space. Thus, it is very easy to integrate the bridge within any LMS because (a) a low rate of pages has to be modified, and (b) finding the corresponding work space is not time-consuming. Moreover, the API and the target LMS remain two independent systems. 3.2 AUTHENTICATION Because both LMS and LCMS manage various types of users, it implicitly contain a user management component. Therefore from the LMS, when a user wants to reach external resources stored in the KPS, the bridge interface has to check its access rights related to the repository. From the LMS interface, a user should have the same capabilities to work with LOs as in the KPS interface: a “reader” user will be able to view LO descriptions, whereas a “trusted reader” user will be able to view descriptions and download resources. At the moment, the Ariadne Web services don’t allow to get user accounts. Thus, a basic but secure solution has been set up for the integration. The identifiers (without matching passwords) and the associated rights of the users registered in the KPS’s user management component are described in a text file provided within the API. When a user tries to access the repository, the bridge first looks at the local user account (LMS account), then searches for this account in the text file (LCMS account), and finaly delivers the matching services to the user (e.g. query, download, or insert services). Since the password is not mentionned in the text file for security reasons, it must be the same on both the LMS and the LCMS sides. The main advantage of this technique is that a user needs to login only once through a single-sign-on mechanism. 3.3 USING The ARIADNE WEB SERVICES The brigde is implemented with the PHP programing language; the Ariadne Web services are developed in Java. The Web services’ nature allows to make transparent those different kinds of implementation; it is not really true in the Ariadne’s case because a few services use one Java-specific object (“DataHandler”). Thus we had to make PHP understanding Java objects in order to be able to use all services. The PHP/Java bridge2 is a PHP 4 or PHP 5 module that connects the PHP object system with the Java object system. It can be used to access Java based applications from a PHP-compliant server. The PHP/Java bridge communicates with the Java VM through local socket: each request handling PHP process of a multi-process HTTP server communicates with a corresponding thread spawned by the Java VM. By using this module, we are able to call and understand the whole set of Ariadne web services. This development highlighed some drawbacks in the AWS: they use Java-specific data types, which does not meet the Web services philosophy. A solution would be to convert the DataHandler to Base64, a standard encoding type used and understood by many systems (for example, mail clients are used to implement this kind of encoding to transfer attached files). 3.4 MAKING The API EASY-TO-ADAPT To make our bridge as generic as possible, it musn’t be hard-bounded to the target LMS. In other words, the number of LMS-specific variables needed for the API to interact with the KPS must be as low as possible. Since the API is only interested in variables related to the learning content management component, we need to identify three specific variables: - The name of the user management database which allows us to get the user’s password needed for the KPS authentication phase. - The root directory corresponding to the hard disk dedicated space where the target LMS is used to save uploaded resources. - The identifier of the current training directory in order to know where the resources must be stored within the root directory. 2
http://php-java-bridge.sourceforge.net/
Those three LMS-specific variables are quite easy to detect: the name and the structure of the user management database appear in the global LMS database, the root directory is either the same or specific (in this case, it is mentioned on a configuration file) to each instance of the LMS, and the identifier of the training-specific directory just appears in the address bar of the web browser. Starting from those three variables, we are able (a) to connect the KPS from any LMS (using the user management component), (b) to store learning resources within the LMS (knowing the root directory), and (c) to link a courseware to the matching document (knowing the training identifier).
4. PRACTICAL USES In this section we’ll depict the way we integrated the bridge within two learning management sytems by describing the steps mentioned on the previous section. 4.1 INES We set up the first experimentation with INES (Cochard et al. 2003). INES stands for INteractive Elearning management System, an open source LMS developed by the Picardie University of Amiens and used in production within several national and international institutes. The link to our bridge appears in two PHP pages corresponding to the learning coursewares management work space of INES. The first one allows users to create a courseware related to a document already stored in INES, whereas the second one offers the possibility to link an existing courseware to another resource. To set up the authentication mechanism, we found the name of the user management database (“personnels”) in the INES global database. The root directory is the same for each instance of INES, that is the “foadF” directory. Finally, the identifier of the current training directory appears in the address bar of the web browser under the name “VNForm”. Natively, INES offers the possibility to users (a) to link a course to a document already stored within INES or (b) to link a course to an external URL. Depending on the user’s rights, additional functionalities are provided by the API; users are allowed to: - Query the ARIADNE KPS and to get learning objects’ metadata. - Download resources on the local host. - Transfer LOs to the INES platform in order to create coursewares with those resources. A new feature offering the possibility to insert new documents into both INES and the KPS is being developed. The bridge interface is currently being tested by the steering committee of the International E-Mi@ge project (Cochard et al. 2004) and will be very soon (January 2005) in production in Toulouse. A demonstration in available online at http://lkptest.ariadne-eu.org/ines. 4.2 MOODLE To demonstrate the generic character of the bridge and to highlight the difficulties we would meet, we wished to adapt the API to another LMS. Thus the API has been integrated within Moodle3 which is an open source, completly free to use, and broadly-used learning management system. The approach consisted in starting from the INES-specific API and to modify it so that it matches the Moodle-specific data. First we detected the work spaces dedicated to the learning resources management and linkedin the KPS’s bridge. Then, we moved the variable used to get the user’s password from “personnels” to “mdl_user” (by browsing the Moodle database) and modified the query according to the database structure. During the Moodle’s installation, the specification of a directory where Moodle will store its learning resources is required; therefore we got the root directory by looking in the Moodle’s configuration file, and then changed the variable to the matching value. The last step which consisted in finding the identifier of the current training directory was very simple because once more it is visible in the address bar of the web browser; it is composed of two variables named “id” and “wdir”. 3
http://moodle.org
Thus we got all the needed variables quite easily and demonstrated that the bridge can be easily integrated in any LMS based on a 3/3 architecture; the adaptation required about fifteen hours of development, which does not represent a too much tedious work. The solution is being tested by the Ariadne director committee and should be used in production at the Lausanne University in Switzerland next september. A demonstration is available online at http://lkptest.ariadne-eu.org/moodle. 4.3 OTHER LMS Today a lot of learning management systems are open source and freely available through the Internet. We plan to integrate the bridge within several others LMS such as Claroline4 or Ganesha5, which are both two e-learning platforms developed with the PHP programing language. More than demonstrating the easy-to-adapt character of the bridge, those various integrations will allow the Ariadne Foundation to propose a large panel of LMS to its members, rather than showing a closed and proprietary system. Finally, the Ariadne Foundation could benefit of a WebCT’s licence, maybe the most used LMS over the world. Some investigations about this platform have to be led in order to know if the bridge can be easily integrated in.
5. RELATED WORK The Katholic University of Leuven (also a director committee member and a development center of the ARIADNE Foundation) has developed an extension making it possible for the Blackboard LMS to interact with the ARIADNE KPS (Vandepitte et al. 2003). This application uses the Blackboard Building Blocks initiative allowing developers to extend Blackboard with new functionalities. If this toolkit allows third-party companies to define interfaces to Blackboard, they are useful only for the Blackboard community. Thus, defining standard services would be the next step. The Open Knowledge Initiative (OKI 2002) aims at separating individual LMS subsystems, e.g. database access, securiry, logging, by defining APIs which are intended to be used by the subsystems on communication. However the OKI initiative mainly concentrates on the development process of LMS’s and tries to dissociate functional components during development but does not focus on concepts to support extensibility of LMS’. Moreover, this architecture is exclusively designed for Java applications and has no Web services support (Friesen et al. 2004). Finally, works based on a service-oriented architecture are being led (Friesen et al. 2004) (Schmid et al. 2004) to integrate external resources into an existing learning environment. The idea of a service-oriented architecture seems promising but the framework is not design to work “out of the box”. To establish collaboration between the external resource, the LMS, and the user’s browser, the communication interfaces have to be tailormade.
6. CONCLUSION And FUTURE WORK Integration based on Web services has been a much discussed subject in the last few years, as the number of publications related to this subject aproves it. The flexibility of the framework suggested here is mostly due to the popularity and ease of use of the underlying technologies and protocols. SOAP toolkits and libraries are available for many programing languages such as Java, PHP, Perl, or Python. This makes it easier to replace components later, especially when it comes to use the external ressource in connection with various LMS. We illustrated the easy-to-adapt character of the bridge we build for LMS based on the PHP programing language. Practice has shown that the described approach can be applied successfully and could be re-used to integrate the learning content management system within others LMS based on others programing languages. The next step should be to make the mediation layer generic for any learning management system, that is to reach a Platform Independent Model (PIM) rather than a Platform Specific Model (PSM).
4 5
http://www.claroline.net http://www.anemalab.org/ganesha/
However, some issues need more investigations. For example, considering a fully-completed collaboration between various LCMS and LMS, how the LOs’ versioning can be achieved ? How a LO know coursewares it is integrated in ? Another issue deals with the authentication; indeed, the authentication process presented here can not be a long-term solution. A global authentication mechanism should be provided, making it possible for any system of an institution to get user’ information from a common database or repository. To this aim, the interaction between the Ariadne KPS and the LDAP directory is work in progress.
REFERENCES Advanced Distributed Learning Initiative (2001). Sharable Content Object Reference Model Version 1.2 – The SCORM Overview. (http://www.adlnet.org) Barron, A. E., & Rickelman, C. (2001). Management systems. Handbook of Information technologies for education and training, Adelsberger, H.H. Collis, B., & Pawlowski, J. M. (Eds). Cochard, G. M., Sidir, M., Pires, L., & Baudoux, S. (2003). INES, une plate-forme orientée vers la gestion des acteurs et des activités. Colloque “Campus Numériques et Universités Numériques en région”, 2003, Montpellier. Cochard, G. M., & Marquié, M. (2004). An E-learning version of the French higher Educationn Curriculum “Computer Methods for the Companies Management”. 18th IFIP World Congress Computer, 2004, Toulouse, VA. 557-572. CORDRA (2004). Technical Intriduction and Overview. http://cordra.lsal.cmu.edu/. Duval, E., Forte, E., Cardinaels, K., Verhoeven, B., Durm, V., Hendrikx, K., Forte, M. W., Ebel, N., Macowicz, M., Warkentyne, K., & Haenni, F. (2001). The ARIADNE Knowledge Pool System. Communications of the A.C.M., 44 (5), 73-78. Friesen, K., & Mazloumi N. (2004). Integration of Learning Management Systems and Web Applications using Web Services. Advanced Technology for Learning, 1 (1), 16-24. GLOBE (2004). IEEE Learning Technologies Committee (2002). Learning Object Metadata (LOM) Standard V1.0. IMS Global Learning Consortium, Inc (2002). Getting Started in IMS.. (http://www.imsglobal.org/specifications) Moore, M. G. (2001). Standards and Learning Objects. American Journal of Distance Education, 15 (3), 1-4. Media Release (2004). Connecting the world and unlocking the ‘deep’ web through GLOBE. OKI, Open Knowledge Initiative, Massachusetts Institute of Technology (2002). What is the Open Knowledge Initiative?. http://web.mit.edu/oki/learn/whtpapers/OKI_white_paper_120902.pdf Schmid M., Stynes J., & Kroeger R. (2004). A Distributed Arichitecture for Learning Management Systems which Supports Institutional Collaboration. World Conference on Educational Multimedia, Hypermedia & Telecommunications, 2004, Lugano, VA. 438-444. Simard, C. (2002). Normalisation de la formation en ligne : Enjeux, tendances et perspectives. Prepared for the “Agence Universitaire de la Francophonie” (AUF), 2002. Ternier, S., Neuven, F., Duval, E., Macowicz, M., & Ebel, N. (2003). Web Services for Learning Object Repositories : the case of ARIADNE Knowledge Pool System. Proceedings of WWW03 Conference, 2003, Budapest. Vandepitte P., Van Rentergem L., Duval E., Ternier S., & Neven F. (2003). Bridging an LCMS and an LMS: a Blackboard Building Block for the ARIADNE Knowledge Pool System. World Conference on Educational Multimedia, Hypermedia & Telecommunications, 2003, Honolulu, Hawaii, VA. Vidal, P., Broisin, J., Duval, E., & Ternier, S. (2004a). Learning Objects Interoperability : the ARIADNE Experience. 18th IFIP World Congress Computer, 2004, Toulouse, VA. 551-556.
Vidal, P., Broisin, J., Duval, E., & Ternier, S. (2004b). Normalisation et Standardisation des Objets d’Apprentissage: l’expérience ARIANDE. Colloque “miage et e-mi@ge”, 2004, Marrakech, VA. 48-64.