Previous | Table of Contents | Next |
The purpose of the Interworking architecture is to specify support for two-way communication between CORBA objects and COM
objects. The goal is that objects from one object model should be able to be viewed as if they existed in the other object
model. For example, a client working in a CORBA model should be able to view a COM object as if it were a CORBA object. Likewise,
a client working in a COM object model should be able to view a CORBA object as if it were a COM object.
There are many similarities between the two systems. In particular, both are centered around the idea that an object is a
discrete unit of functionality that presents its behavior through a set of fully-described interfaces. Each system hides the
details of implementation from its clients. To a large extent COM and CORBA are semantically isomorphic. Much of the COM/CORBA
Interworking specification simply involves a mapping of the syntax, structure and facilities of each to the other — a straightforward
task.
There are, however, differences in the CORBA and COM object models. COM and CORBA each have a different way of describing
what an object is, how it is typically used, and how the components of the object model are organized. Even among largely
isomorphic elements, these differences raise a number of issues as to how to provide the most transparent mapping.