Java Collaborative Computing
              Java collaborative computing across computers.
 
 
  What is Java Collaborative Computing?  
 
   This is a simple framework that let java applications can work together across computers. It is made up by Message, Remote Procedure Call and Shared Object services.

 
  Message  
  Send message to specified computer or to all computers.
 
  Remote Procedure Call  
  Call a procedure in another machine and return a result.
 
  Shared Object  
  Share objects between hosts. Any host can get/set the object.
 
 
  What's New  
 
July 24, 2009: Version 1.1
1. Using Hessian to serialize/deserialize objects.
2. Using ThreadPool for rpc calls/callbacks and message receivers.
3. Update web site. Adding an example.
 
  License  
  This framework is released with Apache License version 2.  
  Links  
  Download
Discuss in forum
Report a problem
 
  About Author  
 
NameGao De
LocationShanghai, China
Mail
 
  Another tools I made  
  TinyParser: A very simple, tiny and fast html parser.  
  Donations?  
  No, thanks  
  How it works?  
 

The architecture are divided into 3 layers: Services, Protocol, Connections.
 
  Services  
  Services are the API interfaces. Data types involved are:
  • Message(message service)
  • Remote Procedure Call Request(remote procedure call service)
  • Remote Procedure Call Response(remote procedure call service)
  • Shared Object update(shared object service)
  • etc...
 
  Protocol  
  All data are wrapped to DataPackages. Each DataPackage has a type. Each type will have a package handler. When specified data package arrived, related package handler will be picked to handler the data.  
  Connections  
  DataPackages are sent via socket connections between hosts. Every 2 hosts will have 2 connections to send and receive data package. All hosts are in a multicast group. So the data package can also be multicasted to hosts.  
  Why this one?  
  Simple. Simple tools can be a firm base of fantastic ideas.
Being bored with using this* kind of APIs?                                          You may simply want this**:
 
*:Wenger Giant Swiss Army Knife
**:From a still of movie 'From Beijing With Love'.
  Limitations in this version  
 
  1. Only support IPv4
  2. Only support max 254 hosts.(What? You have a cluster which has thousands of hosts? Please, please hire me, I can make it for you...)
  3. Only support one instance per host
  4. All hosts must in one subnet, and the subnet must be a class C subnet.