Exploring the Use of WebServices for the Design and ...

4 downloads 7152 Views 321KB Size Report
top of the screen. Carl likes to .... of a high-tech way to grow plants for food in space. ... collaborative modelling and design framework, Cool Modes [17], with a flexible .... Workshop on Wireless and Mobile Technologies in Education, 2004. 6.
Exploring the Use of WebServices for the Design and Implementation of Innovative Collaborative Technologies Marc Jansen, Josh Gottdenker, Philipp Rossmanith, Marcelo Milrad University of Duisburg-Essen Faculty of Engineering Institute of Computer Science and Interactive Systems [email protected] CeLeKT School of Mathematics and Systems Engineering V¨ axj¨ o University P G Vejdes 7 SE-35195, V¨ axj¨ o, Sweden [email protected], [email protected], [email protected]

Abstract. This paper presents some ideas of how to use Web Services for the implementation of innovative collaborative technologies. A major goal here is the idea to build re-usable collaborative software components to foster knowledge exchange and learning. This paper describes two examples of how we used Web Services to achieve this goal. The first example we will describe implements a digital notice board with large, public displays. Here, we used web service to provide flexible data access. Web services provide the possibility to use our infrastructure with different programming languages and devices. The second example we will present is an application that enables students to construct and model experiments descriptions using a control plant-growth system, the biotube, remotely via Web Services.

1

Introduction

For some time the family of XML-related technologies has been proposed as a way to represent, manage and transform information in a standard, reusable way. However, such a promise is not guaranteed and most certainly not an automatic result of adopting such technologies. Thus, in the area of educational systems, given the types of representations that are necessary for educational, essentially document-based content, work is being undertaken to establish a standard language that can be used for this purpose. So far no single language has appeared but several candidates are being worked on. Some popular examples are DC, IMS, IEEE Learning Objects Metadata [LOM], Educational Markup Language [EML], Tutorial Markup Language [TML], and PALO [1]. Learning Objects are defined here as any entity, digital

or nondigital, which can be used, re-used or referenced during technology supported learning. Examples of technology-supported learning include computerbased training systems, interactive learning environments, intelligent computeraided instruction systems, distance learning systems, and collaborative learning environments. Thus, learning objects refer to pieces of information of different granularity, which can be combined, linked and reused. Examples of learning objects include multimedia content, instructional content, learning objectives, instructional software and software tools. From another perspective, recent trends in computing have focused on embedding technology in everyday objects to make them more intelligent and ”invisible”. Although computers may get out of sight as explicit determinants of the learning situation, the notion of interoperability is more crucial than ever. Interoperability can provide functions such as media integration and flexible, scalable re-use of learning objects. Not only must we design for multiple users with potentially different roles, we also have to consider that the activities will take place in open technical environments with various software and hardware components, some of which may not be under our control. We see interesting technical challenges with regard to the notion of easy re-use of learning material and the development of new applications to support collaboration in distributed environments. Our research efforts in this direction aim at designing new concepts and technological solutions in order to: – Enable the sharing and exchange of learning objects across distributed learning systems. – Create new applications to support interoperability between different applications and devices and thus to support new ways of communication in different learning situations. In this paper, a special focus is given to the idea of exploring the use of Web Services to enhance the ways in which different applications and devices can exchange data with each other. In the following sections, we will illustrate some of these ideas by describing a couple of scenarios using collaborative technologies, workflows therein, and the technologies supporting them.

2

Using Web Services in the field of Learning and Knowledge Technologies

The usage of web services provides new ways to foster communication processes in the domain of learning and knowledge technologies. Mizoguchi [2]has shown that the development of software components in this area is usually a very time consuming task. the main reason for this is that these components are usually created from scratch. Along the same line, Devedzic [3] pointed out that the development of web-based educational software should focus more on the interoperability and reusability of software components. Chen [4] found that web services provide a good approach to mitigate these problems, since they use

basic techniques like WSDL, UDDI and SOAP, to make software components interoperable and reusable. Chen also suggests focusing more on the use of web services for the development of synchronous or asynchronous web-based educational software. Milrad et al. [5] point out that the interoperability of different non-standard mobile devices (Lego RCXs, data loggers, digital pens. etc) in educational settings can support learning and communication processes. Thus, when it comes to the integration of different non-standard devices into knowledge and learning technologies, web services provide an interesting alternative since most of the devices do already support the use of this technology. The same holds for almost all prominent programming languages. Accordingly, the question related to which programming languages should be used to access a non-standard device is no longer as important as in the past. Therefore, we decided to make our components available through web services in order to provide an open system that can easily be reused by other developers and to allow for an easy integration of different non-standard devices.

