By both building on and seamlessly integrating with OO and component-oriented paradigms, distributed object middleware has made the development of distributed applications easier than ever in the past. But extra requirements - performance, predictability, scalability - can increase the complexity and therefore the challenge of building robust distributed software. This is when details of the distr...