Java, in combination with Web browsers' abilities to load and execute untrusted Java applets in a secure fashion, has made computing over the Web a possibility. Now the challenge is to fully utilize this potential, given the limitations imposed by browsers. This paper presents KnittingFactory, an infrastructure to facilitate Web‐based computing, which addresses this challenge. It supports building distributed applications, specifically those consisting of Java applets executing in browsers. It is composed of: (i) a distributed name service to assist users in locating other participants of a distributed computation via standard browsers; (ii) an embedded class server to eliminate the need for external HTTP servers for serving applet code; and (iii) a technique for direct applet‐to‐applet communication.
In this paper, we describe the design and implementation of KnittingFactory and demonstrate its benefits by applying it to three distinct areas of Web‐based computing. First, we apply our distributed name service to a client/server architecture to enable RMI clients to locate servers on unknown hosts. Second, we use the embedded class server to extend the capability of Charlotte, a parallel computing environment. Finally, we build a collaborative application using our direct applet‐to‐applet communication technique which does not require a forwarding agent. © 1998 John Wiley & Sons, Ltd.