Previous | Table of Contents | Next |
From a COM point of view, an object is typically a subcomponent of an application, which represents a point of exposure to
other parts of the application, or to other applications. Many OLE objects are document-centric and are often (though certainly
not exclusively) tied to some visual presentation metaphor. Historically, the typical domain of a COM object is a single-user,
multitasking visual desktop such as a Microsoft Windows desktop. Currently, the main goal of COM and OLE is to expedite collaboration-
and information-sharing among applications using the same desktop, largely through user manipulation of visual elements (for
example, drag-and-drop, cut-and-paste).
From a CORBA point of view, an object is an independent component providing a related set of behaviors. An object is expected
to be available transparently to any CORBA client regardless of the location (or implementation) of either the object or the
client. Most CORBA objects focus on distributed control in a heterogeneous environment. Historically, the typical domain of
a CORBA object is an arbitrarily scalable distributed network. In its current form, the main goal of CORBA is to allow these
independent components to be shared among a wide variety of applications (and other objects), any of which may be otherwise
unrelated.
Of course, CORBA is already used to define desktop objects, and COM can be extended to work over a network. Also, both models
are growing and evolving, and will probably overlap in functionally in the future. Therefore, a good interworking model must
map the functionality of two systems to each other while preserving the flavor of each system as it is typically presented
to a developer.
The most obvious similarity between these two systems is that they are both based architecturally on objects. The Interworking
Object Model describes the overlap between the features of the CORBA and COM object models, and how the common features map
between the two models.
Figure 17-1 Interworking Object Model