This book presents a systematic approach to the design of large, complex distributed systems using the concepts and mechanisms defined by the Reference Model of Open Distributed Processing (RM-ODP). Focusing on the key choices that make an architectural design robust and durable, the authors illustrate the benefits of using a viewpoint-based approach and help readers understand the concepts, mechanisms, and problems involved in the design of complex enterprise systems. Complete UML models and more are available on a supporting website.