there is no easy way to keep data about instructor-student interaction (e.g. ... Keep it simple - Implement a minimal interface to get the desired functionality.
Proceedings of I-KNOW ’04 Graz, Austria, June 30 - July 2, 2004
CEWebS - Cooperative Environment Web Services Juergen Mangler, Michael Derntl (University of Vienna, Austria [email protected])
Abstract: We are specifying and developing a flexible Web Service based framework that allows us to interactively combine components in order to meet the situationdependent dynamically changing requirements of blended learning. Our goal is to support instructors and students with customisable e-learning templates that are particularly close to their users and directly meet their needs in effective blended learning scenarios. Since the framework we develop is open source, everybody is welcome to share initial experiences. Key Words: Web Services, Blended Learning, Open Source Category: D.2.11
1
The Idea
During various courses in which we used commercial e-learning platforms, it became apparent that they [Motschnig 2004a] did not provide enough flexibility to meet our requirements. We identified the following, most serious shortcomings: – lack of / unsatisfactory support of authentication and / or user models – specialisation on content management, rather than user interaction – there is no easy way to extend / modify these platforms – there is no easy way to keep data about instructor-student interaction (e.g. searching through archives) – there is no easy way to support courses with several concurrent groups, but identical structure – there is no easy way to separate the data that specifies the structure of the course from the data that is generated and accumulated throughout the course In order to overcome these difficulties we began to create a framework that would allow us to embed components into existing platforms at the University of Vienna (e.g. Dayta1 , Ilias2 , . . . ) to bring in the flexibility we needed. Our main goals are: – Keep it simple - Implement a minimal interface to get the desired functionality. – Freedom of choice - Given the correct implementation of the interface, one should be able to use whatever programming language / framework one prefers in order to add functionality. – Scalability, flexibility - Easy distribution of functionality across servers on the Internet and various server platforms. 1 2
http://www.dayta.de/dayta http://www.ilias.de
618
Mangler J., Derntl M.: CEWebS - Cooperative Environment Web Services
Figure 1: The CEWebS Framework
– Open source - Everyone should be free to use our repository of existing components, everyone should be free to implement the interfaces. That allows for integrating new services into the product. – Support of learning scenarios and reusable patterns for blended learning - Modelled conceptually by using UML activity diagrams [Derntl and Motschnig 2004a]. Building on research on Person-Centered e-learning [Motschnig and Holzinger 2002] and blended learning patterns [Derntl and Motschnig 2004b] we decided to create a framework using recent technologies like Web Services [Curbera et al. 2001], SOAP [W3C 2003b], XML [W3C 2003a] and XSLT [W3C 2004]. The latter should be able to provide us with the flexibility we need to combine the components we need, and react to the needs of blended learning in very short time periods.
2 2.1
The Framework Basic Concepts
The framework [see Fig. 1] consists of three main parts: 1. The Administration Website 2. The Transformation Engine (implementation of a simple standardised SOAP interface) 3. Web Services (hereafter referred to as WS ) Initially there is an empty container (i.e., the course platform), which is dedicated to hold various components according to an initial course design. The administrator initialises the Transformation Engine (container) with the users and the WSs it should offer. Then he or she initialises (configures) every service with the user information
Mangler J., Derntl M.: CEWebS - Cooperative Environment Web Services
619
and additional data that is required by the service. That additional data should be described by an XML-based formal language that has yet to be defined. The Administration Website itself is a centralised service and user repository that additionally holds information about all available Transformation Engines. Administrators are assigned to these engines and can distribute users and services to them. The Transformation Engine is the link between all users and the framework. It has two main functions: – translate user requests to WS invocations – transform the response via XSL or CSS to meet the user-interface guidelines given by the surrounding environment (e.g. a commercial learning platform) The response from the WS is a raw XML document, which is defined as a subset of XHTML 1.0. It consists roughly of ’s,