Wolfgang Emmerich Engineering Distributed Objects The pay-offs for creating distributed applications are in achieving portability, scalability and fault-tolerance. In order to simplify building software that performs robustly regardless of platform or network infrastructure, a new strata of 'middleware' has been created. This book provides a conceptual framework within which to describe object-oriented middleware for the integration of distributed objects. UML is used to explain distributed systems concepts. Presenting both an extended case study and smaller illustrative examples, there are plenty of coded examples in Java, C++, CORBA IDL and Microsoft IDL, which reflect the reality of today's multi-language heterogeneous systems. This is a book for developers who are new to programming in distributed environments. It also supports a variety of courses where the central theme is object-oriented development with middleware technologies. The book shows the middleware concepts and principles using examples taken from: OMG/CORBA Microsoft COM Java/RMI On the accompanying website (http://www.distributed-objects.com) are exercises, sample solutions and working code for the examples. This site is also designed for instructors to assist them with course development and delivery.