Statistics

A Framework for Building Customised CORBA ORBs

File Type:

Date:

Author:

Download Item:

Abstract:

Recently, many distributed applications have been based on Common Object
Request Broker Architecture (CORBA) compliant middleware. Such distributed
computing middleware provides the components of a distributed application with a
uniform view of local and remote application objects. It shields distributed application
programmers from having to deal with network and protocol layers and lets them
concentrate on the design of the distributed application itself.
To date, most CORBA compliant Object Request Brokers (ORBs) have been
based on monolithic implementations. Vendors typically offer the same ORB
implementation for use in any number of different application scenarios. Recently,
some ORB implementations have appeared that target specific application domains,
for example real-time applications and fault-tolerant applications. These ORBs,
however, focus on one specific application scenario.
The purpose of this thesis is to explore the alternative approach of designing
not a ?one size fits all? ORB, but rather an object-oriented framework that allows
application developers to instantiate their own customised ORBs from components
available in the framework. Thus, one user may, for example, use the framework to
create a ?standard? ORB supporting mobile computing, or fault-tolerance.
In order to understand the characteristics of ORBs in general, and of those aimed at
specific application domains in particular, a number of freely available ORBs were
studied. From this, it was possible to infer which components are commonly found in
ORBs aimed at specific application scenarios.
Based on this study, an object-oriented framework for CORBA ORBs was
designed. Its design is described using the Unified Modeling Language (UML) to
illustrate its principal components. To aid in its comprehension, the framework is also
documented by describing which principal design patterns it implements. This
dissertation also documents the design process that was employed. An actual
implementation of the framework was not part of the project. Finally, a set of C++
header files is also provided to document the framework class definitions.