A Service-Oriented Architecture for Creating Customized Learning Environments Tony Bailetti, and Michael Weiss Carleton University, Ottawa
[email protected],
[email protected]
Glen McInnis ICHU Learning, Ottawa
[email protected]
Introduction We propose an architecture for creating customized learning environments comprised of existing open source applications and systems. The proposed architecture enables a different approach to providing an organization with a learning environment. One known approach is to decide on adopting a particular proprietary system (e.g., WebCT, or Blackboard) across all departments of the organization, irrespective of specific needs of individual departments. The other is to customize an existing open source learning environment (e.g., Moodle, or ANote) by modifying its source code. While this solution affords maximum flexibility, it is also very costly. The Open Learning Suite (OLS) project [3] builds a custom learning environment using existing open source applications and systems. It supports multiple configurations across one organization and requires no source code modifications to those components other than the creation of a web service wrapper, which is a onetime effort, and can be supplied by the component provider. The OLS project is itself an open source project hosted on the eduforge.org site. Eduforge [1] is a recently started initiative for the development and dissemination of open source e-learning environments. It was founded in January 2004 as part of the New Zealand Open Source Virtual Learning Environment project (NZOSVLE). The NZOSVLE is a major collaborative education project funded by the New Zealand Tertiary Education Commission (TEC). The project’s goals are to adopt, adapt and develop open source e-learning infrastructures for its consortium members. The software developed will be made available on Eduforge under the General Public Licence (GPL) for members of the community and the greater public. In the following sections, we review the objective of the OLS project, its expected benefits, and design challenges, and describe the architecture of OLS, and a staged development approach for the incremental introduction of its features. We conclude by identifying possible contributions to OLS from the Semantic Web community.
2 Tony Bailetti, Michael Weiss, and Glen McInnis
Objective The objective of OLS is to develop a software system that will allow open source applications and systems to communicate with one another and deliver customized configurations of learning environments. These include applications that deliver narrow services (e.g., wikis, user rating tools, bulletin boards, instant messaging). However, these also comprise modules of large systems that bundle a set of services (e.g., course management systems, learning content management systems). The best way to think about OLS is as both a platform or chassis, and a product configurator for creating customized systems on top of that chassis. Benefits Once deployed, OLS will provide four key benefits: 1. 2. 3. 4.
OLS builds enterprise wide learning environments that benefit from gluing together the best of the existing open source applications and systems. OLS builds systems customized at the functional level, as well as the shell or language levels (as supported by current systems). OLS allows different enterprise-wide configurations to operate concurrently. The functionality can be tailored to the needs of individual departments. OLS provides an easy to use, clean, and recognizable user interface. The look and feel across different configurations will be the same.
Design Challenges In order to achieve its objective, OLS needs to address a number of key problems: 1.
2. 3.
4.
Expose the functionality of applications as web services. Applications will be integrated through web service wrappers that effectively turns them into headless servers. However, compounding this problem is that many of these applications do not strictly separate presentation from application code. Aggregate the output of multiple applications into a single interface, achieving a common look and navigation across those applications. Map the concepts embedded in the individual applications to domain ontologies for each type of application. For example, all applications have users, which, in a specific case may be differentiated into students and teachers, or manage content, which, in the context of a specific learning model may be specialized into opinions, reasons, and assumptions. Dynamically discover applications or modules that provide a required service. Ultimately, the applications to be composed for a particular configuration will not be manually selected, but discovered based on a learning service ontology.
A Service-Oriented Architecture for Creating Customized Learning Environments 3
Architecture The features of OLS will be introduced in multiple stages. During the first stage, each application will maintain its own datastore, and look and feel, as shown in Fig. 1. Integration of the applications is limited to providing a single sign-on for the user, obviating the user to reenter identifying information for each application. The purpose of this stage is to take a first pass at application integration with regard to a single feature, the management of user information (dark blue indicates direct integration).
Fig. 1. Stage 1: Single-sign on the for user
At the second development stage, integration will extended to the level of application components or modules. Modules are either narrow-focus applications, or components of a larger system that can be used on their own (e.g., delivering and grading exams is a typical module of a LCMS). The focus of this stage is on creating web service wrappers (in green) for shared information and common functionality. Applications will be able to share some common functionality as shown in Fig. 2.
Fig. 2. Stage 2: Shared information and common functionality
During the third development stage, all (not only common) application functions will be exposed as web services, and the OLS chassis consumes those web services, as shown in Fig. 3. The end user will see a unified user interface (in red), which replaces the interfaces of the individual applications that are providing those services. At this stage, the services consumed by the OLS chassis are statically configured.
4 Tony Bailetti, Michael Weiss, and Glen McInnis
Fig. 3. Stage 3: All functions exposed as web services via a unified user interface
At the final development stage, the services consumed by the OLS chassis will be dynamically configured. This uses dynamic service discovery and composition. Validation We will validate the architecture with two configurations: a helpdesk, and a realtime lecture with examination facility. Both configurations incorporate narrow-focus services (e.g., wiki), and modules of other applications (e.g., lecture delivery), and are representative of the range of applications that OLS will be applied to. This helpdesk configuration [2] includes: — Issue tracking system — User rating tool — Bulletin board as a searchable knowledge base — Wiki for create pages for FAQs — Module of an existing LCMS to deliver tutorials to service providers — Report engine for the learning environment The real-time lecture configuration comprises: — Web conferencing utility for real-time lecture delivery — Module of an existing LCMS to deliver and grade exams — Analytics to evaluate question performance We expect to see OLS used for standalone applications that deliver narrow services (e.g., bulletin board), systems that deliver various service modules (e.g., lecture delivery), and small systems focused on solving a problem (e.g., issue tracker). To this end, OLS must allow us to add new services to an existing system, as well to recompose services provided by modules of existing systems into new systems.
A Service-Oriented Architecture for Creating Customized Learning Environments 5
Related Work There is a lack of work on using web services to integrate learning applications, and creating customized learning environments. One related effort is the LearnServe [5] platform. The idea behind LearnServe is to decompose the functionality of an existing e-learning system into its major components, and to make them available as web services. These services can then be composed into new systems. While both approaches share the notion of exposing the functionality of e-learning systems as web services, LearnServe does not address the issues of how to integrate these services, or expose functionality as services. Rather, it makes service integration a responsibility of client applications, and presupposes that the underlying e-learning systems already cleanly separate presentation and application logic. These are both issues which are addressed by OLS. However, the most important contribution of OLS is, perhaps, the community development model that it enables. Discussion We are looking for input from the Semantic Web community on the following issues: 1. 2. 3. 4. 5.
Definition of domain ontologies to support OLS. Suggestions on the architecture. Suggestions on wrapper design templates that will used to communicate to development communities the form of wrappers needed. Tools to infer wrappers for open source software applications or modules (e.g., similar to the recent advances in “protocol informatics” [4]). Definition of a learning service ontology for service discovery.
Conclusion This paper has described an architecture for the intergration of open source learning applications and systems using web services. The Open Learning Suite (OLS) is under active development, and has received a fair bit of attention in the open source educational software community. We would like to extend an invitation to members of this workshop to comment on the architecture, as well as to get actively involved with the development of OLS. To find out more about this effort visit the OLS project space on the eduforge.org site at http://eduforge.org/projects/ols. References 1. 2. 3. 4. 5.
Eduforge, https://eduforge.org. FOSS in Education Helpdesk, https://eduforge.org/projects/helpdesk. OLS, https://eduforge.org/projects/ols. Protocol Informatics Project, http://www.baselineresearch.net/PI. Vossen, G., and Westerkamp, P., E-Learning as a Web Service, International Database Engineering and Applications Symposium (IDEAS), 242-249, ACM, 2003.