3

Examples

This section describes two example scenarios in which we have decided to use web services to ease the integration of different devices and to open our Java based systems for other programming languages. 3.1

The Synchro Board

The scenario described in this section implements a public display approach to allow for flexible interaction between wall-mounted and a variety of different devices displays for information exchange. Hereby, we use up to date technology like Enterprise Java Beans (EJBs) and modern approaches like a flexible framework for the integration of non-standard devices in Java applications [1]. We decided to use web services To provide flexible interfaces that can be used from a variety of different devices, since they are easy to use and a growing number of devices provide support for WebServices. Traditional notice boards, where people can post notes on paper, are a useful part of our everyday life. However, there are some drawbacks: outdated material often stays on the board, while other, more interesting content is disappearing. It is difficult to reliably recognize the author of a posting, and, though users can easily pick up and remove notes from the board, it is not possible to make digital copies of the postings [6]. Furthermore, due to non-standard format of postings (papers in different colors, sizes, etc.) or postings concealing one another, it is not easy to get an overview of all the information presented on the board. Finally, paper-based notice boards may contain postings that are only relevant to

a part of a community, drawing unnecessary attention from the rest of the users. The SynchroBoard, a digital version of a notice board, is an attempt to mitigate these drawbacks. Similar efforts exist ([6], [7], [8], [9], [10]), though, to our knowledge, none of them is utilizing Web Services. The Synchroboard was designed having in mind people working in heterogeneous, knowledge-intensive working environments, e.g. universities, campus environments or science parks. It enables users to post, view and retrieve messages via large, wall-mounted displays, Bluetooth and mobile devices, and a Web interface. Messages can be sent to individual users, communities (i.e., groups sharing some kind of interest), and locations, i.e. specific displays. Users messages are published as post-its on the displays. The displays are equipped with sensors to identify users among the passers-by in order to adapt the screen layout and filter post-its to reduce the risk of information overflow [11]. (The subscription to communities is utilized for this purpose.) Displays show also which other users can be found in the vicinity as an awareness feature, which is important in an environment where work is carried out asynchronously [12]. Utilizing Bluetooth, users are able to transfer selected post-its to their mobile devices. Users can also forward post-its to their email addresses. This is taken care of by the server, as is explained later in the technical section. The primary use cases of the SynchroBoard can thus be summarized as follows (see figure 1): – – – –

Post notes/post-its Retrieve notes/post-its Create and delete groups of interest Subscribe and unsubscribe to groups of interest

Fig. 1. Overview of the Synchro Board use cases

Usage of the Synchro Board The following scenario illustrates how users apply mobile devices, Internet terminals and wall mounted displays to exchange information utilizing the SynchroBoard system at a university: Mary is a researcher at the pedagogics department. Mike, a student, is part of her research group while writing his master thesis. Mary is his supervisor. The pedagogics department is sharing their office space with the language department. A SynchroBoard display is situated next to the main entrance to the building. Mary has a Bluetooth-enabled PDA that she uses as a personal organizer, keeping record of her meetings and appointments. Mary is a fan of public transport. While she is approaching the university campus by bus she is using the email client on her PDA to write a post-it to her group concerning a call for papers for a conference. When she enters the building, she passes one of the SynchroBoard screens and is identified by the system. On the right of the screen, there is a list of user thumbnails. Those whose mobile devices are within the Bluetooth detection range of the screen are shown as ”on site”, the others as ”off site”. Textual messages attached to the thumbnails inform about when they went ”on site” or when they were last seen in the facilities, respectively. The screen changes the status of Marys thumbnail to ”on site”. At the same time, the new post-it she wrote is transferred to the system. The display shows a selection of ”public” messages addressed to all users. Mary pulls a plastic card with bar code through the card reader attached to the display. Every user registers one such card to be able to get an individualized view of messages on the displays. The card is used to identify people standing right in front of the board. An identification with Bluetooth doesn’t make sense here; the range of Bluetooth is too large and imprecise, the view would be customized for people which cannot even see the board. The display changes and shows a view customized to Mary’s information needs. She notices a new post-it from Mike. He is asking her for a meeting regarding his thesis. On the thumbnail list, Mary can see that her colleague John is here today. She wanted to discuss a project idea with him. Carl, a colleague from biology, approaches the display and pulls his card. His status is updated, and the view of the display is changed; his messages appears together with Marys. She knows that Carl likes Jazz, too. They found out about their common interest when they were both looking at a post-it where a local Jazz band was looking for a drummer. Hence, she points him out to a post-it where the same band is advertising a Jazz concert in one of the university classrooms. The post-it shows that the bandleader has published it the same day. Mary activates the controls on the post-it and pushes the ”transfer” button.

