You are previewing Distributed Systems Architecture.
O'Reilly logo
Distributed Systems Architecture

Book Description

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.

* 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

Table of Contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Inside Front Cover
  5. Copyright
  6. Dedication
  7. ABOUT THE AUTHORS
  8. PREFACE
  9. Chapter 1: INTRODUCTION
    1. 1.1 INFRASTRUCTURES FOR DISTRIBUTED APPLICATIONS
    2. 1.2 THEMATIC ORGANIZATION
    3. 1.3 TARGET GROUP
    4. 1.4 CHAPTER OVERVIEWS
    5. 1.5 ANCILLARY MATERIALS
  10. Chapter 2: BASIC CONCEPTS
    1. 2.1 DISTRIBUTED SYSTEMS
    2. 2.2 OBJECT MODEL
  11. Chapter 3: INTRODUCTION TO CORBA
    1. 3.1 OBJECT MANAGEMENT ARCHITECTURE
    2. 3.2 OVERVIEW OF CORBA
    3. 3.3 THE CREATION PROCESS OF A CORBA APPLICATION
    4. 3.4 APPLICATION DEVELOPMENT IN C++
    5. 3.5 COMPILING AND EXECUTING THE APPLICATION
    6. 3.6 APPLICATION DEVELOPMENT IN JAVA
    7. 3.7 THE BOOTSTRAPPING PROBLEM
    8. 3.8 NAMING SERVICE
    9. 3.9 SUMMARY
  12. Chapter 4: μORB
    1. 4.1 μORB ARCHITECTURE
    2. 4.2 TRANSPORT LAYER
    3. 4.3 PRESENTATION LAYER
    4. 4.4 INTEROPERABILITY LAYER
    5. 4.5 PROXIES
    6. 4.6 OBJECT SERVICES
    7. 4.7 SUMMARY
  13. Chapter 5: ORB DESIGN
    1. 5.1 ORB FUNCTIONALITY
    2. 5.2 ORB ARCHITECTURES
    3. 5.3 DESIGN OF MICO’S ORB
    4. 5.4 SUMMARY, EVALUATION, AND ALTERNATIVES
  14. Chapter 6: INTEROPERABILITY
    1. 6.1 MODEL
    2. 6.2 INTER-ORB PROTOCOLS
    3. 6.3 DESIGN OF MICO’S INTEROPERABILITY
    4. 6.4 SUMMARY, EVALUATION, AND ALTERNATIVES
  15. Chapter 7: OBJECT ADAPTERS
    1. 7.1 TERMINOLOGY
    2. 7.2 FUNCTIONALITY
    3. 7.3 THE PORTABLE OBJECT ADAPTER
    4. 7.4 DESIGN OF MICO’s POA
  16. Chapter 8: INVOCATION ADAPTERS
    1. 8.1 FUNCTIONALITY
    2. 8.4 DESIGN OF MICO’S DII
    3. 8.5 DESIGN OF MICO’S SII
    4. 8.6 SUMMARY
  17. Chapter 9: IDL COMPILER
    1. 9.1 INVOCATION ADAPTERS
    2. 9.2 COMPILER FUNDAMENTALS
    3. 9.3 ABSTRACT SYNTAX TREE FOR IDL SPECIFICATIONS
    4. 9.4 MICO’S IDL COMPILER
    5. 9.5 SUMMARY, EVALUATION, AND ALTERNATIVES
  18. Chapter 10: CORBA AND BEYOND
    1. 10.1 CORBA COMPONENTS
  19. MICO INSTALLATION
  20. MICO IMPLEMENTATION OVERVIEW
  21. MICO IMPLEMENTATION DETAILS
  22. SAMPLE APPLICATION
  23. LIST OF FIGURES
  24. ACRONYMS
  25. GLOSSARY
  26. BIBLIOGRAPHY
  27. INDEX