CEWebS - Cooperative Environment Web Services - CiteSeerX

6 downloads 0 Views 257KB Size Report
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,
’s, ’s, ’s, ’s and ’s that can be styled via special attributes. The goal was, again, to keep it simple as well as to allow developers an easy entry to WS based development. The WSs are the central parts of the architecture. Every Transformation Engine can talk to an arbitrary number of WSs through a well-defined interface. The interface gives the Transformation Engine the ability to: – Get XML data that can be transformed into a specific user interface – Get data that is embedded in a specific user interface (applets, images, data / documents for plugins, . . . ) – Get binary data (clickable downloads) – Decide whether a request requires authentication – Cache data to keep the data flow between WS and Transformation Engine low Every WS can hold multiple instances of user / configuration data, corresponding to each Transformation Engine through which it is used. Finally, the Report Client connects to every WSs Report interface. This interface simplifies the querying of reports for a WS instance. It allows the administrator to collect analyses of certain incidents, e.g. users that missed the submission deadline for their contributions. Through the report interface the administrator always receives binary data, e.g. standalone HTML pages, EXCEL Sheets, PDF’s, or JPEG’s containing the solicited information.

2.2

A Concrete Scenario: The Process of Building Teams

By using the concrete example of a WS that enables students to build teams online, we want to show how the interaction between a User and CEWebS works. The basic data flow is defined as follows [see Fig. 2]: The user selects “Participants” from the menu: The container (aka. Transformation Engine, hereafter referred as TE ) holds a list of all WSs (location, name, visibility, description) locally (note that in [Fig. 2] there is only one WS in the container). The name of a WS is a container-unique identifier that can be use to implement container-internal cross-WSs links. Each WS also carries a visibility status, that tells whether its link should appear (in our case as a menu menu item in the navigation bar). It is up to the TE whether it shows the visible menu items or whether it passes them to the surrounding environment.

620

Mangler J., Derntl M.: CEWebS - Cooperative Environment Web Services

Figure 2: Building Teams

The TE selects the responsible WS: The TE selects the location and the initial command for the WS in question. CEWebS WSs use identifiers called commands to refer to certain parts of their functionality. The container also holds information about the default command that is used when a WS is initially called. Together with WS location and information about the WS’s internal data instance and optional default parameters, the connection can be initialised and the data can be addressed. The TE collects initial information about the document: Each TE is intended to do local caching to keep the data load at a minimum. So first, the method prepare is invoked, which returns a cache key by which cached documents can be identified, and a boolean value that indicates whether authentication for this command is required. The TE requests the document: The Information about the last modification of the cached document and additional parameters are sent to the WS via the doCommand method, which returns a new document plus a new modification date, or nothing if the cache holds the current version. If a document is returned, it is saved in the cache and the modification date is set according to the provided date. The TE delivers the document to the user: The document from the cache is then optionally XSL-transformed and sent back to the user. Due to the structural similarities between the document and ordinary XHTML, the styling job can also be done by CSS, which is less resource-intensive. The user selects a link that leads to a group view: Basically the same process is repeated with additional parameters. Although links in the platform appear like normal URLs to the user, in fact the document holds the links in a special format, which is transformed to a browser-readable URL. For example, CEWebS://self/document/details&CEWebS id=1 is interpreted as follows: – self tells the TE that the WS wants to display itself. Another possibility is that the WS wants to place a link to another WS in the container by referring to its name.

Mangler J., Derntl M.: CEWebS - Cooperative Environment Web Services

621

– document tells the TE that the result is supposed to be a document. Different possibilities include an embedable resource (Image, Applet, . . . ) or a downloadable file. – details is the command (i.e., the requested functionality inside the WS). – &CEWebS id=1 is an additional parameter that is passed to the WS. Parameters have to start with CEWebS as to not interfere with the standard HTTP/GET and HTTP/POST parameters used by the surrounding environment. In the given case, a document showing participants of group 1 is returned (or served from cache). The user selects a link, to start the team-building process: For the first time prepare requires authentication. The TE container holds information about all users that are allowed to access the WSs and shares it with the surrounding environment. The platform is now forced to authenticate the user, or to return the current user’s identity if it is already authenticated. From now on the user information is provided with every invocation of the prepare and doCommand methods. The user selects a person in the pool: Inside the WS the two persons (the current user and the clicked-on participant) are assigned to a new team. The information about the team change is propagated to the AC part of the Administration Website, which in turn distributes the information to all affected WSs (the ones in the same container).

3

First Experiences

Currently, our test implementation includes a Transformation Engine written in PHP, several WSs written in SMALLTALK (Ruby), some written in C#.NET, some written in PHP and an Administration Website consisting of an implementation of the Report interface. The basic infrastructure is already implemented, missing parts include a pattern description formalism to achieve unified configuration of services and modules to allow for integration with existing university systems for user import and maintenance. The various evolution stages of the test implementation have until now been used in a total of 9 courses, with 493 students in the current term, and an overall number of 742 students. In the current term, for the first time, all our students are using the CEWebS platform. Up to now we have concentrated on the following aspects of our blended course design, and implemented them as independent WSs: – General information (dates, deadlines, course material, . . . ): They are managed in form of a WIKI [Moulthrop, Bernstein and Carton 2002], which allows instructors and their tutors to keep the information up-to-date in a simple, collaborative manner. – Participants (groups and teams, which are organised in a central user repository): The students are able to build teams. – Reaction sheets as a form of evaluation of specific course units or whole courses – Elaboration (of topics or projects including peer- and self-evaluation) [see Fig. 3]: The elaboration process can be split into phases, whereby documents are organised by the platform in a consistent form.