The post-it is sent to her PDA and appears in her inbox. All post-its are laid out according to the current filter, which is visualized on top of the screen. Carl likes to sort the post-its by time (newest first) followed by urgency (most important first). He asks Mary if she minds if he is changing the filter. He then sets the filter to his liking by clicking on the filter buttons. Mary proceeds to Johns office. After she is back, she writes an email to Mike, telling him that she has a meeting downtown and does not know when she will return. However, he is welcome to visit her once she is back. John needs a book from the library. He will not be able to make it there today, so he made a posting to the library SynchroBoard for members of the pedagogics department asking them to pick up the book for him. He knew he will be at the library tomorrow - therefore he set the expiration date to the following day. Mike enters the library and is identified by the SynchroBoard display located there. Mike and his girlfriend are looking for a new apartment. He stays and searches the display for offers. There is one new offer that sounds interesting. Mike saves the offer from the public to his mobile phone. Mike notices Johns message and goes to the desk to pick up the book. Around 2 pm, Mike is back in his apartment and is checking his email. He reads the reply from Mary and checks the Web interface for the pedagogics SynchroBoard to see if she is back. He left his message to the board through the same interface yesterday evening. Mary is offline. After a while, her status is changing. He gives her a call and proceeds to meet her before giving the book to John. Technical Implementation The technical implementation for the SynchroBoard scenario is based on a number of different technologies and therefore we have developed a layer architecture that allows for a flexible integration of the different kinds of technology. Basically, the three layers shown in figure 2 are implemented in the software architecture: on the lowest layer we do on the one hand have the Database system for storing either user account information, profiles and informations plus context of the messages. Futhermore, on the lowest layer we have implemented the so-called Plugin-Handler which allows for the integration of different non-standard devices like PDA’s, PocketPCs, mobile phones, but also devices like RF-ID tags or barcode scanners. These plug-ins are either used for user authentication, e.g. a user can authenticate himself over the Bluetooth id of his mobile device, but also for the message exchange with the SynchroBoard. Therefore, the users have the possibility to send and receive their messages on a number of different channels, e.g. Bluetooth, SMS, email and so on. Most of the plug-ins are based on a framework for the integration of non-standard devices in Java. They do on the one hand use the possibility, that the framework provides, to describe non-standard devices in XML and on the other hand to foster the communication between different non-standard devices. The database

Fig. 2. The Synchro Board software architecture

implementation provides WebServices as an interface in order to allow the flexible integration of different device also from different programming languages. Therefore, this implemenataion provides access via Web Services to all necessary information that are stored in the database, e.g. user account information, which is of course restricted, and access to the messages of the SynchroBoard that should be accessible by the user. The advantage of using Web Services here, is to allow an easy integration of new kind of clients, e.g. new mobile devices like upcoming cell-phones, web-based clients or new implementations of a SynchroBoard. Therefore, the Web Services are to be seen as an interface to the database layer. The layer in the middle of our architecture provides very basic features needed by graphical user interfaces in order to be able to show messages that are to be exchanged by a SynchroBoard. Therefore this layer communicates via WebServices with our database implementation in order to allow a variety of different implementations, even in different programming languages. For example, the GUI-middleware layer provides an interface with several methods, e.g. a method that allows for receiving a ranked list based on a user profile. Figure 3 shows the necessary steps and the information flow for the retrieval of a ranked list of messages. This layer was introduced in order to provide an interface with a common set of methods againstwhich the GUI components can be programmed. Therefore, this layer provides methods that might be used by every view implementation, e.g. a method that allows for the retrieval of a ranked list according to a given user profile. This was necessary to be adaptable to certain user interface for the screen. For example, in one location the Synchro Board screen might not

