what are the advantages and disadvantages of RMI?
+2
A:
The advantages and disadvantages are similar to those of any RPC-like (Remote Procedure Call) System. There is a superficial appearance of simplicity, because it objects which are in fact remote can be treated as though they were local.
This would seem like a great benefit to simplicity of programming, but there are hidden costs. Distributed systems have issues of latency and potential for partial failure which the programmer has to be aware of. An invocation of a remote method is subject to potential failure from security, latency problems, network failure, etc. Papering over these sorts of problems can be a disaster for reliability.
Waldo et al. have a good discussion of the issues.
Rob Lachlan
2010-02-26 06:39:32
Thanks for the link to the paper. I can perfectly use this in my thesis :)
Daff
2010-02-26 07:05:30
Well said. Even though I wrote a book on RMI I'm not actually an advocate. It makes things appear simple that are very far from simple, and it makes things hard that actually aren't that hard, e.g. 'should I retry?'
EJP
2010-02-26 07:18:34