ORB
Vendor Comparison
by
Maria Gina Sian
Introduction
"The Object Request
Broker (ORB) is a middleware component that
implements the CORBA bus and acts as a broker
between the client and the object. It manages
the client request and hides the location and
implementation details from the client"
[The CORBA Connection,
Communications of the ACM, Oct. 1998, p.
34].
Because CORBA is only a
standard, CORBA ORBs can be implemented in a
number of ways. Each ORB implementation
reflects the vision, experiences, and the skills
of its builder. This section of the project
discusses two of the most popular ORB
implementations: VisiBroker and
Orbix. The goal of this research is to
gather similar information about the two ORBs
and give you an objective look on each.
This paper is not intended to provide you with
an analysis of which ORB is better. In
order to do that, a more in-depth study is
required, along with technological resources
which are not available to the author.
Deciding which ORB is better and more suitable
for you will depend greatly on your requirements
and environment.
Note that all information
included in this section is based on theory and
claims by the ORBs' respective vendors. No
implementation has been conducted for this
section. For actual case studies and
implementation comparisons, the author
recommends visiting sites of independent
analysis groups (such as the
CORBA Comparison Project
and Object
Consulting) and industry journals
(such as the Java Developer's
Journal).
Comparison
Overview
The two ORB implementations
that are presented in this section are Visigenic's VisiBroker and IONA's
Orbix. Because these products provide
functionality beyond ORBs, information that are
gathered here are based on the each tool's
family of products, which includes the ORB
itself.
Each ORB being evaluated
will be studied based on the following
points.
Product
Family
This
section lists and briefly describes the
different tools included in the family of
products of the tool. This includes the
ORB itself. All tools in the family are
provided to support the vendor's technological
vision. Note, however, that the tools
listed are separate from the ORB itself and are
typically not included with the purchase of the
ORB.
Compliance to
CORBA
This section
highlights the adherence of the ORB
implementation to the CORBA standards.
This includes the version of the CORBA
specifications that it
implements.
Architecture
This
section provides an overview of the ORB
implementation. This includes support for
multi-threading and the different models that
the ORB provides.
Targeted
Programming Languages and Platforms
This section lists
the different programming languages and
platforms that the ORB supports. This is
typically the same for most
ORBs.
Development,
Administration, and
Deployment
This section
discusses the development process for an
application specific to the ORB. This is
typically the same for most ORBs. This
section also lists the different administration
and deployment tools that are available to the
user.
Accessing CORBA
Objects
This section
discusses how CORBA objects are accessed under
the ORB implementation, particularly the process
of locating an object.
COM/CORBA
Integration
This section
describes how the ORB implementation handles
communication between COM and CORBA
applications.
Implemented CORBA Services
This section
highlights the different CORBA services that the
product family implements. The tools
provided by the vendor are separate from the ORB
and are typically not included with an ORB
purchse.
Partnerships and
Awards
This section lists
the partnerships that the vendor has with
industry leaders, as well as special awards that
the ORB and the vendor has received.
Price
This section
describes the different pricing available for
the ORB. Pricing is typically organized
according to platform and programming
language.
Summary
As you will see in the
information on the two ORBs, most of the
features supplied by each ORB implementation are
similar to the other ORB. The main
differences lie in the CORBA services that each
one implements.
Rather than looking for one
line in this paper that will tell which ORB to
use, review what you want an ORB to do for
you. Once you understand your
requirements, look at the different features of
each ORB presented here. Make sure you
also look at implementation studies in order to
prove the vendor's claims of good performance
and available services. From there,
perform your cost-benefit analysis. An ORB
is an expensive and important investment and you
need to make sure that you make your choice
intelligently and carefully.
Other ORB
Vendors
Below is a list of other
CORBA ORBs:
Object Interface's ORBexpress
BEA's ObjectBroker
ExperSoft's CORBAplus
HP’s ORB Plus
IBM’s SOMobjects
Java IDL ORB
Rogue Wave's Nouveau
Object Oriented Concepts' ORBacus
AT & T's
omniORB2
|