which is exactly what RMI does ... What are the real points of difference?
RMI uses remote method invocation, if I recall from working with it,
you essentially have stubbed out code on the front-end and the
implementation server-side. DolphinNet delivers a serialized object to
the client, at this point it is executed by the client... The client
doesn't have stubbed out versions of the code, rather the client and
server simply need equivalent copies of the class file. To facilitate
this process the actual objects that get distributed must inherit from
the Assignment class in DolphinNet - which isn't too restrictive since
you can include other objects in your inheriting class. So, to
summarize, the main difference is in the way you actually implement
the server, where with RMI you're creating and filling in matching
stubs, DolphinNet allows your implementation to be much more abstract
on the client end, if you set things up properly the client need not
even know what kinds of processes it is running - this is great for
distributed calculations.
You may be asking yourself at this point how efficient this process
is... It actually has proven fairly efficient from bench-marking I've
done, also I have a simple helper Assignment I include with the
distribution that allows you to Zip the information being transfered
on the fly... which is handy.
Sounds like Jini, implemented by such products as Gigaspaces.
Is DolphinNet based on Jini? If not, it should be.