Distributed Systems Architecture

1st Edition

A Middleware Approach

Authors: Arno Puder Kay Römer Frank Pilhofer
Hardcover ISBN: 9781558606487
eBook ISBN: 9780080454702
Imprint: Morgan Kaufmann
Published Date: 16th November 2005
Page Count: 344
Tax/VAT will be calculated at check-out
Compatible Not compatible
VitalSource PC, Mac, iPhone & iPad Amazon Kindle eReader
ePub & PDF Apple & PC desktop. Mobile devices (Apple & Android) Amazon Kindle eReader
Mobi Amazon Kindle eReader Anything else

Institutional Access

Table of Contents

  • About the Authors
  • Preface
  • 1 Introduction
    • 1.1 Infrastructures For Distributed Applications
    • 1.2 Thematic Organization
    • 1.3 Target Group
    • 1.4 Chapter Overviews
    • 1.5 Ancillary Materials
  • 2 Basic Concepts
    • 2.1 Distributed Systems
      • 2.1.1 Characterization
      • 2.1.2 Transparency
      • 2.1.3 Communication Mechanisms
      • 2.1.4 Client/Server Model
      • 2.1.5 Failure Semantics
    • 2.2 Object Model
      • 2.2.1 Characterization
      • 2.2.2 Terminology
    • 2.3 Middleware
      • 2.3.1 Tasks Of A Middleware
      • 2.3.2 The Structure Of A Middleware Platform
      • 2.3.3 Standardization Of A Middleware
      • 2.3.4 Portability And Interoperability
    • 2.4 Sample Application
      • 2.4.1 The Account Example
      • 2.4.2 C++ Implementation
      • 2.4.3 Distribution Of Sample Application
    • 2.5 Summary
  • 3 Introduction To CORBA
    • 3.1 Object Management Architecture
    • 3.2 Overview Of CORBA
      • 3.2.1 CORBA Object Model
      • 3.2.2 Interface Definition Language
      • 3.2.3 IDL-Language Mappings
      • 3.2.4 Object Request Broker
      • 3.2.5 Invocation And Object Adapters
      • 3.2.6 Interoperability
    • 3.3 The Creation Process Of A CORBA-Application
    • 3.4 Application Development In C++
      • 3.4.1 IDL Specification
      • 3.4.2 IDL Language Mapping For C++
      • 3.4.3 C++ Server Implementation
      • 3.4.4 C++ Client Implementation
    • 3.5 Compiling And Executing The Application
      • 3.5.1 Compiling The Application
      • 3.5.2 Executing The Application
    • 3.6 Application Development In Java
      • 3.6.1 Java Server Implementation
      • 3.6.2 Java Client Implementation
      • 3.6.3 Compiling And Executing The Java Implementation
    • 3.7 The Bootstrapping Problem<u


Middleware is the bridge that connects distributed applications across different physical locations, with different hardware platforms, network technologies, operating systems, and programming languages. This book describes middleware from two different perspectives: from the viewpoint of the systems programmer and from the viewpoint of the applications programmer. It focuses on the use of open source solutions for creating middleware and the tools for developing distributed applications. The design principles presented are universal and apply to all middleware platforms, including CORBA and Web Services. The authors have created an open-source implementation of CORBA, called MICO, which is freely available on the web. MICO is one of the most successful of all open source projects and is widely used by demanding companies and institutions, and has also been adopted by many in the Linux community.

Key Features

  • Provides a comprehensive look at the architecture and design of middleware—the bridge that connects distributed software applications
    Includes a complete, commercial-quality open source middleware system written in C++
    Describes the theory of the middleware standard CORBA as well as how to implement a design using open source techniques


Distributed system architects, software developers, students


No. of pages:
© Morgan Kaufmann 2006
Morgan Kaufmann
eBook ISBN:
Hardcover ISBN:


“Einstein famously posited, ‘Everything should be made as simple as possible, but not simpler.’ This modern corollary to Occam’s Razor is often honored in the breach, especially the final three words, and especially in the IT industry. Distributed systems, like security and error handling, are inherently difficult, and no amount of layered abstraction will overcome that simple fact. A deep understanding of what makes distributed systems architecture different from monolithic systems architecture is critically important in a networked world of services such as that promised by Service Oriented Architecture, and Puder, Römer and Pilhofer deliver that deep understanding in a straightforward, step-by-step fashion, from the inside out—as simple as possible, but not simpler. Every application developer today is a distributed systems developer, and this book therefore belongs on the bookshelf of every developer, architect and development manager.” —Richard Mark Soley, Ph.D., chairman and CEO, Object Management Group, Inc.

About the Authors

Arno Puder Author

Arno Puder received his master's degree in computer science from the University of Kaiserslautern and his Ph.D. from the University of Frankfurt/Main, Germany. After working for Deutsche Telekom AG and AT&T Labs, he is currently a professor of computer science at San Francisco State University. His special interests include distributed systems and wireless sensor networks.

Affiliations and Expertise

San Francisco State University, California, U.S.A.

Kay Römer Author

Kay Römer is currently a senior researcher and lecturer at ETH Zurich (Switzerland). He received his Ph.D. in computer science from ETH with a thesis on sensor networks. Kay holds a master's degree in computer science from the University of Frankfurt/Main, Germany. His research interests encompass sensor networks, software infrastructures for ubiquitous computing, and middleware for distributed systems.

Affiliations and Expertise

ETH, Zurich (Swiss Federal Institute of Technology), Switzerland

Frank Pilhofer Author

Frank Pilhofer received his masters in computer science from the University of Frankfurt/Main, Germany. After completing MICO's CORBA Components implementation, he joined Mercury Computer Systems, where he now works on component-based, real-time data streaming middleware for Software Radio.

Affiliations and Expertise

Mercury Computer Systems, Inc., Chelmsford, Massachusetts, U.S.A.