All components of a ShakingHands collaborative system reside on the network. The White Board program, which can be used with Foil Server, enables multiple users to use and view an online whiteboard. Chat Server, an online chat server similar to IRC, can also be used concurrently with Foil Server. A collaborative applet is then automatically downloaded to the client from the Web server. User events are marshaled by the applet and sent to the appropriate Java server, which then propagates the events to other clients.
Clients can archive information for later playback.
ShakingHands collaboratory servers are extensible and scaleable. Clients can dynamically attach new objects or methods to a server, or modify the behavior of the existing objects. To provide scalability, Java collaboratory servers are designed to run multiple server processes on a cluster of processors. The ShakingHands architecture also includes a conference bus so that the collaboratory servers can communicate amongst themselves. Using this inter-server communications, on the conference bus and by partitioning parties across servers running on distinct nodes.