622

Mangler J., Derntl M.: CEWebS - Cooperative Environment Web Services

Figure 3: The ”Project” Web service in a major course on Web Engineering

– Learning contracts (e.g. WELL - Web Engineering Lernleistungsvertrag) as an alternative way of assessment including building of teams, elaboration of a related topic, as well as peer- and self-evaluation of contracts. – Embedding of specialised tools: The simplicity of the framework has made it easy to include a set of XML tools, that are implemented as a Web service including XML well-formedness checking, XML against DTD checking, XML against XSchema checking, XPath evaluation, and XSL transformations. The online tools are also used to directly collect and to store the XML-related elaborations online. Built-in logging enables tracking of students’ online activities curve very detailed. – The obvious discussion forum functionality. – Questionnaires to measure the impact of platform usage in a given course and to collect feedback (both technically and didactically) for the next development iteration. To get a clear picture of the situation, we decided to use the Action Research approach [Motschnig 2004b], using questionnaires and other feedback methods to test our hypotheses. The overall results were clear [see Fig. 4] (the differences between the instructors are explained in more detail in [Motschnig, Derntl, and Mangler 2003]).

Mangler J., Derntl M.: CEWebS - Cooperative Environment Web Services

623

Figure 4: Mean Values for General Tool Support (1 = low . . . 5 = high)

Students showed much more acceptance for the learning process oriented platform than for the commercial platform, for being “easier to use and navigate”, “less complicated to understand”, etc. First experiences in 9 courses with more than 600 students indicate that: ... the environment is stable ... students evaluate it as highly usable ... blended evaluation (a mix self-, peer-, and instructor-evaluation) is feasible ... structural reuse across courses entails great simplifications ... online questionnaires are appropriate instruments for Action Research

4

Future Research

Most of the Framework is now in place, so we are now concentrating on analysing courses in order to find common patterns and to mine for reusable functionality (including other fields of study). Missing points in the existing Framework include a WS description meta language. We are trying to find a schema where WSs can describe what they are doing in a formalised way, with the goal to write a WS Configuration Client that has the ability to configure all WSs by asking the user (in that case the person who wants to “build” a course) specific questions in form of a wizard, resulting in ready-to-go instances that can be used by the students. This includes that the WSs can access information about previous courses, and options to copy the course structure. So it will be easy for instructors to replicate a course based on a previous year and to subsequently allow for concentrating on improvements and f2f interaction.

624

Mangler J., Derntl M.: CEWebS - Cooperative Environment Web Services

Another important goal is to prove the ability to embed the Transformation Engine into other learning platforms (it is not our goal to create another platform, but to provide a unified way to extend existing platforms), and we are currently evaluating eduplone3 and WebCT4 as host platforms for CEWebS. We view the support for sharing components between various platforms, plus the ability to extend them without knowledge of their inner working principles as our most promising contribution to push blended learning environments to the next level.

References [Curbera et al. 2001] Curbera, F., Nagy, W., Weerawarana, S., Web Services: Why and How; OPSLA 2001 Workshop on Object-Oriented Web Services, Florida, USA, (2001), available at http://www.research.ibm.com/people/b/bth/OOWS2001.html [Derntl and Motschnig 2004a] Motschnig, R., Derntl, M., BLESS - A Layered Blended Learning Systems Structure, submitted to this conference, (2004) [Derntl and Motschnig 2004b] Derntl, M., Motschnig, R., Patterns for Blended, Person-Centered Learning: Strategy, Concepts, Experiences, and Evaluation; Proc. ACM SAC (Symposium on Applied Computing), Nicosia, Cyprus (2004) [Motschnig 2004a] Motschnig. R. Blended Learning in einer grossen Informatik-Lehrveranstaltung: Personenzentriert oder Handlungsorientiert?; in Mayer, H., O., Treichel., D., eLearning und Handlungsorientiertes Lernen - Grundlagen und Praxisbeispiele, to appear [Motschnig 2004b] Motschnig-Pitrik, R.: An Action Research-Based Framework for Assessing Blended Learning Scenarios; Proc. ED-MEDIA’04 - World Conference on Educational Multimedia, Hypermedia, & Telecommunications, Lugano, Switzerland, (2004) [Motschnig, Derntl, and Mangler 2003] Motschnig-Pitrik, R., Derntl, M., and Mangler, J.: Web-Support for Learning Contracts: Concept and Experiences; Proc. 2nd Int. Conf. on Multimedia and Information & Communication Technologies in Education (m-ICTE.03), Badajoz, Spain, (2003) [Motschnig and Holzinger 2002] Motschnig, R., Holzinger, A., Student-Centered Teaching Meets New Media: Concept and Experiences; IEEE Educational Technology & Society, 5, 4 (2002), 160-172 [Moulthrop, Bernstein and Carton 2002] Moulthrop, S., Bernstein, M., Carton, S.: Self-assembling hypertexts, weblogs, and wikis; Proc. ACM Conference on Hypertext and Hypermedia, College Park, Maryland, USA, (2002) [W3C 2003a] W3C, Extensible Markup Language (XML); available at http://www.w3.org/XML/ (2003) [W3C 2003b] W3C, SOAP Version 1.2 Part 0: Primer; available at http://www.w3.org/TR/2003/REC-soap12-part0-20030624/ (2003) [W3C 2004] W3C, The Extensible Stylesheet Language Family (XSL); available at http://www.w3.org/Style/XSL/ (2004) 3 4

http://eduplone.net/ http://www.webct.com/