Redesigning the Web: From Passive Pages to Coordinated Agents in PageSpaces Paolo Ciancarini Robert Tolksdorf Fabio Vitali Davide Rossi Andreas Knoche Abstract Currently, Web does not support distributed applications well. Existing approaches are oriented towards centralized applications at servers, or local programs within clients. To overcome this deficit, the PageSpace platform was designed for distributed, coordinated agents in the Web. We take a specific approach to coordinate agents in PageSpace applications, namely variants of coordination language Linda that support rules and services to guide their cooperation. This technology is integrated with the standard Web technology and the language Java. Several kinds of agents life in the PageSpace: User in- terface agents, personal homeagents, the agents that im- plement applications, and the kernel agents of the plat- form. Within the architecture it is possible to support fault- tolerance and mobile agents as well. Keywords: Java, Linda, Coordination, Internet, Web Ap- plications, Open Distributed Systems 1 Introduction The Web has evolved into the dominating platform for information systems on the Internet. There is increasing demand to use it as a platform for distributed applications in which processing of information occurs. For example, the application domains groupware and workflow manage- ment require distributed access and processing due to the distributed nature of the work these applications support. Still there is no widely accepted platform for implementing distributed applications on the Web. PageSpace is a platform that has the potential to provide sufficient functionalities to do so. It is based on the core Web technology for access and presentation, on Java as the execution mechanism, and on coordination technology to Dept. of Computer Science, Univ. of Bologna, Pza. di Porta S. Do- nato, 5, I-40127 Bologna, Italy. mailto: cianca vitali rossi @cs.unibo.it http://www.cs.unibo.it/ ˜cianca ˜rossi Technische Universit¨ at Berlin, Fachbereich 13, Informatik, FLP/KIT, FR 6–10, Franklinstr. 28/29, D-10587 Berlin, Germany. mailto: tolk knoche @cs.tu-berlin.de http://www.cs.tu-berlin.de/˜tolk/ manage the interaction of agents in a distributed applica- tion. This paper describes the rationale for our platform, its design, and the implementation strategy currently applied. This paper is organized as follows. In the next section, we review approaches to implement applications that re- quire active processing on the Web. We then describe the technology, on which our specific approach to coordination in distributed applications is based. The next section de- scribes the PageSpace platform and its agents. Then, the current approach taken in engineering and implementing PageSpace is outlined. 2 Existing Approaches for Web Applications At its core, the Web is a static hypertext graph in which multimedia pages of information marked up in HTML are offered by servers, retrieved by clients with HTTP and dis- played in a graphical interface that is very easy to use. Because of its high availability, it becomes more and more desirable to use the Web as a platform for dynamic, distributed applications. The support of the core Web plat- form for applications is rudimentary – only the CGI mecha- nism allows for processing of information that is entered by the user in forms, or retrieved from auxiliary systems. A number of mechanisms has been proposed and imple- mented to make the Web a platform for distributed applica- tions. The following classification is structured according to the loci of activity possible with such mechanism. Activity located at Web servers. The CGI mecha- nism can be used to access other application servers from the Web. An example is database access, where a query is formulated in a form at the browser and a CGI script at the server passes that query – probably in a translated form – to some database server. The results of the query then are sent back to the users browser as HTML. Figure 1 shows that structure. However, with respect to the aspect of distribution of an application, this approach turns out to have noth- ing in common with distributed paradigms like client- server interaction, or others. In fact, interfacing an ap- plication via CGI to the Web does not mean to offer a distributed application. There is no processing at the 1