Fig. 3. A UML sequence diagram for the retrieval of a ranked list

allow for direct data input over the screen itself, maybe because the hardware of the screen is not touch sensible. In this case the user is forced to do his input via his mobile device and therefore the user interface may differ significantly from a screen where a user might have the possibility to make his input directly on the screen. Another possible scenario is, that every SynchroBoard provides a number of different user interfaces in order to allow the user to decide which view he prefers for his data. The database layer itself is implemented as Enterprise Java Beans (EJBs) which provide a flexible and scalable way of dealing with database structures. All the database entities are implemented as Entity Beans. The WebServices that are deployed in the same application server as the EJBs, implement all the business logic necessary to control the database entries and therefore the Entity Beans. Hereby, the basic idea to use WebServices appeared when we thought about the possible variety of devices and user interfaces that are possibly used in this scenario. Most of the devices that we focused on do already provide the possibility of using WebServices, with a WSDL interface, or they can easily be integrated with the help of the framework for the integration of non-standard devices in Java applications. Furthermore, if someone wants to write a web based user interface for the SynchroBoard scenario, e.g. in PHP, he can also use the WebService interfaces that we already developed. 3.2

Biotube: A specific usage scenario with a Smart Device to control a biotube

The biotube description The second scenario we will describe is related to the Computer Supported Collaborative Learning (CSCL) [13] field. Our current

efforts focus on augmenting virtual experimentation activities with a real plant growth system that will support automated data collection from environmental monitoring equipment. The system will also provide environmental control of key factors such as photoperiod (the duration of light each day), CO2 concentration, temperature, and humidity. The biotube is a freestanding vertically oriented plant growth system that sits in a science center called Xperiment Huset in Sweden. The bioTube grows several different plants including lettuce, radish, and basil. The plants are cultured hydroponically, which means they have no soil and all their nutrients are delivered dissolved within the water supply. The water is delivered via a pump and the bioTube has fans to control the temperature. The control system is programmed with a computer and transferred to the Lego RCX unit which implements the electronic control algorithms. Future enhancements will include ways to influence and measure the CO2 concentration and to visualize the readings from sensors! for the exhibit visitors. The basic idea is to make certain control parameters of a biotube publicly available in order to allow groups of students to control the biotube. Therefore, the students should develop or model a certain control mechanism for the biotube. They can test their settings in simulations before they transfer the settings to a real biotube. In order for students to begin to approach the level of complexity inherent in the details of biological organism growth patterns, they need to have experiences with observing these organisms growing. They need to have the opportunity to alter important parameters and analyze the effects on growth patterns. In essence, the learners should move beyond the process of ”learning about” science and start to do science. For this particular scenario we need the possibility that the biotube can be controlled remotely and the learners will be able to alter parameters and visualize results. This scenario is our current development focus. Data visualizatio! n and experimental design and analysis tools such as the Inquiry Tool 1 could be used to augment the use of the RCX as a data collection and control device within this scenario. The Inquiry Tool is a Macromedia Flash application that runs via a web browser plug-in and was designed to function on a PDA. Learners will be able to use this tool to walk around the science center growth chamber and view data and time-lapse photos from the plant growth system. The RCX plays a critical role in this learning scenario, but it should be clarified that the RCX is a single instance of a Smart Device [14] that could fulfil this role. The point of using a smart device in this scenario is to go beyond the traditional science museum exhibit approach, e.g. ”push button ? get information”. Sensors that are connected to the RCX will constantly monitor the plant growth system. The system will be controlled by robotic actuators that are also connected to the RCX. The learners will be able to change the set-points of the environmental conditions in the system and observe the results on plant photo1

http://spaceplanting.coe.missouri.edu

synthesis and on the interconnected parameters, all this in real-time. Within this scenario, the integration and interoperability of different devices such as PCs, notebooks, PDAs, and cellular phones would provide a means to give students more ubiquitous access to their information and a more cohesive system for formal and informal learning. Cellular phone interfaces could, for instance, be used for alerting, remote control of environmental set points, and simple data visualization. The biotube, as an exhibit, is intended to give science center visitors a view of a high-tech way to grow plants for food in space. It is also intended to provide school students with an activity that can complement their science curriculum and connect them to their science center visit. In association with scientific inquiry activities using simulation tools, the bioTube experience will give a real world corollary of how to use a computer to control important plant growth parameters. 3.3

