C   O   R   B   A
  O R B  
 
Home
CORBA
ORBs
Project
The Hawaii Group
Services
Naming
Event
Vendors
Comparison
In Industry
Telecom
Resources
Text
Links
 
 
Common Object Request Broker Architecture
 
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