SUMMARY

Interoperability of COM/DCOM objects with CORBA objects by using DCOM/CORBA Bridge and their performance analysis

By Qi Wang

Distributed objects are self-managing and mobile components, or objects, that can interoperate across disparate networks and operating system. They promise to transform today's monolithic client/server applications into more manageable, re-usable, and self-configurable components.

The key players in Distributed Objects standard are CORBA from OMG and COM/DCOM from Microsoft Co. Objects using CORBA can not directly interwork with the objects that are based on COM/DCOM architecture, and vice versa.

In 1997, several distributed object vendors worked with OMG to write the COM/CORBA Interworking Specification part A, part B. These two specifications specify the COM/CORBA interworking architecture (See figure 1).

 

Figure 1. The DCOM/CORBA Interworking configuration models in specification part A&B

Recently, software "bridges" have emerged that enable interworking between CORBA objects and COM/DCOM objects.

Some bridges can only map the CORBA objects to the COM/DCOM objects, or vice versa. They do not support interworking. Some bridges actually can only support interworking between the CORBA objects and COM objects; they don't support the interworking between the CORBA objects and DCOM objects.

This project is to analyze the interoperability of COM/DCOM objects with CORBA objects by using IONA's COMet 1.0c DCOM/CORBA Bridge under different situations according to the COM/CORBA Interworking Specification, and analysis their performance in those situations (See fig 1). Here's the result:

CORBA Server

DCOM Server

 

 

CORBA Client

Client & server on one machine:

3.095ms

Client, server & bridge on one machine:

250.61ms

Client & server on different machines:

3.294ms

Server & bridge on one machine, client on another machine :

250.62ms

 

 

 

 

 

 

DCOM Client

Client, server & bridge on one machine:

5.037ms

Client & server on one machine: 0.160ms

Client & bridge on one machine, server on another machine :

5.097ms

Server & bridge on one machine, client on another machine :

4.947ms

Client & server on different machines:

1.122ms

Client, server & bridge on different machines :

5.097ms

 

Table 1. System analysis results

From table 1, you can see that the COMet 1.0c works perfectly when the DCOM client talks with the CORBA server. They can talk to each other via IIOP, DCOM, or IIOP and DCOM. You can pass the string, double, long data type back and forth without any problem.

The COMet1.0c has some problems when the CORBA client talks with the DCOM server. They can only talk to each other via IIOP. They can't talk to each other via DCOM or IIOP and DCOM. This is not good according to COM/CORBA interworking specification part A & part B.

 

 

The complete report is given here.

For questions, please contact Wendy (Qi) Wang at qi_wang@hotmail.com