Technical Implementation

Technically, the control of the biotube through a certain numbers of parameters, is mapped to, on the one hand, the control of sensors and motors that are equipped to a controlling devices, and, on the other hand, to parameters that allow the configuration of data logging in a database.

Fig. 4. The layered architecture of the infrastructure

Basically, the current infrastructure for the biotube scenario integrates a number of software and hardware components. The interoperability between the components is shown in Figure 4. Within this Figure the different layers could easily be determined. The Biotube, with its control device, is located on the

left hand side of the diagram. At this point in time the control device is a programmable Lego brick, called the RCX, with the Lejos [15] environment, which gives us a sufficient Java support on this non-standard device, equipped on it. The integration of the non-standard devices, like the RCX in this case is done with the help of a framework especially designed to integrate non-standard devices in Java applications [16]. The framework foresees that the RCX can be replaced very easily by any other device capable of controlling a certain number of motors and sensors. This is achieved by the fact that the experiment controller, which actually runs on the server layer (and is meant to control the ongoing experiment) does not communicate with the controlling device directly, but through an interface. Therefore, the only change that is needed to exchange the RCX with another device is the implementation of the same interface during the task to integrate the device itself. The WebService is running inside an application server in order to allow the students to send their documents through the WebService to the experiment control server. The documents, which the experiment control server could interpret have to be valid according to the following DTD. In this case there is a WebService used to provide a common interface, which is usable for a variety of different clients. Additionally, the experiment control server periodically writes sensor values to the database according to its data logging definitions. Also the database access is supported by the ”DatabaseDatahandle” component of the framework for the integration of non-standard devices in Java applications. The WebService, deployed in the application server, running on the server layer, provides a remote service that is capable of changing the experiment in the experiment control server. Therefore, an inter-process communication based on Remote Method Invocation (RMI) is instantiated between the Web Service that receives the new experiment description and the experiment control server. There is actually a need for RMI in this case, since from a Java Virtual Machine (JVM) point of view, the experiment control server is running remotely in comparison to the application server which actually takes the role of the Web Service provider. On the client layer there are several different clients possible. Currently, a collaborative modelling and design framework, Cool Modes [17], with a flexible plug-in architecture is used as one possible client. For this framework we have developed a plug-in that allows for the visual construction of experiment sets. Furthermore, since the interface for uploading an experiment is a WebService a number of different tools could be imagined. Another client that is used in this scenario is an inquiry tool that was developed to allow students to annotate and discuss visualization of data from scientific experiments. At this point in time, the inquiry tool is used to display data measured from the biosphere and stored in the according database. Furthermore, the inquiry tool, Flash- and web-based, could be extended to define the experiments and later-on upload them to the experiment control server. The initial exploration of using Flash MX to commu-

nicate with the WebService was successful. In order to send the experiment descriptions in a proper way to the WebService, we have defined a Document Type Definition (DTD) that defines the format of such a request. This DTD allows for defining all the related parts of an experiment description, needed to control the biosphere. These XML descriptions of an experiment setting are to be transferred as a string to the WebService, which actually passes it directly to the experiment control server where it is parsed and translated to the needed Java classes. As already stated, a Cool Modes plug-in was created to allow for the visual construction of an experiment description. Basically, the plug-in has a node for each of the components needed to define an experiment plan that is valid according to the DTD. Figure 5 shows the visual representation of the above shown XML file in Cool Modes.

4

Outlook and Future Work

In this paper we have illustrated how Web Services have been used to overcome a number of technical problems, in particularly within the field of learning and knowledge technologies. Our initial experiences based on the cases described above were quite positive and the results are promising. Compared to other technological solutions for solving similar problems, we learn that the implementation of Web Services do on the one hand increase the interoperability of heterogeneous systems that exist of different devices and therefore also of different operating systems, and on the other hand the usage of Web Services is easy enough to allow developers to easily integrate them. While still there are some drawbacks like performance issues that are compared to other technologies for distributed systems, quite poor, Web Services have proven to be an interesting technology for the development of reusable and interoperable components in educational systems.

