JSComm: A Networking Mechanism for JavaScript-based Collaborative Applications on the We

One approach to realizing Web-based real-time collaborative systems is to implement collaborative functions on top of an existing Web browser by using JavaScript and Java. This approach has the advantage that it can realize platform-independent and installation-free collaborative environments. In addition, since JavaScript can handle users' input captured in Web pages, it is useful for turning Web pages into user interfaces of collaborative applications. Our project team is developing new collaborative applications on the basis of this approach. However, since JavaScript does not provide networking functions, we have to find a way of enabling applications to communicate with each other via a network.

This paper introduces a networking mechanism for JavaScript-based applications on the Web, named JSComm, that I developed as part of our project. It provides a channel-based networking API to resolve the issue raised by the single-threading feature of JavaScript. Since JavaScript does not support multi-threading, an invocation of a JavaScript function should return as quickly as possible, or the invocation will block the execution of the Web browser. JSComm has non-blocking functions for managing channels or sending messages, and a callback system based on channels for receiving messages from the network. With these features, the Web browser is not blocked while waiting for responses from the network. JSComm also inherits the advantages of the approach described above; that is, it can realize platform-independent and installation free environments.

By: Younosuke Furui

Published in: International Conference on Computer Communication(ICCC'99), Japan, unknown, p.T-04-3 in 1999

Please obtain a copy of this paper from your local library. IBM cannot distribute this paper externally.

Questions about this service can be mailed to reports@us.ibm.com .