paper -
20 Implementation of a WebDAV-based Collaborative Desk
Changtao
Qu, Institute of Telematics
Thomas Engel, Institute of Telematics
Christoph Meinel, Institute of Telematics
The Collaborative Desk (C-Desk) is part of work of our many year's research project "Virtual University". As a Web-based groupware system in nature, C-Desk is mainly used to provide a place for sharing information and resources among the students and teachers. On the C-Desk, the students can "in-place" (directly on the remote server) generate, update their documents (e.g., homework), organize documents' hierarchical structure (directory), or make comments and advice on other students' work. Similarly, the teachers can "in-place" revise the documents of the students, or make instruction and comments on one or all students' work. All these authoring activities on the C-Desk are achieved via the standard Web browser and the client-side need not any plug-in or installation. Because all collaboration activities listed above occur directly in a distributed, multi-user-authoring environment, it is relatively difficult to implement all these "in-place" manipulation based on HTTP. In general, HTTP is not a collaboration-friendly protocol in nature. HTTP works well for static documents intended for viewing, but does not provide clients with rich authoring capabilities to handle these documents. In the C-Desk, we adopt the latest internet protocol: Web-based Distributed Authoring and Versioning (WebDAV) rather than HTTP to act as the cornerstone of the system. WebDAV (RFC 2518) extends HTTP and provides a coherent set of new methods, headers, XML-based request and response entity body formats to support collaborative work on the Web. It enables the clients directly "authoring" on the Web, and as a result, turns the Web from HTTP-based solely "readable" medium into WebDAV-based "readable/writeable" medium. The whole C-Desk is based on Java 2 Platform, Enterprise Edition (J2EE). J2EE can support sets of standard Java APIs, e.g., EJB(Enterprise JavaBeans), and JavaServer Pages (JSP), etc., and provide several system-level services, e.g., automatic security management, and database pooling, etc. In the C-Desk implementation, we adopt IBM WebSphere Application Server Advanced Edition 3.02 (WAS AE) to play the role of J2EE platform, and IBM DAV4J 1.0.34 to implement the WebDAV functionalities. The C-Desk system adopts a component-based, three-tier architecture. We use stateless session EJB to implement repository manipulation (via DAV4J API), and use JSP components to implement interaction with the user's browser. The security of the C-Bench (authentication, authorization) is almost entirely handled by WAS AE, and we need not write any code to implement security logic. Utilizing high-performance, J2EE-compliant application server: WAS AE, the development of the C-Desk is greatly simplified. Our experience indicate, the WebDAV plus enterprise-level platform J2EE can construct a new collaboration infrastructure to support more direct, more interactive, and more efficient collaboration on the Web. This new infrastructure can be furthermore applied in the large-scale, Web-based applications, e.g., Virtual University so as to strengthen its features concerning collaboration.
Keywords: Collaborative Desk, Web-based Distributed Authoring and Versioning, Java 2 Platform, Enterprise Edition, Enterprise JavaBeans, JavaServer Pages