Distributed Systems Architecture
eBook - ePub

Distributed Systems Architecture

A Middleware Approach

  1. 344 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Distributed Systems Architecture

A Middleware Approach

About this book

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 middlewarethe 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

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Distributed Systems Architecture by Arno Puder,Kay Römer,Frank Pilhofer in PDF and/or ePUB format, as well as other popular books in Computer Science & Object Oriented Programming. We have over one million books available in our catalogue for you to explore.
CHAPTER 1
INTRODUCTION
The goal of this introduction is to present an overview of the content of this book. We will also use it as a vehicle for explaining our motivation behind writing the book and the objectives we set out to achieve. We identify the target group we want to reach with this book and then present a chapter-by-chapter breakdown of the topics discussed.

1.1 INFRASTRUCTURES FOR DISTRIBUTED APPLICATIONS

The pervasiveness of networking technology both locally (e.g., local area networks) and globally (e.g., the Internet) enables the proliferation of distributed applications. Since the parts of a distributed application execute in different physical locations, these applications offer a number of advantages: geographical constraints can be matched, applications become fault tolerant through replication, and performance can be improved by parallelizing a task—to name just a few. Taking a closer look at the execution environment reveals its heterogeneity: different hardware platforms, network technologies, operating systems, and programming languages can make the development of distributed applications a big challenge.
What is needed for distributed systems, therefore, is an infrastructure that suitably supports the development and the execution of distributed applications. A middleware platform presents such an infrastructure because it provides a buffer between the applications and the network (see Figure 1.1). The network merely supplies a transport mechanism; access to it depends heavily on technological factors and differs between various physical platforms. Middleware homogenizes access to networks and offers generic services for applications. It also bridges technological domains and encapsulates the differences between different systems.
image
FIGURE 1.1 Middleware as an infrastructure for distributed systems.
Middleware
In this book we describe middleware from two different perspectives: from the view of applications programmers and from the view of systems programmers. Applications programmers regard middleware as a tool that helps them in the development of distributed applications. These programmers are not normally interested in how the middleware is implemented but only in how it is used. Applications programmers see the distribution platform as a black box with a well-defined interface and prescribed functionality.
Two views of middleware
Systems programmers take a complementary view. They regard the distribution platform as a white box and are interested primarily in its internal processes. The application running on a middleware is of minor importance. The common reference point for both types of programmer is the interface to the middleware that is used by applications programmers and provided by systems programmers.
Our approach is to look at middleware from both points of view and to use this information as the basis for honing the knowledge of systems and applications programmers. Systems programmers are presented with the requirements of the applications side for which solutions have to be produced. Knowledge about the inner workings of distribution platforms helps applications programmers make optimal use of the functions available. The concept of the two viewpoints runs through the book like a thread. Our objective is to provide a comprehensive look at the architecture and the design of middleware.

1.2 THEMATIC ORGANIZATION

Many different middleware technologies are available today, among them CORBA (Common Object Request Broker Architecture) and Web Services. In this book we emphasize the concepts for designing and implementing a middleware platform, and the concrete technology is only of a secondary nature. Although Web Services have gained momentum in recent years, we feel that the CORBA specification is still more mature. But the principles explained in this book are universal and apply to all middleware platforms.
There are many advantages to using COCRBA as an underlying basis. For one thing, it allows us to base our examples and explanations on an established industry standard for which numerous products are available. The freely available CORBA specification can be referred to as secondary literature. Also numerous excellent books have been written on CORBA. Finally, knowledge about the internal processes of CORBA platforms is helpful for developing a general understanding about CORBA, and this comes in handy for anyone working with commercial CORBA products.
CORBA-based middleware
All source code in this book as well as Mico itself is completely implemented in C++. An elementary knowledge of the programming language C++ is therefore essential for understanding the examples. Some of the introductory examples are also presented in Java. We regard a programming language merely as an aid in implementing the concepts we introduce. The reader will find it a useful exercise to map the concepts presented in the book to other programming languages. Along with having C++ experience, the reader will find that experience with a development environment under UNIX or Windows is necessary for understanding the programs presented in this book.
C++ knowledge a prerequisite

1.3 TARGET GROUP

We have aimed this book at students who are at an advanced stage of their studies and at professional developers who want to use middleware for their work. Different interests motivate these two groups. Students can use this book as a textbook to help them to learn how middleware platforms function. This book has been successfully used in a graduate class on distributed systems, in which the students had to write a distributed application based on CORBA using C++ and Java. As part of their project, the students had to ...

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
  10. Chapter 2: BASIC CONCEPTS
  11. Chapter 3: INTRODUCTION TO CORBA
  12. Chapter 4: μORB
  13. Chapter 5: ORB DESIGN
  14. Chapter 6: INTEROPERABILITY
  15. Chapter 7: OBJECT ADAPTERS
  16. Chapter 8: INVOCATION ADAPTERS
  17. Chapter 9: IDL COMPILER
  18. Chapter 10: CORBA AND BEYOND
  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