According to MartinFowler in PatternsOfEnterpriseApplicationArchitecture, the FirstLawOfDistributedObjectDesign is: Don't distribute your objects!
See also: DistributedProgramming