Features:
Direct application access to the creation of remote objects and their data.
Direct application access to remote method invocation.
Optionally cached on remote nodes.
Avoid:
Distributed deadlocks. Distributed deadlock detection uses a timeout to detect a deadlock. This implies that a distributed transaction will wait the entire value of the timeout value before a deadlock is reported. During this period of time the transaction is stalled.
For simple load balancing consider using a hardware based solution instead of the location transparent routing provided by distributed objects.