Distributed Objects are less secure
can play both client and server
- in client/server you trust the server, but not the clients
evolve continually
- objects delegate parts of their implementation to the other objects (also dynamically composed at runtime). Because of subclassing, the implementation of an object may change over time
interactions are not well defined
- because of encapsulation, you cannot understand all the interactions between objects
are polymorphic (ideal for Trojan horses!)
can scale without limit
- how do you manage the access right to millions of servers?