Fig. 5. Cool Modes with a visual experiment description

As for the SynchroBoard, we are planning to run displays in parallel both in Duisburg and at the V¨ axj¨ o University. All displays will receive their data from the same server situated in Duisburg. An evaluation of usage patterns and possible improvements will follow; for instance, we are discussing to use RF-ID tags instead of bar code plastic cards to simplify usage. A further extension of the biotube scenario could be to create interoperability with visual language software like Cool Modes. Cool Modes could serve as a ”broker” between black box simulation software (like BioBLAST) and data visualization tools (like the Inquiry Tool). By providing system dynamics functionality and access to the same data store that the inquiry tool uses, Cool Modes would give learners the ability to construct visual representations of their mental models.

References 1. Barros B. Read T. Rodriguez-Artacho M. Verdejo, M.F. A system for the specification and development of an environment for distributed cscl scenarios. In Intelligent Tutoring Systems, 2002. 2. J. Mizoguchi, R. Bourdeau. Using ontological engineering to overcome common ai-ed problems. In IJ. AI-ED 11(2), 2000. 3. V. Devedzic. What does current web-based education lack? In Proc. Of International Symposium on Artificial Intelligence and Applications, 2002.

4. W. Chen. Web services - what do they mean to web-based education. In Proceedings of the International Conference on Compuers in Education, 2002. 5. Marcelo Milrad, Ulrich Hoppe, Joshua Gottdenker, and Marc Jansen. Exploring the use of mobile devices to facilitate educational interoperability around digitally enhanced experiments. volume Proceedings of the 2nd IEEE International Workshop on Wireless and Mobile Technologies in Education, 2004. 6. Nelson L. Denoue L. Murphy-P. Churchill, E. and J. Helfman. The Plasma Poster Network - Social Hypermedia on Public Display. In Public and Situated Displays. Social and Interactional Aspects of Shared Display Technologies. K. O Hara, M. Perry, E. Churchill and D. Russel (Eds). Kluwer Adademic Publishers, 2003. 7. Drews C. Sue A. Russel, D.M. Social aspects of using large public interactive displays for collaboration. In Proceedings UbiComp 2002, 2002. 8. Jun Rekimoto. A multiple device approach for supporting whiteboard-based interactions. volume Proceedings SIGCHI’98: Human Factors in Computing Systems, 1998. 9. Boyle M. Laberge J. Greenberg, S. PDAs and Shared Public Displays: Making Personal Information Public and Public Information Personal. Elsevier, 1999. 10. Rounding M. Greenberg, S. The notification collage: Posting information to public and personal displays. In Proceedings of the SIGCHI conference on Human factors in computing systems, 2001. 11. J.T. Koski. Reflections on information glut and other issues in knowledge productivity. Elsevier, 2001. 12. Pino J.A. Valle C. Morges, M.R.S. Interfaces for groupware. In CHI 2001 extende4d abstracts on Human factors in computing systems, 2001. 13. Timothy Koschmann. Dewey’s contribution to the foundations of cscl research. In Gerry Stahl, editor, Foundations for a CSCL Community: Proceedings of the 4th International Conference on Computer Support for Collaborative Learning (CSCL), pages 17–22, Hillsdale, NJ (USA), 2002. Lawrence Erlbaum. 14. Smart Devices. Last visited August 27, 2004, at http://www.teco.edu/lehre/ubiqws0001/skript/04.pdf, 2001. 15. G. Ferrari. The Plasma Poster Network - Social Hypermedia on Public Display. In Public and Situated Displays. Social and International Aspects of Shared Display Technologies. Kluwer Academic Publishers, 2003. 16. Marc Jansen, Kunal Sachdeva, and Andreas Harrer. About a framework integrating smart devices in java applications. In K. Ga?ner A. Harrer, editor, Proceedings of the Workshop on Expressive Media and Intelligent Tools for Learning /. German Conference on Artificial Intelligence KI-2003, 2003. 17. Niels Pinkwart. A plug-in architecture for graph based collaborative modeling systems. In F. Verdejo & J. Kay U. Hoppe, editor, Shaping the Future of Learning through Intelligent Technologies. Proceedings of the 11th Conference on Artificial Intelligence in Education, pages 535–536, 2003.

Suggest Documents