Java Reference
In-Depth Information
Chapter 19
CORBA
19.1 Introduction
CORBA is an acronym for Common Object Request Broker Architecture, a
name that does not really convey to the new user the purpose of the technol-
ogy. Most people just think of CORBA as the name of an important distributed
object technology without really considering what the acronym stands for. For
Java developers, RMI is generally the preferred distributed object architecture -
especially when it is known that both client and server will be written in Java.
However, CORBA has the advantage that it is language independent, meaning
that non-Java clients can make CORBA calls to a CORBA server.
CORBA is a standard, so there is an official specification of that standard. The
standard is maintained by the Object Management Group, a consortium of over
800 members. See the www.omg.org home page for voluminous information on
CORBA and other technologies developed by the OMG. CORBA is also a very
broad technology that covers much more than we introduce here. Our point is to
demonstrate how CORBA technology can be used to implement straightforward
distributed computing solutions analogous to the RMI example developed in
Chapter 18.
A typical scientific application, such as the simulation described in Chapters 16
and 17, generally has only a few users. The developer writes both the client and
server and, if developing in Java, probably uses RMI. However, if one is designing
a public server that will be accessed by multiple clients, including the possibility
of non-Java clients written by someone else, then CORBA is a better choice than
RMI. CORBA is such an important technology that the Java 2 SDK fully supports
CORBA applications. The official name of the CORBA support in the SDK is
“Java IDL,” but in this topic we use the name CORBA instead. Programming
in CORBA is similar to RMI in concept, but has some significant differences.
Because of the need to be language independent, CORBA is generally somewhat
more difficult to use than RMI. And while CORBA is object-based, it generally
does not “feel” as object-oriented as RMI.
This chapter develops a simple CORBA client/server application, similar to
the simple RMI example developed in Chapter 18. Because many of the basic
530
Search WWH ::




Custom Search